qemu模拟执行固件文件

转眼间近半年多没写文章了,年后来京后换了家公司,工作性质也有了些变化,从以前的杂七杂八干活到如今的杂七杂八...

大面上的一些转变是从服务器/web安全转到了智能硬件/web安全,还是很杂吧,学习的太广,没有非常精通的一门也是个一直以来缺陷。

================正题=============

kali下qemu的安装:

apt-get install qemu 

使用Docker容器进行操作

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

分析某路由器固件包:

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 . 设置库路径为当前目录

一般报上面的这种错误目前我知道的会有两种情况

  1. 老版本的qemu会存在,新版本一般都不存在,参考解决链接:
    http://www.devttys0.com/2011/12/qemu-vs-sstrip/ 
  2. 文件的打开方式不正确,使用了错误的程序执行了ELF文件

针对第2种的解决方法及常识:

# 使用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程式模拟即可

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

先写这些,后续遇到问题再补充,至于漏洞挖掘的慢慢来。

期待各位同道中人交流~

最后弹弹弹~算漏洞么?其实也不算,仅限部分Firefox ESR版本触发 。

 

转载于:https://my.oschina.net/u/1188877/blog/677277

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值