hackthebox:poison通關攻略
大家好,本次我們的實戰靶機是poison,來自 hackthebox 滲透測試實驗室,這個實驗室有很多靶機,可以幫助大家提高滲透測試和黑盒測試技能。好了,廢話不多說,進入主題。
本次靶機實戰的目的是找到靶機中的user.txt和root.txt檔案。
方法步驟:
1.埠掃描
2.利用LFI查詢使用者名稱
3.利用LFI獲取加密的密碼檔案
4.解密密碼檔案
5.使用解密密碼登入SSH
6.複製ZIP檔案到本地並解壓以查詢密碼
7.在靶機上發現VNC服務
8.通過SSH進行VNC隧道連接獲取root shell
9.獲取flag
ok,我們開始一步一步來做!
因為這些實驗室都有一個靜態IP,poison靶機的靜態IP地址是10.10.10.84。
第一步就是埠掃描,我們先用nmap神器來掃一下虛擬機器。
nmap -A 10.10.10.84
從上圖可以看到開了22和80埠,既然開了80,我們來訪問下網站,如圖:
主頁內容很少,快速過一遍,我們可以推斷這裡可能存在本地檔案包含(LFI),我們在scriptname中輸入/etc/passwd來進行測試,如圖:
果不其然,我們得到了以下內容:
這裡我們可以看到存在一個charix使用者,這個使用者下一步可能會用到,不過我們現在先把首頁上的所有指令碼都包含一下,看看有什麼發現。其他檔案倒沒什麼,不過這個listfiles.php有點意思,如圖:
這個指令碼對所有檔案進行遍歷,如圖
我們發現了一個pwdbackup.txt檔案,這個檔案從名字來看就知道有貓膩。同上,我們利用LFI來包含一下這個檔案,如圖:
開啟檔案後,我們發現了一個加密的密碼,但是卻並不是一種普通的加密方式,而是進行了13次加密。我們看下這個密文,能夠判斷這是base64加密。我們將密碼複製到一個名為decode的檔案中,去掉每一行的空格,然後在終端中輸入如下命令來解碼:
cat decode | base64 -d| base64 -d| base64 -d| base64 -d| base64 -d| base64 -d| base64 -d| base64 -d| base64 -d| base64 -d| base64 -d| base64 -d| base64 –d
哇,直接得到了密碼Charix!2#4%6&8(0
結合前面的埠掃描,開放了22埠,所以這個密碼很有可能就是ssh的密碼,我們來嘗試登陸一下:
ssh [email protected] ls
成功登陸。我們檢視一下當前目錄,發現了這個user.txt檔案,也就是第一個flag。當前目錄下還有一個secret.zip壓縮檔案,看這名字,我們就應該重點關注它,我們先試著解壓secret.zip到當前目錄,不過解壓失敗。於是,我將這個壓縮檔案複製到我的本機,使用scp命令。
scp [email protected]:secret.zip /root/Desktop/ cd Desktop unzip secret.zip
複製到本機後再進行解壓,得到一個secret檔案,可能是另一個服務的密碼。但我們現在不確定這個靶機上是否執行著其他服務,我們使用socat工具來掃描一下靶機(socat是Linux下的網路工具,nc強化版)。閱讀更多關於socat的內容,請參考: https://packages.debian.org/sid/sockstat 。
sockstat -4 -l
掃描之後,發現5901和5908埠也是開放的,這是VNC的預設埠號,我們或許能夠通過這種方式進入系統。
我們按照SSH隧道方法來操作(詳情參考 這裡 )
ssh -L 5901:127.0.0.1:5901 [email protected]
這會開啟一個新的會話,在新的終端中輸入如下命令:
vncviewer -passwd secret 127.0.0.1:5901
我們可以看到認證成功的標誌,到這裡已經提升到root許可權了,接下來就是檢視root.txt檔案了:
ls cat root.txt