admin 管理员组

文章数量: 887021

DIR

0X01 想说的话😴

最近的工作内容是复现各种路由器的Nday漏洞,对于我这种在固件安全方面一无所知的小白来说,特别的迷茫,于是在网上搜集各种资料来看,搭建固件漏洞复现的环境。遇到各种坑,各种不懂的错误。终于把路由器固件模拟环境搭建出来了。
对路由器漏洞挖掘一无所知的同学可以先去看看《揭秘家用路由器0day漏洞挖掘技术》这本书,看完之后,虽然会有一些不太懂,但总体上会对路由器有所了解。

0x02 环境搭建🏄

系统:Ubuntu 16.04
这里我搭建的环境实在ubuntu16.04上,有的博客说要搭建在ubuntu14.04上才行,不过我在14.04上搭建也会出现各种问题。
请诸位看我最终安装完的目录

固件分析工具包

自动化分析固件文件的一系列脚本

git clone --recursive .git


进入到firmware-analysis-toolkit里面,打开setup.sh 咱们来看一下里面的内容,line 4 是下载一些依赖包和qemu, line 6-12是下载binwalk,边我注释了,我在执行setup.sh 脚本的时候,这边一直卡着,下载不了。然后line 15-18 是下载firmadyne。 后面的就自动执行。

执行 ./setup.sh
下一步就是安装binwalk

安装binwalk

Binwalk是一款十分强大的固件分析工具,常用于固件分析及提取文件系统。

cd firmware-analysis-toolkits
sudo git clone .git
cd binwalk 
sudo ./deps.sh
sudo python3 ./setup install
sudo -H pip3 install git+
sudo -H pip install git+

上面的弄完之后嘞,验证一下binwalk 是否能用 , 这里要注意的是,binwalk 版本现在都是2.0以上的,我之前方便看到别人的博客都是用apt-get install binwalk,没想到是1.0的,然后解包解不开。

下一步安装qemu

【qemu】

qemu和vmware一样,一种虚拟机软件,只不过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 的简单使用,这里让大家看看qemu是干嘛的。
1.首先用binwalk 解包 binwalk -Me XXX.bin,然后大家会看到Squashfs 这样的文件系统。

并且还会看到文件夹里面多了一个.extracted的东西。并且进去里面还有一个squashfs-root文件夹,里面就是标准的linux结构。


2. 使用file /bin/busybox,查看文件类型,发现是mips 的。然后cp qemu-mipsel-static ./ 把qemu 的一个模块复制过来。可以看一下上面的图,需要根据文件的类型,使用相应的qemu 模块运行。不然会报Invalid ELF image for this architecture这个错误。

3. 运行sudo chroot . ./qemu-mipsel-static /bin/busybox。前面的是. ./ 有空格的,记住不是…/
显示这样就说明qemu 正常使用了。

firmadyne在执行setup.sh的时候就安装好了,这里我没有出什么问题

0x03 运行固件包

首先运行固件包的前提需要firmware-analysis-toolkit里面的fat.py。

修改配置文件fat.config

fat.py 运行的时候需要获取sudo 密码,和firmadyne的路径,这里需要根据自己需要修改。
感兴趣可以看一下fat.py里面的代码。

运行固件 😃

这里使用固件 HG832固件包,注意固件包运行的是bin.不是binwalk 解开的固件文件夹。
运行固件包如下:

./fat.py /home/XXX/Desktop/DIR823GA1_FW102B03.bin

下图所示,里面有一个IP对吧。去浏览器运行吧,少年,你成功了😱。
噢,对了,你在复现一些漏洞的时候,这里也可以看到固件包会有什么反应😃。

浏览器运行192.168.0.1 😃

0X04 写在最后 😏

这些工具在EMbedded_2020 和 AttifyOS v3.0 这两种虚拟机里面都有,并且这两种虚拟机是专门做IOT渗透的虚拟机。但是EMbedded 系统的qemu 有点问题,也不知道是怎么回事,于是自己搭了一套。

本文标签: DiR