sanmiguella/THM-writeup

GitHub: sanmiguella/THM-writeup

这是一套基于 TryHackMe 实验室的实战攻防写照,汇总真实攻击链与工具用法供复现与学习。

Stars: 0 | Forks: 0

# 🔐 TryHackMe Writeups [![Platform](https://img.shields.io/badge/Platform-TryHackMe-red?style=for-the-badge&logo=tryhackme)](https://tryhackme.com) [![Boxes](https://img.shields.io/badge/Boxes-34-blueviolet?style=for-the-badge)]() [![Focus](https://img.shields.io/badge/Focus-Realistic_Chains-informational?style=for-the-badge)] TryHackMe 房间的 Writeup。重点侧重于方法论、真实的攻击链,以及理解每一步背后的*原因*——而不仅仅是堆砌命令。作为专业实战工作之间的个人参考而编写。 每份 Writeup 涵盖:enumeration → initial access → privilege escalation,并附带 ASCII 攻击链图、核心要点、使用的工具以及捕获的 flag。 ## 📋 目录 - [📁 索引](#-index) - [🤖 通用 Agent](#-generic-agents) - [🗂️ 结构](#%EF%B8%8F-structure) - [⚙️ 方法论](#%EF%B8%8F-methodology) - [📋 命令参考](#-command-reference) - [⚠️ 免责声明](#%EF%B8%8F-disclaimer) ## 📁 索引 | 房间 | 难度 | 操作系统 | 关键技术 | |---|---|---|---| | [All in One](./allinone/) | Easy | Linux | Vigenère 密码解码,WordPress 主题编辑器 RCE,恶意插件上传,cron 全局可写脚本劫持,/etc/passwd 后门,sudo socat,LXD 组滥用 | | [Archangel](./archangel/) | Easy | Linux | 通过邮件泄露发现 Vhost,LFI 过滤器绕过,PHP filter chain RCE,cron 全局可写脚本,PATH 劫持 SUID 二进制文件 | | [Blueprint](./blueprint/) | Easy | Windows | 未修补服务漏洞利用,hash dump,pass-the-hash | | [The Cheese Shop](./cheese/) | Easy | Linux | SQLi OR 过滤器绕过,通过 php://filter 进行 LFI,PHP filter chain RCE,SUID xxd privesc | | [Chill Hack](./chill/) | Easy | Linux | 命令注入 + 黑名单绕过,steganography,Docker 组滥用 | | [ColddBox: Easy](./colddbox/) | Easy | Linux | WPScan,reversePress,lxd privesc | | [Creative](./creative/) | Easy | Linux | SSRF,path traversal,SSH 密钥滥用 | | [CyberLens](./cyberlens/) | Easy | Windows | Apache Tika RCE,AlwaysInstallElevated | | [Dav](./dav/) | Easy | Linux | WebDAV 默认凭据,通过 PUT 上传 PHP shell,sudo cat 任意读取 | | [Gaming Server](./gamingServer/) | Easy | Linux | LFI,SSH 密钥泄露,lxd privesc | | [IDE](./ide/) | Easy | Linux | 匿名 FTP,Codiad 2.8.4 RCE (CVE-2018-14009),可写 systemd 服务 | | [Jack-of-all-trades](./jack/) | Easy | Linux | 互换端口,多层编码,steganography,SUID strings 任意文件读取 | | [Lazy Admin](./lazyadmin/) | Easy | Linux | SweetRice CMS exploit,sudo 备份脚本滥用 | | [Magician](./magician/) | Medium | Linux | ImageTragick CVE-2016-3714 RCE,curl file:// SSRF exfil,SSRF 到本地 Flask oracle,CVE-2021-3493 OverlayFS LPE | | [Lian Yu](./lianyu/) | Easy | Linux | FTP enumeration,steganography,sudo pkexec | | [mKingdom](./mkingdom/) | Easy | Linux | Concrete5 默认凭据,PHP webshell,/etc/hosts 投毒,cron HTTP 劫持 | | [Mustacchio](./Mustacchio/) | Easy | Linux | XXE injection,SSH 密钥破解,sudo 路径劫持 | | [Overpass 3: Hosting](./overpass3/) | Medium | Linux | GPG 凭据泄露,FTP webroot 上传,NFS no_root_squash | | [Pyrat](./pyrat/) | Easy | Linux | Python eval RCE,git 历史记录凭据泄露 | | [Publisher](./publisher/) | Easy | Linux | SPIP CVE-2023-27372 RCE,SSH 密钥泄露,通过 at 绕过 AppArmor | | [RootMe](./rootme/) | Easy | Linux | 文件上传绕过,SUID Python privesc | | [Service](./service/) | Easy | Linux | Docker 滥用,服务配置错误 | | [Soupedecode](./soupedecode/) | Medium | Windows | 访客 SMB RID 循环,username=password spray,Kerberoasting,机器账户 Pass-the-Hash | | [Silver Platter](./silverplatter/) | Easy | Linux | Silverpeas CVE,lateral movement,sudoers 配置错误 | | [Source](./source/) | Easy | Linux | Webmin CVE-2019-15107 预认证 RCE | | [Thompson](./thompson/) | Easy | Linux | Tomcat Manager 默认凭据,WAR 上传,cron 脚本投毒 | | [Tomghost](./tomghost/) | Easy | Linux | Ghostcat (CVE-2020-1938),GPG 密钥破解,zip2john | | [U.A. High School](./ua/) | Easy | Linux | PHP RCE,base64 凭据泄露,sudo env 滥用 | | [VulnNet: Internal](./vulnnet-internal/) | Easy | Linux | Redis RCE,SMB enumeration,TeamCity privesc | | [VulnNet: Node](./vulnnet-node/) | Easy | Linux | node-serialize 反序列化 RCE,npm sudo 滥用,可写 systemd 服务 | | [VulnNet: Roasted](./vulnnet-roasted/) | Easy | Windows | AS-REP roasting,Kerberoasting,DCSync | | [VulnNet Entertainment](./vulnnet-entertainment/) | Medium | Linux | JS bundle 子域名泄露,通过 php://filter 进行 LFI,ClipBucket 4.0 文件上传 RCE,SSH 备份破解,tar 通配符注入 | | [Wgel CTF](./wgel/) | Easy | Linux | 通过 Web 目录暴露的 SSH 密钥,sudo wget 覆盖 /etc/passwd | | [Whiterose](./whiterose/) | Easy | Linux | IDOR,EJS 原型污染 RCE (CVE-2022-29078),sudoedit 绕过 (CVE-2023-22809) | ## 🤖 通用 Agent [`generic-agents/`](./generic-agents/) 文件夹是一个即插即用的多 agent 框架,专为 TryHackMe 和 CTF 实战而构建,基于 [Claude Code](https://claude.ai/code) 开发。将该文件夹放入工作目录,打开 Claude Code,这些 agent 就会自动协同工作——将每个任务路由给合适的专家,而无需你考虑该调用哪一个。 ### 工作原理 每个任务都会经过 **Coordinator**,它会读取你的输入,对其进行分类,并调用正确的 agent。你永远不需要直接调用子 agent。输入一个 IP,它就会启动侦察。说一句“拿到 shell 了”,它会询问是 Linux 还是 Windows,然后交接给正确的 privesc agent。说一句“writeup”,整个发布 pipeline 就会端到端运行。 当 [HexStrike MCP](./generic-agents/hexstrike-agent.md) 在本地(端口 8888)运行时,coordinator 会将侦察、Web enumeration、privesc、破解、Web 漏洞、stego 和 forensics 路由通过它——一次调用即可使用 150 多种工具。当它不可用时,会自动回退到各个单独的专家 agent。 ### 快速开始 **1. 复制该文件夹**到你的 CTF 工作目录: ``` cp -r generic-agents/ ~/your-ctf-dir/ cd ~/your-ctf-dir/ ``` **2. 编辑 [`USER-CONFIG.md`](./generic-agents/USER-CONFIG.md)** — 这是你唯一需要修改的文件: ``` WRITEUP_REPO_URL: https://github.com/YOUR_GITHUB_USERNAME/THM-writeup COMMANDS_RAW_URL: https://raw.githubusercontent.com/YOUR_GITHUB_USERNAME/THM-writeup/main/COMMANDS.md SECLISTS_PATH: ~/SecLists ``` 将 `YOUR_GITHUB_USERNAME` 替换为你的 GitHub 用户名。将 `SECLISTS_PATH` 设置为你的机器上安装 SecLists 的路径(例如在 Kali 上为 `/usr/share/seclists`)。 **3. 创建字典符号链接**(在你的工作目录中运行一次): ``` ln -sf ~/SecLists/Discovery/DNS/ DNS ln -sf ~/SecLists/Passwords/ Passwords ln -sf ~/SecLists/Usernames/ Usernames ln -sf ~/SecLists/Discovery/Web-Content/ Web-Content ln -sf /etc/hosts hosts ``` **4. 在该目录中打开 Claude Code** 并启动一个会话。该框架在首次运行时会自动进行初始化配置。 ### Agent 名单 | Agent | 触发条件 | 功能描述 | |---|---|---| | [Coordinator](./generic-agents/coordinator-agent.md) | 任何输入 — 入口点 | 读取输入,对任务进行分类,路由到正确的 agent。从不直接调用子 agent。 | | [HexStrike](./generic-agents/hexstrike-agent.md) | IP,URL,hash,“shell”,二进制文件,OSINT *(MCP 启动)* | HexStrike MCP 运行时的主要 agent。作为 stdio MCP 服务器 (`/usr/bin/hexstrike_mcp`) 注册 — 工具显示为 `mcp__hexstrike__*`。调用 150 多种工具:rustscan、nmap、feroxuster、nuclei、linpeas/winpeas、hashcat、ghidra、volatility、shodan 等。 | | [Recon](./generic-agents/recon-agent.md) | IP 或主机名 *(MCP 关闭)* | 通过 nmap 进行完整的 TCP connect 扫描 + top 200 UDP 端口扫描。输出开放端口和服务版本。 | | [ffuf](./generic-agents/ffuf-agent.md) | 发现 URL、Web 端口 *(MCP 关闭)* | 目录和文件 enumeration。处理 vhost 模糊测试和扩展名扫描。 | | [Brainstorm](./generic-agents/brainstorm-agent.md) | 侦察输出,“卡住了”,“下一步怎么办” | 自动读取 `box-state.md` 以获取完整的会上文下文,然后对发现结果进行推理,并展示最有希望的攻击路径。始终可用,在每次侦察后运行。 | | [LinPrivesc](./generic-agents/linprivesc-agent.md) | “shell” + Linux *(MCP 关闭)* | 运行完整的 Linux privesc 检查清单:sudo、SUID、cron、可写路径、capabilities、服务。 | | [WinPrivesc](./generic-agents/winprivesc-agent.md) | “shell” + Windows *(MCP 关闭)* | Windows privesc:token 滥用、未加引号的路径、AlwaysInstallElevated、计划任务、凭据搜寻。 | | [Payload](./generic-agents/payload-agent.md) | LHOST + LPORT,“reverse shell”,“web shell” | 生成 reverse shell、web shell 和 msfvenom payload。始终可用 — HexStrike 不负责此项工作。 | | [Cracking](./generic-agents/cracking-agent.md) | Hash,“crack”,凭据文件 *(MCP 关闭)* | 识别 hash 类型,选择正确的 hashcat 模式或 john 规则,处理 SSH/zip/KeePass 提取。 | | [Exploit Scripting](./generic-agents/exploit-scripting-agent.md) | CVE ID,“写一个 exploit” | 根据 CVE 或漏洞描述编写 Python 3 exploit 脚本。始终可用。 | | [OWASP Top 10](./generic-agents/owasp-top-10-agent.md) | “OWASP”,XSS/SSRF/IDOR/injection *(MCP 关闭或链式调用)* | 全面的 OWASP Top 10:2025 分析和漏洞利用。也可以在 HexStrike 之后链式调用,用于深度手动绕过逻辑。 | | [GTFOBins](./generic-agents/gtfo-agent.md) | 二进制文件名 + privesc 上下文 | 查找任何 Unix 二进制文件的 shell escapes、文件读/写、SUID、sudo 和 capability 滥用。始终可用。 | | [SearchSploit](./generic-agents/searchsploit-agent.md) | 服务 + 版本,“find exploit” | 搜索 Exploit-DB,评估匹配结果,针对目标调整 exploit。始终可用。 | | [CTF Commands](./generic-agents/ctf-commands-agent.md) | “怎么做”,“命令用于”,技术名称 | 每次调用时都会从你的代码库中获取实时的 `COMMANDS.md`,并返回精准的、充满上下文且可直接运行的命令。 | | [THM Writeup](./generic-agents/THM-WRITEUP-AGENT.md) | “writeup”,靶机完成 | 生成完整的 writeup,运行标准合规性检查,审计 `COMMANDS.md`,更新代码库索引,并一次性提交所有内容。支持双路径 writeup — 在编写之前会提示该靶机是通过 Human+AI Assisted(人工+AI 辅助)路径、完全 Autonomous AI(自主 AI)路径还是同时通过这两种路径解决的,并据此构建 writeup 结构。 | ##🗂️ 结构 每个房间都位于其独立的文件夹中,其中包含遵循统一格式的 `README.md` writeup: ``` THM-writeup/ ├── / │ └── README.md ← full writeup ├── Exploit-Scripts/ │ └── ... ← exploit scripts written during engagements ├── Powershell-Scripts/ │ └── ... ← PowerShell utility scripts ├── generic-agents/ │ └── ... ← reusable Claude agent definitions (open for anyone to use) ├── COMMANDS.md ← personal command cheatsheet └── README.md ← this file ``` ## ⚙️ 方法论 每个 writeup 都遵循相同的骨架结构: 1. **Enumeration** — 端口扫描 (TCP + UDP),目录/vhost 暴力破解,服务指纹识别 2. **Initial Access** — 漏洞利用,并在相关处提供完整的请求/响应上下文 3. **Privilege Escalation** — 从立足点到 root,并记录 sudo/SUID/capability 检查 4. **Attack Chain** — 完整攻击链的 ASCII 图表 5. **Key Takeaways** — 该靶机所教授的内容,及其在真实 engagements 中的重要性 6. **MITRE ATT&CK Mapping** — 将技术映射到 ATT&CK 战术和 ID 7. **Tools Used** — engagement 期间使用的每个工具的表格 8. **Flags** — 捕获的 flag 值 ## 📋 命令参考 在侦察、enumeration、漏洞利用和后漏洞利用阶段常用到的命令已记录在 [COMMANDS.md](./COMMANDS.md) 中。涵盖 nmap、ffuf、wpscan、cadaver、sqlmap、通过 `php://filter` 进行的 LFI 和 PHP filter chain RCE、SMB/NFS/Redis enumeration、Tomcat WAR deployment、GPG decryption、hash 破解(从 MD5 到 Kerberoasting)、steganography、shell 稳定化,以及 Linux/Windows 权限提升。 ## ⚠️ 免责声明 此处记录的所有活动均仅在 TryHackMe 隔离的实验室环境中进行。这些 writeup 仅供教育目的和个人参考之用。
标签:CISA项目, TryHackMe, Web报告查看器, 协议分析, 安全笔记, 权限提升, 漏洞利用, 网络安全, 隐私保护, 靶机渗透