makhansingh2026/vulnhub-CTF-pentest

GitHub: makhansingh2026/vulnhub-CTF-pentest

一份针对四个VulnHub CTF靶机的完整黑盒渗透测试报告,记录从侦察到权限提升的全流程,并将所有发现映射到CVE和CWE漏洞分类标准。

Stars: 0 | Forks: 0

# CTF 渗透测试报告 这是一份黑盒渗透测试报告,作为 Seneca Polytechnic **RIS430 — 漏洞与威胁分析** 课程的一部分,在受控实验室环境中对四个目标进行了黑盒渗透测试。本报告记录了针对四台 intentionally vulnerable(故意存在漏洞的)虚拟机的完整攻击生命周期(侦察 → 枚举 → 利用 → 权限提升),并将每个发现映射到相关的 CVE 或 CWE 分类,同时提供了命令行证据和截图支持。 ![网络拓扑](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/3e358aff98203736.png) ## 概览 | 指标 | 值 | | --- | --- | | 已攻陷目标 | 4 / 4 | | 获取 Root 或管理员权限比例 | 100% | | 利用的 CVE 数量 | 5 | | 演示的 CWE 漏洞数 | 11 | | 方法论 | 侦察 → 枚举 → 漏洞利用 → 权限提升 | ## 目标 | # | 目标 | IP | 初始访问 | 权限提升 | | --- | --- | --- | --- | --- | | 1 | [NOOB: 1](writeups/01-noob.md) | 10.0.0.176/24 | 匿名 FTP → Base64 凭据 → Web 登录 → 隐写术 → ROT13 → SSH | 无限制 sudo | | 2 | [Empire: Breakout](writeups/02-empire-breakout.md) | 10.0.0.38/24 | HTML 中的 Brainfuck 编码密码 + SMB 用户枚举 → Usermin | tar `cap_dac_read_search` → root 密码泄露 | | 3 | [Hack Me Please: 1](writeups/03-hack-me-please.md) | 10.0.0.97/24 | 隐藏的 SeedDMS 路径 → 暴露的 `settings.xml` → MySQL → SQL 管理员密码重置 | CVE-2019-12744 SeedDMS 认证后 RCE | | 4 | [Empire: LupinOne](writeups/04-lupinone.md) | 10.0.0.154/24 | robots.txt → ffuf → Base58 编码的 SSH 密钥 → John (fasttrack) | Sudo Python 模块劫持 → arsene; sudo pip → root | ## 发现的 CVE 和漏洞 **利用的 CVE** - CVE-1999-0497 — 启用了匿名 FTP 访问 - CVE-2022-22719 → CVE-2022-23943 — Apache 2.4.x < 2.4.53 多个漏洞 - CVE-2020-11022 / CVE-2020-11023 — 过期 jQuery 中的 XSS 漏洞 - CVE-2019-12744 — SeedDMS ≤ 5.1.10 认证后 RCE(CWE-434 无限制文件上传) **发现的 CWE 漏洞** - CWE-200 — 敏感信息暴露 - CWE-266 — 权限分配不当 - CWE-312 — 敏感信息明文存储 - CWE-319 — 敏感信息明文传输 - CWE-434 — 危险类型文件无限制上传 - CWE-521 — 弱密码要求 - CWE-538 — 将敏感信息插入外部可访问的文件或目录 - CWE-540 — 源代码中包含敏感信息 - CWE-615 — 源代码注释中包含敏感信息 - CWE-732 — 关键资源权限分配不当 - CWE-798 — 使用硬编码凭据 ## 仓库结构 ``` CTF-Penetration-Test-Report/ ├── README.md <- this file ├── full-report.md <- single-document version of the entire report ├── writeups/ <- per-target writeups │ ├── 00-introduction.md │ ├── 01-noob.md │ ├── 02-empire-breakout.md │ ├── 03-hack-me-please.md │ ├── 04-lupinone.md │ ├── 05-conclusions.md │ ├── 06-references.md │ └── 07-appendices.md ├── images/ │ ├── cover.png │ ├── network-diagram.png │ ├── noob/ │ ├── empire-breakout/ │ ├── hack-me-please/ │ ├── lupinone/ │ └── appendices/ ├── LICENSE <- MIT └── .gitignore ``` ## 方法论 每次测试均遵循相同的严格四阶段方法论: 1. **侦察** — 主机发现(`netdiscover`、ARP 扫描)、Nmap 版本与脚本扫描、识别暴露的服务。 2. **枚举** — 针对特定协议的探测(FTP 列表、SMB 用户枚举、通过 Gobuster/ffuf 进行 Web 内容发现、源代码审查、robots.txt 分析)。 3. **漏洞利用** — 凭据恢复(Base64/Base58 解码、ROT13、John the Ripper)、认证后 RCE(通过 Metasploit php/meterpreter/reverse_tcp 利用 CVE-2019-12744)、凭据复用。 4. **权限提升** — sudoers 审查(`sudo -l`)、Linux capabilities 滥用(tar 上的 `cap_dac_read_search`)、Python 模块劫持(将 `os.system("/bin/bash")` 写入系统级的 `webbrowser.py`)、通过 `setup.py` 以 root 身份调用 `pip install`。 ## 工具 Nmap, netdiscover, FTP, SMB (smbclient, enum4linux), Gobuster, ffuf, steghide, John the Ripper (`ssh2john`), Metasploit (msfconsole, multi/handler, php/meterpreter/reverse_tcp), SearchSploit, MySQL CLI, LinPEAS, wget, Python (`http.server`, `pty.spawn`), pip, base58/base64 工具。 ## 阅读顺序 若要快速阅读单个目标的渗透过程,可以直接跳转到上方表格中链接的 writeup。若要按连贯的顺序阅读,请从 [`writeups/00-introduction.md`](writeups/00-introduction.md) 开始,依次阅读 `01-noob.md` → `02-empire-breakout.md` → `03-hack-me-please.md` → `04-lupinone.md` → `05-conclusions.md`。完整报告也可在单文件 [`full-report.md`](full-report.md) 中查看。 ## 作者 **Makhan Singh** — 网络安全技术学士(多伦多 Seneca Polytechnic) RIS430 — 漏洞与威胁分析,Hamed Haddadpajouh 教授 学号 129224234 · `msingh827@myseneca.ca` ## 免责声明 所有测试均针对发布在 [VulnHub](https://www.vulnhub.com/) 上的故意设置漏洞的虚拟机进行,并在隔离的实验室网络中运行。在此次测试中,未针对任何生产系统进行攻击,也未访问任何生产数据。本材料仅出于教育目的发布。 ## 许可证 本仓库基于 [MIT License](LICENSE) 发布。
标签:CTI, CVE, VulnHub, Web安全, Web报告查看器, 信息安全管理, 协议分析, 反取证, 安全报告, 安全评估, 安全课程设计, 插件系统, 攻击模拟, 数字签名, 数据展示, 权限提升, 漏洞分析, 红队, 网络安全, 网络安全审计, 网络安全教学, 蓝队分析, 路径探测, 逆向工具, 隐私保护, 驱动签名利用, 黑盒测试