作者:赏金流浪客
稿费:500RMB(不服你也来投稿啊!)
投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿
前言
随着各种硬件设备漏洞越来越被人们关注,以及被恶意攻击者大量利用。作为一个安全研究员,学习分析固件漏洞,及时预警修补漏洞变得越来越重要。这个系列文章将通过利用DVRF来一步一步的深入固件分析,笔者也是一位初学者,记录在学习的过程中遇到的一些问题,希望与大家一起进步。
DVRF是一个非常好的项目,这个项目的目的是来帮助人们学习X86_64之外其他架构环境,同时还帮助人们探索路由器固件里面的奥秘。
前期环境准备
由于此步骤非常简单,相信有点基础的同学都能够搞定,因此我就不细说这个过程,只要你按照我给的环境配置和命令就不会出问题,如有问题,请在文章评论中留言或者给我发邮件。
1.虚拟机配置
windows 8.1
VMware 12.1.0 build-3272444(其他版本也可以)
内存 2G
硬盘 30G
2.系统配置
做为墙内用户首先修改软件源,科大源,详细步骤
安装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]
安装vmware-tools
如图中步骤解压vmware-tools到home目录
cd ~/vmware-tools-distrib/
sudo ./vmware-install.pl
然后一直yes或者enter,最后重启系统。
安装DVRF
下载DVRF https://github.com/praetorian-inc/DVRF
拷贝下载好的压缩包到虚拟机home目录下
cd ~
unzip DVRF-master.zip
安装buildroot(2016.05版本)
cd ~
mkdir buildroot
cd buildroot
wget https://buildroot.org/downloads/buildroot-2016.05.tar.gz
tar zxf buildroot-2016.05.tar.gz
cd buildroot-2016.05
sudo apt-get install ncurses-dev
make menuconfig
打开gdb远程调试功能
修改gdb版本为7.10.x,并保存配置。
make,等候下载,大约半小时。
牛刀小试
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
新窗口中使用buildroot中的mipsel-linux-gdb连接1122开始调试
cd ~
cd buildroot/buildroot-2016.05/output/host/usr/bin/
./mipsel-linux-gdb
当窗口2中gdb使用c命令让程序继续运行的时候,窗口1中程序继续执行。
总结
本文简单讲解了DVRF的测试环境安装与使用,分别包括DVRF、binwalk、qemu、buildroot、gdb等相关工具。这个系列第二篇将讲述mips 程序的相关知识,有点基础的同学都知道mips程序在固件中被广泛运用。
发表评论
您还未登录,请先登录。
登录