fbm31/Audit-BlackBox-Web-to-Root

GitHub: fbm31/Audit-BlackBox-Web-to-Root

一份完整的Drupal 7黑盒渗透测试报告,演示从SQL注入到Root提权的完整Kill Chain及修复方案。

Stars: 0 | Forks: 0

# 渗透测试实验室:Web 与系统利用链(Drupal to Root) ## 免责声明 本项目是在**受控且隔离的实验室环境**中进行的,旨在用于教育和学术目的。未针对任何真实基础设施。目标是通过理解攻击机制来学习如何保护系统。 ## 工作环境与目标 ### 场景 本项目的目标是执行一次**黑盒审计**。这意味着分析在没有任何关于目标的先验知识的情况下开始:未提供任何凭据、技术文档或源代码。 ### 实验室架构 基础设施在 **VMware** 中以隔离的专用网络部署,以避免与外界发生任何交互。 * **攻击机:** `192.168.78.131` * 工具:Nmap, Python, Netcat, John the Ripper。 * **目标机:** `192.168.78.132` * 操作系统:Linux (Debian)。 * 初始状态:未知。 ## 第一阶段:侦察与定位 第一步是利用端口扫描来绘制目标机的攻击面。 **执行的命令:** `nmap -sV 192.168.78.132` ![Nmap Scan](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/599cab9f43184502.png) **识别出的服务:** * **端口 22 (TCP) :** SSH (OpenSSH 6.0p1)。 * **端口 80 (TCP) :** HTTP 服务器 (Apache 2.2.22)。 * **端口 111 (TCP) :** rpcbind。 对 Web 服务(端口 80)和 `robots.txt` 文件的分析揭示了 CMS **Drupal** 的存在。通过检查源代码,确定了一个已过时的版本:**Drupal 7.x**。 ## 漏洞分析 侦察阶段的结果突显了一个关键的攻击面:一个不再维护的 **Drupal 7** CMS。该版本历史上已知存在重大安全漏洞(特别是 "Drupalgeddon")。 面对这一情况,审计转向了对公开漏洞(CVE)的针对性搜索。此次枚举确认了一条完整利用链的存在,使得从一名普通 Web 访问者晋升为 "Root" 系统管理员成为可能。 **识别出的攻击向量:** 1. **Web:** SQL 注入 (CVE-2014-3704)。 2. **应用层:** "PHP Filter" 模块配置不当。 3. **系统:** 系统二进制文件上危险的 SUID 权限。 ## 漏洞利用 ### 步骤 1:初始入侵 利用 **CVE-2014-3704 (Drupalgeddon)** 漏洞。Drupal 数据库 API 中的此漏洞允许在未经身份验证的情况下注入 SQL 命令。 * **操作:** 向 `users` 表中注入一个具有管理员权限的新用户。 * **结果:** 获得 CMS 管理面板的访问权限。 ![Exploit SQLi](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/0c8c2d78a3184503.png) **[获取 Python 脚本](script/exploit-drupal-cve-2014-3704.py)** ### 步骤 2:代码执行 (RCE & Reverse Shell) 以管理员身份登录后,利用原生模块 **PHP Filter**。该模块配置不当,允许在网站页面中执行任意 PHP 代码。 * **Payload:** `` * **结果:** 在 Kali 机器上获得一个远程 shell(用户 `www-data`)。 ![Reverse Shell](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/9ca3bd395a184504.png) ### 步骤 3:权限提升 分析拥有 **SUID** (Set User ID) 权限的文件。发现 `find` 命令上存在一个关键配置。 * **提权命令:** `find . -exec '/bin/sh' \;` * **结果:** `find` 二进制文件以 root 身份运行,启动了一个具有 **Root (uid=0)** 权限的 shell。 ## 步骤 4:后渗透 获得 root 访问权限后,读取敏感文件 `/etc/shadow` 以提取用户密码哈希值。 * **操作:** 使用 **John the Ripper** 通过字典攻击破解 SHA-512 哈希。 * **结果:** 恢复 root/用户密码(复杂度低),从而在系统中实现持久化。 ![Reverse Shell](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/66b2cc39a2184505.png) ## 总结 审计显示风险等级为 **严重**。过时的 CMS 与系统配置疏忽(SUID)相结合,导致了服务器的彻底沦陷。 **对企业的影响:** * **机密性:** 可能导致客户数据库和系统文件(`/etc/shadow`)被窃取。 * **完整性:** 网站数据可能被修改或彻底删除。 * **可用性:** 存在被破坏或服务中断的风险。 **优先行动计划:** 1. **更新:** 将 Drupal 迁移到最新的稳定版本以修复 SQLi 漏洞。 2. **系统加固:** 移除非必要可执行文件的 SUID 位(`chmod u-s /usr/bin/find`)。 3. **最小权限原则:** 如果非严格必要,禁用 *PHP Filter* 模块。 ## 文档 有关完整的技术细节、使用的脚本和深入分析,请参阅完整报告: **[阅读审计报告 (PDF)](rapport/Rapport_Audit_Moine_Fabien.pdf)** ## 作者 **Fabien MOINE**
标签:Apache, CISA项目, CSV导出, CTI, CVE-2014-3704, Drupal 7, Drupalgeddon, Kill Chain, Nmap, OPA, PE 加载器, PNNL实验室, RCE, SUID提权, Web安全, Web报告查看器, 协议分析, 反弹Shell, 子域名枚举, 密码管理, 技术报告, 数据统计, 权限提升, 漏洞修复, 漏洞复现, 端口扫描, 系统安全, 编程工具, 网络安全, 网络安全培训, 蓝队分析, 虚拟驱动器, 远程代码执行, 逆向工具, 隐私保护, 靶场, 黑盒测试