前言
随着各种硬件设备漏洞越来越被人们关注,以及被恶意攻击者大量利用。作为一个安全研究员,学习分析固件漏洞,及时预警修补漏洞变得越来越重要。这个系列文章将通过利用DVRF来一步一步的深入固件分析,笔者也是一位初学者,记录在学习的过程中遇到的一些问题,希望与大家一起进步。
DVRF是一个非常好的项目,这个项目的目的是来帮助人们学习X86_64之外其他架构环境,同时还帮助人们探索路由器固件里面的奥秘。
前期环境准备
由于此步骤非常简单,相信有点基础的同学都能够搞定,因此我就不细说这个过程,只要你按照我给的环境配置和命令就不会出问题,如有问题,请在文章评论中留言或者给我发邮件。
直接在ubuntu18.04下走起,安装qemu
sudo apt-get install qemu-user-static
安装Binwalk
mkdir binwalk
cd binwalk
wget https://github.com/devttys0/binwalk/archive/master.zip
unzip master.zip
cd binwalk-master
sudo python setup.py install
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-7-jdk
sudo ./deps.sh[object Object]
安装buildroot
1.用binwalk分析出固件镜像为linux 的小端系统,文件系统是squashfs文件系统
binwalk -Me DVRF_v03.bin
通过file命令查看文件信息,发现文件格式为mips32小端文件。
2.qemu模拟运行mips程序
复制相应的qemu模拟程序到指定目录,使用qemu运行mips程序
sudo chroot ../qemu-mipsel-static ./pwnable/Intro/stack_bof_01 test123
3.使用qemu和gdb调试mips程序
运行程序并打开1122端口用于gdb调试
sudo chroot . ./qemu-mipsel-static -g 1122 ./pwnable/Intro/stack_bof_01 test123