qemu模擬執行固件文件

轉眼間近半年多沒寫文章了,年後來京後換了家公司,工做性質也有了些變化,從之前的雜七雜八幹活到現在的雜七雜八...html

大面上的一些轉變是從服務器/web安全轉到了智能硬件/web安全,仍是很雜吧,學習的太廣,沒有很是精通的一門也是個一直以來缺陷。html5

================正題=============web

kali下qemu的安裝:docker

apt-get install qemu

使用Docker容器進行操做安全

https://hub.docker.com/r/asmimproved/qemu-mips/

分析某路由器固件包:bash

binwalk -Me bcrm.bin # -M 遞歸解壓看狀況可加可不加 -e 自動化提取

通常固件解壓後的文件系統有squashfs和cpio,進入相應的文件夾服務器

root@kali:~/work/openwrt/_brcm/squashfs-root# qemu-mipsel -L . bin/ls
bin/ls: Invalid ELF image for this architecture

# qemu-mipsel qemu user模式模擬運行 -L . 設置庫路徑爲當前目錄

通常報上面的這種錯誤目前我知道的會有兩種狀況app

  1. 老版本的qemu會存在,新版本通常都不存在,參考解決連接:
    http://www.devttys0.com/2011/12/qemu-vs-sstrip/ 
  2. 文件的打開方式不正確,使用了錯誤的程序執行了ELF文件

針對第2種的解決方法及常識:dom

# 使用file識別當前文件的格式

# 識別爲:ARM格式的ELF文件
root@kali:~/work/openwrt/_brcm/squashfs-root# file bin/busybox 
bin/busybox: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-uClibc.so.0, stripped

# 識別爲:MIPS格式的ELF文件
root@kali:~/work/openwrt/_openwrt-we800g-squashfs.bin.extracted/squashfs-root# file bin/busybox 
bin/busybox: ELF 32-bit LSB executable, MIPS, MIPS32 version 1, dynamically linked, interpreter /lib/ld-uClibc.so.0, corrupted section header size

依據上面類型使用不一樣的qemu程式模擬便可xss

root@kali:~/work/openwrt/_brcm/squashfs-root# qemu-arm -L . bin/ls
bin  etc  opt  proc  readonly  sbin  usr

先寫這些,後續遇到問題再補充,至於漏洞挖掘的慢慢來。

期待各位同道中人交流~

最後彈彈彈~算漏洞麼?其實也不算,僅限部分Firefox ESR版本觸發 。

相關文章
相關標籤/搜索