**
HackTheBox-Linux-Enterprise-Walkthrough
**
靶機地址:https://www.hackthebox.eu/home/machines/profile/112
靶機難度:中級(4.5/10)
靶機發布日期:2017年10月28日
靶機描述:
Enterprise is one of the more challenging machines on Hack The Box. It requires a wide range of knowledge and skills to successfully exploit. It features a custom wordpress plugin and a buffer overflow vulnerability that can be exploited both locally and remotely.
作者:大餘
時間:2020-06-03
請注意:對於所有這些計算機,我是通過平臺授權允許情況進行滲透的。我將使用Kali Linux作爲解決該HTB的攻擊者機器。這裏使用的技術僅用於學習教育目的,如果列出的技術用於其他任何目標,我概不負責。
一、信息收集
可以看到靶機的IP是10.10.10.61…
Nmap發現開放了SSH服務器,以及Apache的幾種不同版本服務,以及端口32812上的未知服務,端口80上安裝了Wordpress,端口8080上安裝了Joomla…
直接目錄爆破…
發現了個解壓文件…
下載到本地分析…
第一個是包含WordPress php配置的php腳本,位於/var/www/html/wp-config.php中,這裏可以利用SQL Injection漏洞進行sqlmap注入掃描…
在這裏,腳本還是使用了/var/www/html/wp-config.php配置,並具有與上述相同的功能,但附加了2條if語句,這些附加語句可對sql注入進行額外檢查,地址http://enterprise.htb/wp-content/plugins/lcars/lcars_db.php?query=1…
命令:sqlmap -u http://10.10.10.61/wp-content/plugins/lcars/lcars_db.php\?query\=1 --dbs
發現了數據庫…繼續sql
命令:sqlmap -u http://10.10.10.61/wp-content/plugins/lcars/lcars_db.php\?query\=1 -D wordpress -T wp_users -C user_login,user_pass,user_email --dump --hex --threads 5
這裏發現了william.riker用戶信息…但是我密碼john爆破了,沒有成功解密…
命令:sqlmap -u "http://enterprise.htb/wp-content/plugins/lcars/lcars_db.php?query=1" --random-agent --batch --thread 10 -D wordpress -T wp_posts -C post_content --dump
經過各種sqlmap注入…在一篇文章中發現了四個密碼信息…應該是隱藏文章,未發表的…掃出來了(這裏記得去掉N)
命令:wpscan --url http://enterprise.htb --usernames william.riker --passwords passwd.txt
由於需要登陸wordpress博客,將四個密碼創建文本,直接利用wpscan爆破即可…
結果發現了登陸的密碼信息…
一句話shell…(這裏跳過了)不懂得看前面文章…
成功獲得了shell_www-data權限…
這裏無法wget上傳文件…我利用本地監聽80端口,直接執行LinEnum枚舉了靶機…
可以看到我們當前IP是172.17.0.3,還發現了另外兩個IP信息…去查看下hosts
查看發現點2是mysql數據庫…這裏可以利用nc或者MSF_portfwd進行端口映射然後登錄mysql數據庫查看底層信息…
這裏試過了幾種方法,權限都無法上傳,我直接對8080端口進行繼續信息收集了…
二、提權
根據前面sqlmap還收集到了geordi.la.forge用戶信息…
利用sqlmap獲得的四個密碼,成功登錄…
直接在Extensions > Templates > Templates > Protostar的joomla上編輯模板…
繼續利用一句話shell提權即可…
成功獲得了反向外殼…查看了本用戶IP…
從這裏獲得的shell,還是限制一樣,www權限…暈了…繼續枚舉了靶機
但是我檢查掛在後,看到files被掛載在端口443上…就是之前下載zip文件的地方…
測試創建文件夾,果然是共享的目錄…直接上傳shell即可…
繼續文件上傳提權…成功提權還是WWW權限…吐了
但是可以執行查看到user_flag信息…
輸入是否存在一定限制以觸發緩衝區溢出 picarda1
picarda1
這裏通過1~7測試,4存在緩衝區溢出…
可以看到溢出顯示的是Disable Security Force Fields…
查看所有函數情況…
命令:
set disassembly-flavor intel
disass disableForcefields
現在我們可以通過此處的內容計算EIP的大小了…
公式爲減去esp(sub esp)到添加esp(add esp)之間大小的和(調用到__isoc99_scanf@plt爲止)…
0xd4 + 0xc - 0x10 + 0xc - 0x10 + 0xc - 0x10 + 0x8 = 0xd0 = 208…
所以需要覆蓋EIP的總大小爲:208 + 4 = 212…
命令:
print system
print exit
find &system,+9999999,"sh"
最後尋找sys和exit有效輸出sh的負載地址…列出了四個有效負載地址,直接利用即可…
簡單編寫python EXP…成功獲得了root權限,並獲得了root_flag信息…
目錄爆破-解析zip_php內容收集信息-Sqlmap注入獲取mysql信息-文件上傳提權-緩衝區溢出提權
由於我們已經成功得到root權限查看user和root.txt,因此完成這臺中級的靶機,希望你們喜歡這臺機器,請繼續關注大餘後期會有更多具有挑戰性的機器,一起練習學習。
如果你有其他的方法,歡迎留言。要是有寫錯了的地方,請你一定要告訴我。要是你覺得這篇博客寫的還不錯,歡迎分享給身邊的人。