UmairAzam20/THM-Anthem
GitHub: UmairAzam20/THM-Anthem
本项目是一份针对 TryHackMe Anthem 靶场的完整渗透测试实战报告,详细记录了从信息收集、漏洞利用到最终实现 Windows 系统提权的全过程。
Stars: 0 | Forks: 0
# THM-Anthem
## 1. 范围与目标定义
**范围声明**
本次漏洞评估在受控的 TryHackMe 实验室环境中针对目标机器“Anthem”(基于 Windows)进行。评估包括全端口扫描、服务枚举、Web 应用程序分析、凭据发现、RDP 漏洞利用和权限提升。不允许进行任何破坏性操作或超出目标的横向移动。
**目标描述**
| 字段 | 值 |
|-------|-------|
| 名称 | Anthem |
| 平台 | TryHackMe (THM) |
| 操作系统 | Windows |
| IP 地址 | `10.49.160.141` |
| 难度 | 简单 |
**合理性分析:**
具有现实 CMS(Umbraco)和 RDP 错误配置的 Windows 目标——在企业环境中很常见。
**简单网络图**
```
[Kali Attack Machine]
IP: (THM VPN assigned)
|
| Port 80 (HTTP)
| Port 3389 (RDP)
|
[Anthem Target]
IP: 10.49.160.141
|
|_ Web: Umbraco CMS (port 80)
|_ Remote Desktop (port 3389)
```
## 2. 方法论、扫描与分析
**步骤 1:初始端口扫描 (Nmap)**
```
nmap -sC -sV -Pn 10.49.160.141
```
* 扫描结果

| 端口 | 状态 | 服务 | 版本 | 潜在风险 | 严重性 |
|:----:|:-----:|---------|---------|----------------|:--------:|
| 80 | 开放 | HTTP | IIS / Umbraco CMS | Web 攻击面;管理面板暴露;潜在的 RCE | 高 |
| 3389 | 开放 | RDP | Microsoft Terminal Services | 暴力破解攻击;凭据重用;BlueKeep (CVE-2019-0708) | 危急 |
**步骤 2:Web 枚举 – robots.txt**
使用 nikto 查找是否存在 robots.txt:

然后使用 curl 进行枚举:
命令:
```
curl http://10.49.160.141/robots.txt
```
输出:
```
User-agent: *
Disallow: /umbraco
Disallow: /content
... (4 entries total)
```
发现:
包含 *UmbracoIsTheBest!*,这似乎是一个密码。

**步骤 3:Web 枚举 – 页面源代码分析**
访问: `http://10.49.160.141`
源代码发现 (Ctrl+U):
在源码中发现的 Flag: `THM{...}`
作者邮箱格式: JD@anthem.com(来自“We Are Hiring”帖子)
* 邮箱格式

* 查看页面源码中的 Flag
*Flag 1*
```
THM{L0L_WH0_US3S_M3T4}
```

*Flag 2*
```
THM{G!T_G00D}
```

*Flag 4*
```
THM{AN0TH3R_M3TA}
```

至于 Flag 3,我们是在页面 Authors/Jane Doe 中发现的
*Flag 3*
```
THM{L0L_WH0_D15}
```

**帖子 1 – "We Are Hiring":**
* 发现邮箱: `JD@anthem.com`
* 在源码中发现 Flag 1 和 2
* 指向作者的链接揭示了 Flag 3
**帖子 2 – "Cheers to Our IT Department":**
* 作者姓名: James Orchard Halliwell
* 诗歌提到了 "Solomon Grundy"
* 在源码中发现 Flag 4
*诗歌*

*通过 Google 搜索该诗歌*

**其他方法**
* 我们也可以使用 `curl -s http://10.49.160.141/robots.txt | grep i- "THM"` 来查找 flag
* 成功找到 3 个 Flag

**步骤 4:凭据发现与验证**
| 用户名 / 邮箱 | 发现的密码 | 有效? |
|------------------------------|----------------------|----------|
| JD@anthem.com | (暂无) | ❌ 否 |
| SG@anthem.com (Solomon Grundy) | UmbracoIsTheBest! | ✅ 是 |
**测试 Web 登录的命令:**
```
# 在 http://10.49.160.141/umbraco 手动浏览器测试
# Credentials: sg@anthem.com : UmbracoIsTheBest!
```
* 成功登录

* 遗憾的是,在 CMS 管理面板中我们找不到任何有用的东西,但我们已经知道了执行下一步所需的用户名和密码。
**步骤 5:初始漏洞假设**
| 发现 | 漏洞假设 | CVSS 评估 |
|---------------------------------------------|-----------------------------------------------------------------------|------------------|
| robots.txt 暴露了 /umbraco 和密码 | 导致凭据重用的信息泄露 | 中 (5.3) |
| RDP 端口 3389 开放且已发现密码 | 弱 RDP 凭据(sg 用户)——横向移动风险 | 高 (7.5) |
| Umbraco CMS 暴露 | 潜在的过时 CMS 具有已知 RCE(如果面向公网) | 危急 (9.0) |
## 3. 漏洞利用与 Flag 获取
**步骤 1 – 使用已发现的凭据进行 RDP 登录:**
使用 xfreerdp3
```
xfreerdp3 /v:10.49.160.141 /u:sg /p:'UmbracoIsTheBest!'
```

或者使用 remmina

**步骤 2 – 捕获用户 Flag:**
* 导航到用户 sg 的桌面
* 文件: `user.txt` 或类似文件

发现 `user.txt` Flag:
```
THM{N00T_NO0T}
```
**步骤 3 – 权限提升 – 隐藏文件:**
* 我们得到了管理员密码被隐藏的提示。
```
# 在 Windows RDP 会话中
# 在 File Explorer 中启用“显示隐藏文件”
# 导航至 C:\backup\
# 文件:restore.txt
```
*步骤 1*

*步骤 2*

*步骤 3*

*步骤 4* - 无法打开

**步骤 4 – 读取 restore.txt(权限修复):**
右键点击 `restore.txt` → 属性 → 安全
添加 `sg` 用户并授予读取权限
* 添加用户

* 授予权限

* 再次打开文件并成功

发现密码: `ChangeMeBaby1MoreTime`
**步骤 5 – Root RDP 登录:**
```
# 转到 This PC 导航至 C:\Users\Administrator
# 填写 Credentials
# 转到 Desktop 文件:root.txt
```
* 进入此电脑并导航到 C:\Users\Administrator

* 填入凭据

* 前往桌面文件: root.txt

捕获 Root Flag:
```
THM{Y0U_4R3_1337}
```
位置:Administrator 桌面
文件: `root.txt`
## 获取的 Flags
| Flag 类型 | 值 | 发现方法 |
|-----------|-------|------------------|
| Flag 1 (源代码) | `THM{L0L_WH0_US3S_M3T4}` | 查看主页源代码/ `curl grep -i` |
| Flag 2 (源代码) | `THM{G!T_G00D}` | 查看博客文章源代码/ `curl grep -i` |
| Flag 3 (源代码) | `THM{L0L_WH0_D15}` | 查看作者链接的源代码 |
| Flag 4 (源代码) | `THM{AN0TH3R_M3TA}` | 查看第二篇博客文章源代码/ `curl grep -i` |
| 用户 Flag | `THM{N00T_NO0T}` | 以 `sg` 用户身份通过 RDP 登录桌面获取 |
| 管理员 Flag (Root) | `THM{Y0U_4R3_1337}` | 权限提升后以 `administrator` 身份通过 RDP 登录桌面获取 |
## 总结
对 TryHackMe 目标“Anthem”(基于 Windows,IP:10.48.128.146)执行了漏洞评估。扫描揭示了开放的端口 80 (HTTP) 和 3389 (RDP)。Nikto 发现了包含密码 `UmbracoIsTheBest!` 的 `/robots.txt`,而手动查看页面源码揭示了邮箱格式和 flags。使用发现的凭据,通过 `sg` 用户获得了 RDP 访问权限并捕获了用户 flag。进一步的枚举发现了隐藏文件 `C:\backup\restore.txt`;修改其权限后读取到了管理员密码 `ChangeMeBaby1MoreTime`。以 `administrator` 身份进行 RDP 访问最终获得了管理员 flag,实现了完整的系统攻陷。
## 使用的工具
| 工具 | 用途 |
|------|---------|
| `nmap -sC -sV -Pn` | 端口扫描和服务版本检测 |
| Nikto | 自动化 Web 扫描以发现 `/robots.txt` |
| `curl \| grep -i` | 检索并搜索 `/robots.txt` 中的凭据 |
| 查看页面源代码 (Ctrl+U) | 发现 HTML 注释中隐藏的 flag |
| xfreerdp3 | 用于 Windows 远程访问的 CLI RDP 客户端 |
| Remmina | 用于可视化枚举的 GUI RDP 客户端 |
| Windows 文件资源管理器(属性) | 用于权限提升的权限修改 |
标签:AES-256, Anthem, BlueKeep, CTI, CVE-2019-0708, DOS头擦除, IIS, Nmap, RDP利用, THM, TryHackMe, Umbraco CMS, Web枚举, 事件响应, 企业安全, 凭证发现, 协议分析, 安全测试, 密码破解, 提权, 插件系统, 攻击性安全, 数据展示, 数据统计, 服务枚举, 本地模型, 权限提升, 漏洞评估, 端口扫描, 红队, 网络安全, 网络安全审计, 网络资产管理, 虚拟驱动器, 远程桌面协议, 隐私保护