tylerbcrawford/rekall-penetration-testing

GitHub: tylerbcrawford/rekall-penetration-testing

一份针对虚构企业的完整渗透测试报告项目,演示了从 Web 漏洞到域控制器沦陷的多阶段攻击链及修复方案。

Stars: 0 | Forks: 0

![Kali Linux](https://img.shields.io/badge/Kali_Linux-557C94?style=flat&logo=kalilinux&logoColor=white) ![Metasploit](https://img.shields.io/badge/Metasploit-2596CD?style=flat&logo=metasploit&logoColor=white) ![Burp Suite](https://img.shields.io/badge/Burp_Suite-FF6633?style=flat&logo=burpsuite&logoColor=white) ![Nmap](https://img.shields.io/badge/Nmap-4682B4?style=flat) # Rekall Corporation — 渗透测试项目 针对一家虚构公司的 Web 应用、Linux 服务器和 Windows 服务器进行的为期 3 天的授权渗透测试。三人团队,多伦多大学 (UofT) 网络安全项目 (2024)。 ## 我们的发现 该环境是故意设置漏洞的,但我们发现的这些漏洞模式与后来在 CVE 数据库和 OWASP 报告中引用的真实漏洞模式如出一辙: - **Web 应用上的 SQL injection** — 经典的未过滤输入。我们使用 Burp Suite 映射注入点,并使用 `' OR 1=1 --` payload 绕过了管理员登录。该应用还通过其暴露的数据库泄露了数据。 - **远程代码执行** — 未修补的 Apache Struts (CVE-2017-5638)、Tomcat (CVE-2017-12617) 和 Drupal (CVE-2019-6340)。Metasploit 为每个漏洞都准备了现成的模块。一旦获取了 shell,便可通过 sudo 漏洞 (CVE-2019-14287) 提权至 root。 - **Linux 上的 Shellshock** — 2014 年的 bash 漏洞,仍然存在。Nmap 的脚本引擎标记了它,Metasploit 的 `apache_mod_cgi_bash_env_exec` 模块确认了这一点。 - **Windows 上的弱凭证** — 多个账户使用默认密码和字典密码。John the Ripper 在几分钟内破解了它们。随后,使用 kiwi 模块转储缓存的哈希值,开辟了通往域控制器的路径。 每项发现都导致了系统被攻陷或敏感数据被访问。我们在完整报告中记录了漏洞利用步骤、证据和修复建议。 ## 漏洞利用证据 杀伤链从 Web 应用的立足点延伸到 Linux root,再到 Windows 域控制器。下方展示的凭证和哈希值是来自沙盒环境的合成实验工件。 **1. SQL injection — 在 `Login.php` 上绕过身份验证。** 一个 `' OR 1=1 --` payload 绕过了管理员登录。 ![SQL injection 身份验证绕过](https://static.pigsec.cn/wp-content/uploads/repos/cas/76/761a2261ca71dbb9db1f18b57f4571c12cb2fe4155bbc094e661e85db10e10a5.png) **2. 提权至 root — sudo CVE-2019-14287。** 以 `alice` 用户身份运行 `sudo -u#-1 cat /root/...` 会以 root 权限执行命令,从而绕过 sudoers 策略。 ![Sudo 提权,CVE-2019-14287](https://static.pigsec.cn/wp-content/uploads/repos/cas/a7/a7d4c39b3d9994b64dd3f6f95e166aaecfe7acac243fc8e5043bb207c5f0079d.png) **3. 域控制器被攻陷。** 在域上获取 Meterpreter 会话后,kiwi 模块转储了 `REKALL\ADMBob` 账户的缓存凭证。 ![域控制器缓存凭证转储](https://static.pigsec.cn/wp-content/uploads/repos/cas/f4/f4d84bc8057380a33c332b623b294cdaa6b949a5ac42ea6155dbdbc0cd73a859.png) ## 发现详情 严重程度和修复建议摘自报告自带的漏洞发现卡片。该报告记录了跨 Web 应用、Linux 主机和 Windows 主机共计 21 项发现;以下是核心发现。 | 漏洞 | 严重程度 | 利用方式 | 修复建议 | |------|----------|---------------|-------------| | SQL injection (`Login.php`) | 严重 | `' OR 1=1 --` payload 绕过管理员登录 | 参数化查询和服务器端输入验证 | | 反射型与存储型 XSS | 严重 | 在 `Welcome.php`、`Memory-Planner.php`、`Comments.php` 上进行脚本注入 | 输入验证和输出编码 | | 无限制文件上传 | 高 | `dawn.php.jpg` 在图片上传处绕过扩展名检查 | 使用允许列表扩展名并验证 MIME 类型 | | 管理员访问控制失效 | 严重 | 通过“检查元素”可在页面 HTML 中读取管理员凭证 | 避免将敏感信息放在客户端代码中;通过 HTTPS 提供 | | 敏感数据暴露 | 高 | `robots.txt` 泄露了受限路径和一个 flag | 不要将敏感信息放在公开可访问的文件中 | | 目录遍历 | 中 | DNS 检查输入字段中存在目录遍历 payload | 验证输入;通过路径允许列表解析文件 | | Apache Struts RCE (CVE-2017-5638) | 严重 | Metasploit `struts2_content_type_ognl` | 修补或升级 Apache Struts | | Apache Tomcat RCE (CVE-2017-12617) | 严重 | 远程文件执行进入交互式 shell | 修补或升级 Apache Tomcat | | Shellshock | 严重 | Metasploit `apache_mod_cgi_bash_env_exec`,随后通过 sudoers 获取 root | 修补 Bash | | Drupal RCE (CVE-2019-6340) | 严重 | Metasploit `drupal_restws_unserialize` | 修补或升级 Drupal | | Sudo 提权 (CVE-2019-14287) | 严重 | `sudo -u#-1` 允许用户 `alice` 以 root 身份运行 | 修补 sudo | | 公开 GitHub 上暴露的凭证 | 严重 | OSINT 从公开仓库中恢复了密码哈希值 (`trivera`) | 从仓库中移除敏感信息;轮换凭证 | | 匿名 FTP,端口 21 | 严重 | Windows 10 主机上存在匿名登录 | 禁用匿名 FTP;使用 SFTP 或 FTPS | | 存在漏洞的 SLMail 版本 | 严重 | Metasploit `seattlelab_pass` 返回了一个 Meterpreter shell | 修补或更新 SLMail | | 弱密码 → 域管理员 | 高 | NTLM/MsCacheV2 哈希被 John the Ripper 破解,并通过 kiwi 转储,最终到达域控制器 | 强制执行强密码策略和 MFA | ## 工具 Kali Linux, Metasploit Framework, Burp Suite, Nmap, Nikto, John the Ripper, Hashcat, Recon-ng ## 报告 包含完整发现集合、漏洞利用链和修复步骤的完整渗透测试报告:**[渗透测试报告 (PDF)](Penetration_Test_Report.pdf)** ## 相关项目 关于此项目对应的防御部分——为了检测此类攻击而构建的 Splunk SIEM,请参见 **[vsi-splunk-siem](https://github.com/tylerbcrawford/vsi-splunk-siem)**。 ## 背景 这是多伦多大学 (UofT) 网络安全证书项目的一个毕业设计项目。在沙盒实验室环境中进行的授权测试。
标签:Burp Suite, CISA项目, CTI, Nmap, Web安全, Web报告查看器, 协议分析, 权限提升, 蓝队分析, 虚拟驱动器