QEMU
QEMU是純軟件實現的一個虛擬化模擬器,幾乎可以模擬任何硬件設備,支持多種架構。
QEMU安裝命令
sudo apt-get install qemu #user mode,包含qemu-mips-static,qemu-mipsel-static,qemu-arm-static等 sudo apt-get install qemu-user-static #system mode,包含qemu-system-mips,qemu-system-mipsel,qemu-system-arm等 sudo apt-get install qemu-system
QEMU運行模式
User Mode(用戶模式):User Mode模式下,用戶只需要將各種不同平台的處理編譯得到的Linux程序放在QEMU虛擬機中運行即可,其他的事情全部由QEMU虛擬機來完成,不需要用戶自定義內核和虛擬磁盤等文件。
System Mode(系統模式):System Mode模式下,最明顯的特點是用戶可以為QEMU虛擬機指定運行的內核或者虛擬硬盤等文件,簡單來說系統模式下QEMU虛擬機是可根據用戶的要求配置的。
用戶模式下模擬命令:qemu-mips(mipsel/arm)-static;系統模式下模擬命令:qemu-system-mips(mipsel/arm)。
———————————————————————————————————————————————
Firmadyne
Firmadyne是固件仿真框架,主要針對家用路由器固件,並不支持所有固件,不能模擬的固件還是需要用QEMU來模擬。
包括以下組件:
- 為了執行固件指令而修改的內核(MIPS: v2.6.32, ARM: v4.1, v3.10)
- 用戶空間NVRAM庫,用於仿真硬件NVRAM外設
- 用於從固件中提取文件系統和內核的解壓器
- 一個小型控制台用來調試
- 超過42個供應商的固件支持
還包括以下三個基本的自動化分析:
- 可訪問的網頁:該腳本在似乎由Web服務器提供服務的固件映像的文件系統中的每個文件中進行迭代,並根據結果是否符合要求的身份驗證來匯總結果。
- SNMP信息:此腳本不使用憑據將SNMP v2c public和private SNMP v2c社區的內容轉儲到磁盤。
- 漏洞檢查:該腳本使用Metasploit的漏洞測試60個已知漏洞的存在。此外,它還會檢查工具作者發現的14個以前未知的漏洞。
Firmadyne模擬運行固件只需要在配置好后直接運行 firmadyne 目錄下的 fat.py 即可。
以上是基本介紹,之后會整理一下Firmadyne在Ubuntu14.04系統下的搭建模擬過程。
參考鏈接:
路由器漏洞分析系列(1):路由器固件模擬環境搭建(binwalk固件提取,QEMU模擬執行,firmadyne:固件模擬工具,交叉編譯:mips-linux-gnu-gcc,gdb MIPS調試)
一步一步PWN路由器之環境搭建(QEMU模擬執行MIPS幾種方式+pwndbg調試,firmadyne,mipsrop插件,PleaseROP插件,gdbserver)