---
# System prepended metadata

title: 'VulnHub: NullByte'
tags: [security]

---

# VulnHub: NullByte
###### tags: `security`
> VM image: https://www.vulnhub.com/entry/nullbyte-1,126/
> Goal: 查看 /root/proof.txt

- 先找到 target IP
![](https://i.imgur.com/2goZAy3.png)
- 用 nmap 指令掃描 port, 看哪些 port 是開的 (nmap -v -A 192.168.100.12)：可以看到 port 80, 111, 777 是打開的
![](https://i.imgur.com/UFHMWlS.png)
- 因為 port 80 是在做 http service, 所以用瀏覽器輸入 url 192.168.100.12 查看, 觀察網頁元素沒有找到線索, 把圖片下載下來掃, 可以知道是一張 GIF 格式的圖片, 下 exiftool 指令來觀察這張圖片的 metadata, 在 comment 的欄位找到看起來可疑的資訊
![](https://i.imgur.com/5KsSJ21.png)
![](https://i.imgur.com/YuEtzSZ.png)
- 把在 url 後面塞 /kzMb5nVYJw, 可以發現跳轉到另一個頁面, 要我們輸入 key, 嘗試了幾個 SQL injection 沒有成功, 看到提示說 "和 mysql 無關, 密碼並不複雜"
![](https://i.imgur.com/fHs8nqa.png)
- 所以改用 hydra 和字典 rockyou.txt 來暴力破解, 可以得到 key 是 "elite"
![](https://i.imgur.com/I8UOzaG.png)
![](https://i.imgur.com/zi5SFqc.png)
- 輸入 key "elite" 後, 出現有 Enter username 的欄位, 直接按 enter, 出現以下畫面, 看起來是資料庫的 usernames
![](https://i.imgur.com/mJ14mCi.png)
- 因此用 sqlmap 指令來把資料庫的資料洩漏出來 `$ sqlmap -u http://192.168.100.12/kzMb5nVYJw/420search.php?usrtosearch= --dump-all | less`
- 直接 dump 全部, 可以找到帳號名稱 ramses, 密碼是一串可疑字串 "YzZkNmJkN2ViZjgwNmY0M2M3NmFjYzM2ODE3MDNiODE", 把此字串用 base64 解碼後, 得到 "c6d6bd7ebf806f43c76acc3681703b81"
![](https://i.imgur.com/GbWoY90.png)
![](https://i.imgur.com/trkDDBB.png)
- 用 online 的 hash password cracker 解出密碼是 omega
![](https://i.imgur.com/qHsxZjD.png)
- 得到帳密後 (帳號：ramses, 密碼：omega), 就可以用 ssh 指令連到 port 777 
![](https://i.imgur.com/1TaPT5f.png)
- 目標是看到 /root/proof.txt 的內容, 先觀察 directory 結構, 發現 root 資料夾我們沒有權限, 先去找 SUID program
![](https://i.imgur.com/BW3mNZc.png)
- 找到 ./var/www/backup/procwatch 這個檔案, 執行看看, 發現是在查看現在執行哪些 process, 類似 ps 指令
![](https://i.imgur.com/yBaUEhF.png)
- 剩下就是 abuse SUID 來提權, 為了能夠執行 shell, 新增一個叫 ps 的檔案, 但把裡面內容偷改成 /bin/sh, 並且修改環境變數, 強迫先解析成當前的目錄, 即 export PATH=\$PWD:\$PATH, 接著再執行 ./procwatch, 就可以得到 root 權限執行 shell
    ```
    $ echo "/bin/sh" > ps
    $ chmod +x ps
    $ export PATH=$PWD:$PATH
    $ ./procwatch
    ```
- 下 cat 指令, 成功看到 /root/proof.txt 檔案內容！
![](https://i.imgur.com/vSQfFgl.png)
![](https://i.imgur.com/smu3Ja6.png)




