1. 程式人生 > 實用技巧 >Vulnhub-靶機-MR-ROBOT: 1

Vulnhub-靶機-MR-ROBOT: 1

本篇文章僅用於技術交流學習和研究的目的,嚴禁使用文章中的技術用於非法目的和破壞,否則造成一切後果與發表本文章的作者無關

靶機下載之後使用僅主機模式載入到本地VMware Workstation工作站,需要發現目標靶機的IP地址,可以使用nmap,netdiscover,或者arp之類的工具 arp-scan 例如:sudo arp-scan -I eth1 -l 當然也是可以使用Windows環境下mac地址掃描工具都是可以的,那麼本次演示就是arp-scan工具發現

地址:https://www.vulnhub.com/entry/mr-robot-1,151/

sudo nmap -n -p- -sC -sV -T5 -vvv 192.168.202.11 -oN mrrobot.nmap

nmap掃描結果

開放了3個埠,首先訪問下80埠,發現如下資訊

沒看到啥有價值的資訊,順手訪問下robots.txt看看

看到兩個目錄,訪問如下

現在已經知道了其中一個key的值了,訪問另一個發現是可下載的檔案, 看字尾像是字典,我們下載下來

上面的字典先放著,用用nikto掃描看看

發現了跟WordPress相關的URI路徑了,這裡是知道了後臺登入地址,猜想這裡可以要使用上面的字典進行爆破了

試了些常用的使用者名稱發現都不存在,使用wpscan掃描識別下使用者名稱也沒有成功,使用gobuster進行爆破下目錄

把上面所有URI試著訪問了一遍,最終發現license.txt存在重要敏感資訊

得到一串base64編碼的字元ZWxsaW90OkVSMjgtMDY1Mgo=

elliot:ER28-0652 將次資訊當做使用者名稱和密碼登入試試

登入成功

另一種方式獲得目標靶機WordPress程式的使用者名稱和密碼,這裡思路就是先隨便使用一個密碼,然後使用上面的字典去嘗試猜測使用者名稱,如果返回的不是無效的使用者名稱那麼說明目標是存在這個使用者的,我們可以使用hydra能做到這一點,具體如下命令爆破

對上述得到的密碼字典進去去重

# wc -l fsocity.dic
858160 fsocity.dic
# sort -u fsocity.dic | wc -l
11451

# sort -u fsocity.dic >fsocity_sort.dic

hydra -L fsocity_sort.dic -p bmfx 192.168.202.11 http-post-form "/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log+In:F=Invalid username" -t 50 -f -V

最終爆破成功的結果如下:

得到了使用者名稱,那麼就使用此使用者名稱進行爆破破解密碼,既然是WordPress程式,那麼可以使用wpscan進行密碼破解

wpscan --url http://192.168.202.11 -U elliot -P fsocity_sort.dic

這裡也是可以使用hydra進行密碼破解

hydra -vV -l elliot -P fsocity_sort.dic 192.168.202.11 http-post-form "/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log+In:F=is incorrect"

完成上述操作之後就可以成功登陸目標靶機的WordPress程式,這裡的WordPress程式好多種反彈shell方式,我這裡就使用上傳主題的方式操作,注意上傳的時候顯示失敗,實際上是可以上傳zip,php等格式,但實際是成功了

點選上傳的檔案即可看到上傳的URL路徑

直接本地kali監聽對應埠訪問上傳的php程式碼即可反彈成功

PS:此靶機的WordPress同樣可以使用之前我靶機演示的404.php檔案直接貼上php反彈程式碼,然後訪問效果一樣

到了這一步,一般套路就是翻看目標靶機的家目錄,和系統版本及網站根目錄檢視相關資訊,這裡直接在家目錄下發現了一個使用者,那麼需要想辦法切換到此使用者然後進行提權,具體發現瞭如下資訊:

發現使用者robot和對應的md5值,然後將這個md5值丟到https://www.somd5.com/破解得出密碼:abcdefghijklmnopqrstuvwxyz

又找到一個key的值,橫向移動到另一個使用者之後常規的套路就是走捷徑,看看能不能使用sudo提權,或者被賦予了setuid的許可權檔案進行提權,這裡使用find命令查詢下

查詢setuid許可權的檔案,並過來關鍵字snap
ls -alt `find / -perm -4000 -type f 2>/dev/null` | grep -v snap

同樣是查詢setuid的許可權,但是查出來不顯示
find / -perm -4000 -type f 2>/dev/null

同樣可以指定使用者查詢setuid的檔案
find / -user root -perm -4000 2>/dev/null

從上操作可知最終得到可以使用nmap進行提權了,關於nmap提權可以參考:https://gtfobins.github.io/gtfobins/nmap/https://www.leavesongs.com/PENETRATION/linux-suid-privilege-escalation.html

既然知道了怎麼提權,那麼首先看看nmap的版本

擦,剛好這個版本支援互動式的命令引數,可以直接進入互動式模式提權,最近的新版沒有這類命令,需要通過script進行提權

提權成功