【IOT安全】IOT固件安全基礎-固件仿真介紹
- 2020 年 3 月 10 日
- 筆記
聲明:Tide安全團隊原創文章,轉載請聲明出處!文中所涉及的技術、思路和工具僅供以安全為目的的學習交流使用,任何人不得將其用於非法用途以及盈利等目的,否則後果自行承擔!
PS:由於在一次內部分享過程中,未能成功固件仿真,所以在此補充一文作為固件仿真入門介紹。
0X01前言
固件仿真可以在入門學習時更為便捷且能夠節省成本去對固件進行分析及漏洞利用。在固件分析學習中所需工具例如firmware-analysis-toolkit等固件分析工具包安裝及配置步驟較為繁瑣,目前有已有前輩集成好了固件分析所需鏡像環境。若想自行嘗試安裝Qemu、Firmadyne等工具請參考團隊小夥伴文章物聯網固件仿真環境的搭建,下文中使用了FIRMADYNE進行固件仿真,這是一個自動化的可擴展系統,可用於對基於Linux的嵌入式固件執行進行仿真和動態分析。
0X02Attify OS簡介
用於物聯網設備滲透測試的發行版無需花費時間安裝,配置和設置IoT滲透測試所需的各種工具,而是為您準備了一個預製發行版,其中包含在任何物聯網安全評估或滲透測試中都將方便使用的工具。
谷歌雲盤AttifyOS下載地址:https://drive.google.com/file/d/0Bz-2-OHt_4gQTkNYb21RRXBuNlE/view** 百度雲盤AttifyOS下載地址:https://pan.baidu.com/s/1Vracsnlt5uNbdmfYK4dp8Q 密碼:tvoh
集成環境中附帶的工具部分列表:
嵌入式相關工具: Embedded Binwalk Attify Badge tool Baudrate.py Openocd Flashrom Spiflash.py 固件和軟件: Binwalk: Firmware-Mod-Kit (FMK) Firmware Analysis Toolkit (FAT) radare2 IDA Demo Dex2Jar JADx ROPGadget 無線電工具: GQRX GNURadio Ubertooth-Utils HackRF KillerBee / Attify ZigBee Framework 此外還有些其它工具如下圖中所示,不再一一列舉。


0X03固件鏡像仿真部署
用戶名:oit 密碼 :attify123 數據庫:postgre 密碼: firmadyne

為了方便後續漏洞復現,我下載了固件DIR-645固件二進制文件併到firmadyne工具目錄下運行./fat.py及指定固件名稱。

接下來工具會多次請求用戶輸入數據庫的口令, 程序完成初始化及鏡像創建並分配IP地址後,FAT將會反饋給我們一個IP地址,並提示用戶已經完成了固件仿真。我們可以通過該地址進行Web界面訪問,以及通過SSH與固件進行交互等操作。

訪問給出的地址可以訪問到DIR-645界面。

0X04簡單漏洞復現驗證
我們對DIR-645進行遠程命令執行漏洞使用POC進行簡單復現,該漏洞是通過構造對路由器serviec.cgi的POST請求中的data段來達到遠程執行命令的目的,具體漏洞細節不再進行復現,此處僅為了驗證固件的仿真效果。
POC下載地址:D-Link_DIR_645POC

簡單歸納下FAT腳本的操作: (1)從固件中提取文件系統 (2)獲取固件架構 (3)製作所需鏡像 (4)網絡設置 (5)鏡像仿真 至此,一個簡單的固件仿真流程完畢。 本文僅用於學習研究,切勿用於違法途徑。
0X05參考鏈接
https://www.anquanke.com/post/id/151277 https://blog.attify.com/getting-started-with-firmware-emulation/ https://github.com/adi0x90/attifyos https://bbs.pediy.com/thread-224917.htm
E
N
D