DC:7
字数 1517 2025-08-19 12:41:24

DC-7 靶机渗透测试教学文档

一、靶机概述

DC-7 是一个基于 Drupal CMS 的 Vulnhub 靶机,主要考察以下技能:

  • 信息收集与社工技巧
  • Drupal 系统管理 (Drush 工具使用)
  • 权限提升技术
  • 文件权限利用

二、环境准备

攻击机配置

  • IP: 192.168.44.133
  • 工具要求:
    • nmap/arp-scan
    • dirsearch/dirb/gobuster
    • netcat
    • 浏览器

靶机配置

  • 下载地址: https://www.vulnhub.com/entry/dc-7,356/
  • 默认IP: 192.168.44.146
  • 开放服务:
    • SSH (22)
    • HTTP (80, Drupal)

三、渗透测试流程

1. 信息收集阶段

主机发现

nmap -sn 192.168.44.0/24
# 或
arp-scan -I eth0 -l

端口扫描

nmap -sV -p- 192.168.44.146

预期结果: 22(SSH), 80(HTTP/Drupal)

Web目录扫描

dirsearch -u http://192.168.44.146

关键发现: robots.txt 中有提示信息

2. Web应用分析

首页提示

  • 明确说明不要使用暴力破解/字典攻击
  • 建议使用"靶机之外的技术"(CTF风格)

robots.txt 分析

访问 http://192.168.44.146/robots.txt 发现 /filter/tips 文件

/filter/tips 分析

  • 包含HTML标签内容
  • 重点检查 <strong> 标签中的作者信息

3. 社工技巧利用

  1. <strong> 标签获取作者信息
  2. 在GitHub搜索该作者
  3. 找到靶机后端源码仓库
  4. 在config文件中发现账号密码:
    • 用户名: dc7user
    • 密码: [从config文件中获取]

4. 初始访问

尝试使用找到的凭据:

  1. Web登录失败
  2. SSH登录成功:
ssh dc7user@192.168.44.146

5. 权限提升路径

信息收集

  • 检查用户邮箱 /var/mail/dc7user
  • 发现root发送的邮件,提及:
    • 一个shell脚本文件
    • 该脚本属于root:www-data
    • 当前用户组(dc7-user)无写权限

Drush工具利用

Drush是Drupal的命令行管理工具,关键命令:

用户管理

drush user-password admin --password="newpassword"  # 修改管理员密码
drush user-information username  # 查看用户信息
drush ucrt username --password="password"  # 创建用户

模块管理

drush pm-list  # 列出模块
drush pm-enable module_name  # 启用模块
drush pm-disable module_name  # 禁用模块

数据库管理

drush sql-dump > backup.sql  # 数据库备份
drush sqlc < backup.sql  # 数据库恢复

缓存管理

drush cc all  # 清除所有缓存

提权步骤

  1. 修改Drupal管理员密码:
cd /var/www/html
drush user-password admin --password="newpassword"
  1. Web登录Drupal后台

  2. 尝试获取Web Shell:

    • 理想方式: 安装PHP模块编辑PHP代码
    • 但靶机可能无法安装插件(已知问题)
  3. 替代方案:

    • 利用www-data权限修改脚本文件
    • 通过Drush执行系统命令
  4. 最终提权:

    • 修改root拥有的脚本文件(需www-data权限)
    • 插入反弹shell代码
    • 等待root执行脚本获取root权限

6. 获取Flag

  1. 直接方法(如靶机允许):
su root
# 输入更新后的root密码
  1. 查找flag文件:
find / -name "*flag*" -type f 2>/dev/null

四、关键知识点总结

  1. 信息收集深度:

    • 不局限于常规扫描,注意HTML注释/标签内容
    • 合理利用社工技巧(GitHub源码搜索)
  2. Drush工具使用:

    • 强大的Drupal管理功能
    • 可作为权限提升的跳板
  3. 文件权限利用:

    • 注意setuid文件和可写脚本
    • 利用邮件内容获取线索
  4. 提权思路:

    • 从Web用户(dc7user) → www-data → root
    • 利用Drupal管理功能作为中间步骤

五、故障排除

如遇到PHP模块无法安装问题,参考:
https://www.freebuf.com/vuls/326359.html

六、防御建议

  1. 对Drupal系统:

    • 定期更新Drupal核心和模块
    • 限制Drush命令的执行权限
    • 监控config文件的访问
  2. 服务器层面:

    • 合理设置文件权限
    • 避免在配置文件中存储明文密码
    • 限制SSH访问IP
  3. 开发层面:

    • 不要在公开代码库中包含真实凭据
    • 使用环境变量存储敏感信息
DC-7 靶机渗透测试教学文档 一、靶机概述 DC-7 是一个基于 Drupal CMS 的 Vulnhub 靶机,主要考察以下技能: 信息收集与社工技巧 Drupal 系统管理 (Drush 工具使用) 权限提升技术 文件权限利用 二、环境准备 攻击机配置 IP: 192.168.44.133 工具要求: nmap/arp-scan dirsearch/dirb/gobuster netcat 浏览器 靶机配置 下载地址: https://www.vulnhub.com/entry/dc-7,356/ 默认IP: 192.168.44.146 开放服务: SSH (22) HTTP (80, Drupal) 三、渗透测试流程 1. 信息收集阶段 主机发现 端口扫描 预期结果: 22(SSH), 80(HTTP/Drupal) Web目录扫描 关键发现: robots.txt 中有提示信息 2. Web应用分析 首页提示 明确说明不要使用暴力破解/字典攻击 建议使用"靶机之外的技术"(CTF风格) robots.txt 分析 访问 http://192.168.44.146/robots.txt 发现 /filter/tips 文件 /filter/tips 分析 包含HTML标签内容 重点检查 <strong> 标签中的作者信息 3. 社工技巧利用 从 <strong> 标签获取作者信息 在GitHub搜索该作者 找到靶机后端源码仓库 在config文件中发现账号密码: 用户名: dc7user 密码: [ 从config文件中获取 ] 4. 初始访问 尝试使用找到的凭据: Web登录失败 SSH登录成功: 5. 权限提升路径 信息收集 检查用户邮箱 /var/mail/dc7user 发现root发送的邮件,提及: 一个shell脚本文件 该脚本属于root:www-data 当前用户组(dc7-user)无写权限 Drush工具利用 Drush是Drupal的命令行管理工具,关键命令: 用户管理 模块管理 数据库管理 缓存管理 提权步骤 修改Drupal管理员密码: Web登录Drupal后台 尝试获取Web Shell: 理想方式: 安装PHP模块编辑PHP代码 但靶机可能无法安装插件(已知问题) 替代方案: 利用www-data权限修改脚本文件 通过Drush执行系统命令 最终提权: 修改root拥有的脚本文件(需www-data权限) 插入反弹shell代码 等待root执行脚本获取root权限 6. 获取Flag 直接方法(如靶机允许): 查找flag文件: 四、关键知识点总结 信息收集深度 : 不局限于常规扫描,注意HTML注释/标签内容 合理利用社工技巧(GitHub源码搜索) Drush工具使用 : 强大的Drupal管理功能 可作为权限提升的跳板 文件权限利用 : 注意setuid文件和可写脚本 利用邮件内容获取线索 提权思路 : 从Web用户(dc7user) → www-data → root 利用Drupal管理功能作为中间步骤 五、故障排除 如遇到PHP模块无法安装问题,参考: https://www.freebuf.com/vuls/326359.html 六、防御建议 对Drupal系统: 定期更新Drupal核心和模块 限制Drush命令的执行权限 监控config文件的访问 服务器层面: 合理设置文件权限 避免在配置文件中存储明文密码 限制SSH访问IP 开发层面: 不要在公开代码库中包含真实凭据 使用环境变量存储敏感信息