Vulnhub-Empire: LupinOne題解
本靶機為Vulnhub上Empire系列之LupinOne,位址:EMPIRE: LUPINONE
利用<code>arp-scan</code>指令掃描靶機IP

利用<code>nmap</code>掃描開放端口
浏覽器打開80端口,發現是一張圖檔,沒有其他内容,檢測源代碼也沒有發現有用資訊
檢查<code>robots.txt</code>檔案發現<code>/~myfiles</code>目錄,打開卻發現Error 404
在舊版本的Apache伺服器中,~ 指代使用者主目錄,我們可以嘗試找到與此相似的路徑,使用<code>wfuzz</code>工具對其路徑進行測試,發現<code>~secret</code>目錄
在浏覽器中打開該路徑<code>~secret/</code>發現一段文字
上面稱這是一個秘密目錄,這裡隐藏了他建立的ssh 私鑰檔案,并且得知使用者名為<code>icex64</code>。接下來繼續在該路徑下搜尋檔案,得到<code>.mysecret.txt</code>檔案
浏覽器打開發現是一串編碼後的字元串
可以使用編碼識别工具進行識别,發現其為Base58,使用線上工具進行解碼得到私鑰檔案内容
在本地建立檔案key,将私鑰儲存到其中,然後使用<code>john</code>工具破解密碼
得到密碼為<code>P@55w0rd!</code>。将key 檔案權限設為600(否則無法連接配接),然後利用ssh連接配接<code>icex64</code>使用者
拿到shell後搜尋<code>suid</code>檔案,<code>Capability</code>檔案,<code>sudo -l</code>發現可以執行一條指令
來到/home/arsene目錄下,檢視heist.py檔案權限,沒有修改權限,檢視内容,發現其調用了<code>webbrower.open()</code>
我們通過<code>find</code>找到該檔案的位置,檢視其權限,發現可以寫入内容
我們可以直接編輯該檔案,寫入調用shell腳本(或者反彈shell腳本)
儲存退出,執行,獲得arsene使用者shell
拿到arsene使用者權限後,檢視<code>sudo -l</code>,發現可以免密執行<code>/usr/bin/pip</code>
我們可以在目前路徑下新建立一個目錄并打開在裡面建立<code>setup.py</code>檔案,裡面寫入我們想運作的python腳本,如反彈shell,然後利用<code>pip install</code>以root權限執行。
來到root目錄下,打開root.txt拿到flag