MakarovXSec/RootMe_TryHackMe
GitHub: MakarovXSec/RootMe_TryHackMe
TryHackMe RootMe 靶机的完整渗透测试 write-up,详细记录了从端口扫描、Web 漏洞利用到 SUID 提权的全流程攻击路径。
Stars: 0 | Forks: 0
# TryHackMe Rootme Write-UP
在运行 ping 并确认连通性后,我们启动 nmap 扫描,发现端口 22 和 80 处于开放状态。


首先是运行 SSH 协议的 22 端口,而 80 端口运行的是 Apache 2.4.41 HTTP 服务器。

我们已经有了前三个实验问题:
**扫描机器,有多少个端口开放?**
22 端口和 80 端口。
**运行的是什么版本的 Apache?**
2.4.41
**22 端口运行的是什么服务?**
SSH
接下来,我们访问网页看看能发现什么。
主页和源代码中没有什么有趣的内容。
我们继续使用 gobuster 进行 fuzzing 以枚举目录。

我们启动扫描并很快发现了第一个有趣的目录:`uploads`。于是我们访问它。我们看到可以上传文件。然后我们检查第二个有趣的目录 `panel,在那里我们也发现可以上传文件。


所以我们继续执行 payload。它不允许我们将其作为 `.php` 文件上传,因此我们将其修改为 `.phtml`。我们的 payload 成功上传。
我们开始在端口 443 上进行监听,一旦我们从 uploads 目录打开 payload,我们就收到了一个连接。
Msfvenom payloads 通常不稳定,因此我们使用端口 444 上的 reverse shell 来稳定它。


我们粘贴到端口 443 上 netcat 连接中的 reverse shell 是从网站“reverse shells generator”获取的。
现在我们可以回答下一个实验问题:
隐藏的目录是什么?
/panel
我们现在作为用户 `www-data` 拥有了一个稳定的连接。我们开始探索系统,看看能发现什么。在列出目录后,我们注意到其中大部分都需要 root 权限。
经过漫长的搜索,我们要么一无所获,要么缺乏权限,我们导航到 `/var/www` 目录(始终检查这个目录非常重要),在那里我们发现了 `user.txt`。我们打开它并获得了第一个 flag。

FLAG 1: THM{y0u_g0t_a_sh3ll}
现在是时候进行权限提升了。实验室提示我们应该使用 SUID binaries。我们运行命令:
find / -perm -4000 2>/dev/null
来搜索可用于提升权限的 binaries。

我们注意到了著名的 `pkexec`,它有一个众所周知的漏洞。但是,在回答问题时实验室将其标记为无效,因此我们继续调查。
在查看了其他 write-ups 后,我们发现实验室希望我们使用 Python。在我们的例子中,它显示为 `python2.7`。
我们访问 GTFOBins 并搜索 Python。我们找到了一个方法,通过执行:
python -c 'import os; os.execl("/bin/sh", "sh", "-p")’
我们获得了 root 权限。
然后我们遍历目录,列出 `/root`,并找到了包含最终 flag 的文件。
机器已完成。

标签:Apache, Bypass, CISA项目, DNS 反向解析, Netcat, Nmap, OpenVAS, PHP, PHTML, Privilege Escalation, Reverse Shell, RootMe, SSH, SUID, TryHackMe, Web渗透, Writeup, Write-Up, 协议分析, 反取证, 反弹Shell, 大数据, 安全评估, 实验报告, 密码管理, 应用安全, 插件系统, 数据统计, 文件上传漏洞, 权限提升, 枚举, 漏洞复现, 目录扫描, 端口扫描, 网络信息收集, 网络安全, 网络安全审计, 虚拟驱动器, 逆向工具, 隐私保护, 靶机攻略