CVE-2016-1555
原因: 網站內可插入惡意指令 測試環境: Firmadyne
Write up
- 首先先去下載韌體檔案
1
$wget http://www.downloads.netgear.com/files/GDC/WNAP320/WNAP320%20Firmware%20Version%202.0.3.zip
- 把韌體檔案用binwalk拆解
1
binwalk -Me ./WNAP320\ Firmware\ Version\ 2.0.3.zip
- 然後去查一下CVE-2016-1555的資料
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear WN604 before 3.3.3 and WN802Tv2, WNAP210v2, WNAP320, WNDAP350, WNDAP360, and WNDAP660 before 3.5.5.0 allow remote attackers to execute arbitrary commands.
- 可以看到boardDataWW.php可以執行shell程式,把她打開看一下
- 問題點
1
exec("wr_mfg_data -m ".$_REQUEST['macAddress']." -c ".$_REQUEST['reginfo'],$dummy,$res);
- 也就是說他會直接執行$_REQUEST[‘macAddress’]
- 喔對我後來有查ereg是甚麼,結果他是只找有他符合的substring即可,所以意思是有Mac碼+”;”+指令,也可以執行
- 也就是說他會直接執行$_REQUEST[‘macAddress’]
- 問題點
- 可以看到boardDataWW.php可以執行shell程式,把她打開看一下
- 可以壞壞了
- 以下是工具
- burpsuit
- Pyton Simple http server
- php reverse shell
- 以下是工具
- 用Firmadyne模擬
- 進到這個畫面就是成功
- 帳號: admin
- 密碼: password
- 進到這個畫面就是成功
- 進入到boardDataWW.php的頁面中
- 反正可以用burpsuit攔截看看了
- 用ping實驗看看
- Server:
- Client:
成功了,所以我可以用wget放惡意檔案進去看看
- Server:
- 用ping實驗看看
- 反正可以用burpsuit攔截看看了
- 使用reverse shell
- reverse shell
- 建立一個簡易Server - 用python的Simpel HTTP Server
1
$python3 -m http.server 8001
- 好了傳看看
成功注入
- 使用reverse shell
- 用nc監聽1234port
- 進到reverse.php
- Finish!!!