# HTB TwoMillion Writeup nmap掃描結果,有開22跟80 port ![image](https://hackmd.io/_uploads/H19SbQ1m0.png) 連過去網頁是舊版HTB的頁面 ![image](https://hackmd.io/_uploads/r1LH4EEX0.png) 如果要辦帳號需要邀請碼 ![image](https://hackmd.io/_uploads/Hk0cSNVQA.png) 原始碼內可以看到如何生成邀請碼 ![image](https://hackmd.io/_uploads/Sy4wPLkQC.png) 點到 http://2million.htb/js/inviteapi.min.js ,裡面內容被加密過,要去解密 ![image](https://hackmd.io/_uploads/rk-Yv81Q0.png) 把這段貼到解密網站,可以看到解密後的明文code https://lelinhtinh.github.io/de4js/ 這邊顯示要用api只能用POST去訪問 ![image](https://hackmd.io/_uploads/rJIXv8JQ0.png) 透過POST去訪問有一串密文,這邊有提示是ROT13加密 `curl -X POST http://2million.htb/invite/api/v1/invite/how/to/generate` ![image](https://hackmd.io/_uploads/SkpDc817A.png) ROT13加密,解密結果,有一串邀請碼生成路徑 ![image](https://hackmd.io/_uploads/ryM9q8JmC.png) 透過POST去訪問 `curl -X POST http://2million.htb/api/v1/invite/generate` ![image](https://hackmd.io/_uploads/HyIn5Lk7A.png) 獲得一串base64,拿去decode獲得邀請碼 ![image](https://hackmd.io/_uploads/HkrGo8y7C.png) 可以去辦帳號登入HTB了 ![image](https://hackmd.io/_uploads/r1rn3NNQR.png) 進入後,可以去access頁面載VPN連線檔 ![image](https://hackmd.io/_uploads/rJgBRNN7C.png) 透過burp可以看到他透過API去請求VPN生成 ![image](https://hackmd.io/_uploads/B1qu0VVXA.png) `/api/v1`裡面可以看到各種API的功能 ![image](https://hackmd.io/_uploads/SyGhHD1XC.png) 如果直接請求`/admin/setting/update` 他會跟你講content-type錯誤 ![image](https://hackmd.io/_uploads/HyiZ1HV7C.png) 指定為`applocation/json`後,會顯示缺少email ![image](https://hackmd.io/_uploads/H1ZBkSEmR.png) 輸入我們自己的mail之後會顯示缺少是不是admin的判斷 ![image](https://hackmd.io/_uploads/B1npyBNQC.png) 把要求的參數都加進去之後,這邊就把自己更新成admin了 ![image](https://hackmd.io/_uploads/ry5T4wJmR.png) 透過`/admin/vpn/generate`裡面的命令注入漏洞可以獲得底層的控制權限 >這邊要再指令後面插入注釋`#`才能成功利用 ![image](https://hackmd.io/_uploads/BJTxuFlQC.png) 這邊讀取`.env`檔案,通常這檔案裏面都會放些機密性比較高的資訊 ![image](https://hackmd.io/_uploads/rkmM_FgX0.png) * DB_USERNAME=admin * DB_PASSWORD=SuperDuperPass123 利用ssh連線過去之後就可以看到user flag ![image](https://hackmd.io/_uploads/SJkDqtxm0.png) `find / -perm -u=s 2>/dev/null` 搜尋帶SUID的文件 找到別人留下的CVE檔案 ![image](https://hackmd.io/_uploads/B1Xcncl7R.png) >正規方法是email裡面有漏洞利用的提示 >![image](https://hackmd.io/_uploads/rJvcjjeXR.png) https://github.com/Fanxiaoyao66/CVE-2023-0386 利用方式是分別開兩個終端執行,如下圖 成功利用後就獲得root flag ![image](https://hackmd.io/_uploads/BkI0bog7A.png)