HackTheBox –Craft
<code>ip:http://10.10.10.110/</code>
資訊搜集
端口掃描:使用nmap掃描發現開了22(ssh)端口和443(http/ssl)

版本可從web網頁上擷取:
Web 伺服器
Nginx1.15.8
Reverse Proxy
首先通路頁面,通路該連結http://10.10.10.110/看到是一片空白,試了一下使用https來進行通路,通路成功!
通路頁面檢視右上角的圖示發現他有域名,是以使用hosts檔案來進行綁定:
從上面圖檔發現他跟我們說檢視我們的API! 這裡先進行檢視<code>https://api.craft.htb/api/</code>
在這塊發現一個登陸頁面
傳回剛剛首頁,點選右上角圖示時他會跳轉到<code>https://gogs.craft.htb/</code>這個頁面,經過多次檢視發現點選左上角的發現會跳轉到一個倉庫仔細看的話是api源碼
進行下載下傳,代碼分析一下
果然,在test.py檔案中,我們知道api頁面需要首先進行auth/login(使用者名密碼未知),然後才能使用brew接口。沒找到什麼敏感資訊,之後就來審計一下接口檔案,經過找了好長時間終于發現brew.py中有個eval,現在知道這塊有指令執行需要調用os.system
因為當時我是在bp裡面攔截https://api.craft.htb/api/送出參數的方式進行利用的 中途因為沒有token的憑證繞了好長時間 最後是在上面所說的登陸頁面擷取的(經過多次送出發現他的token是随機的)
在這裡有使用者送出點開add.test之後發現使用者和密碼。
<code>dinesh 賬戶 4aUh0A8PbVJxgd 密碼</code>
登陸成功之後發現是一串随機token
通過幾種方式都不成功,終于最後寫了python腳本代碼如下:
成功得到shell,但是id直接是root使用者,之後才發現原來是docker使用者,接着我檢視settings.py,有一個資料庫憑據,直接修改了他的sql語句,有四個使用者
如下:
現在繼續進行資訊搜集,在剛剛https://gogs.craft.htb/界面有一個登陸,輸入剛剛擷取到的使用者和密碼一個一個進行搜集發現在gilfoyle 使用者裡面的私人項目裡有.ssh 是以當然是直接用id_rsa 進行ssh登陸,如圖:
<code>ssh -i id_rsa [email protected]</code>
已登入!!!!
進行提權:
用上面的方法我給他下載下傳了腳本進行執行得出他的核心和發行版本的詳細資訊 使用者資訊 服務等資訊…
scp -i id_rsa -r /Users/ice/Downloads/LinEnum-master/LinEnum.sh [email protected]:/tmp
執行完之後我是在https://www.exploit-db.com/上面搜尋的版本号結果不友好
在剛剛下載下傳的項目中檢視發現vault檢視官方文檔https://www.vaultproject.io/docs/secrets/ssh/one-time-ssh-passwords.html最後終于使用vault來進行提權,會傳回給我們otp 直接登入
(vault是一種用于在現代應用程式體系結構中安全地管理機密資訊的流行工具,很友善而且安全的一款工具)
不定時更新????