天天看點

【技術分享】利用DVRF學習固件分析系列(一)

【技術分享】利用DVRF學習固件分析系列(一)

作者:賞金流浪客 

稿費:500RMB(不服你也來投稿啊!)

投稿方式:發送郵件至linwei#360.cn,或登陸網頁版線上投稿

前言

随着各種硬體裝置漏洞越來越被人們關注,以及被惡意攻擊者大量利用。作為一個安全研究員,學習分析固件漏洞,及時預警修補漏洞變得越來越重要。這個系列文章将通過利用DVRF來一步一步的深入固件分析,筆者也是一位初學者,記錄在學習的過程中遇到的一些問題,希望與大家一起進步。

DVRF是一個非常好的項目,這個項目的目的是來幫助人們學習X86_64之外其他架構環境,同時還幫助人們探索路由器固件裡面的奧秘。

前期環境準備

由于此步驟非常簡單,相信有點基礎的同學都能夠搞定,是以我就不細說這個過程,隻要你按照我給的環境配置和指令就不會出問題,如有問題,請在文章評論中留言或者給我發郵件。

1.虛拟機配置

windows 8.1

VMware 12.1.0 build-3272444(其他版本也可以)

記憶體 2G

硬碟 30G

2.系統配置

做為牆内使用者首先修改軟體源,科大源,詳細步驟

安裝qemu

1

sudo apt-get install qemu-user-static

安裝Binwalk  

1 2 3 4 5 6 7 8 9 10

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目錄

【技術分享】利用DVRF學習固件分析系列(一)
1 2

cd ~/vmware-tools-distrib/

sudo ./vmware-install.pl

然後一直yes或者enter,最後重新開機系統。

安裝DVRF

下載下傳DVRF https://github.com/praetorian-inc/DVRF

【技術分享】利用DVRF學習固件分析系列(一)

拷貝下載下傳好的壓縮包到虛拟機home目錄下

1 2

cd ~

unzip DVRF-master.zip

【技術分享】利用DVRF學習固件分析系列(一)

安裝buildroot(2016.05版本)

1 2 3 4 5 6 7 8

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

【技術分享】利用DVRF學習固件分析系列(一)
【技術分享】利用DVRF學習固件分析系列(一)
【技術分享】利用DVRF學習固件分析系列(一)

打開gdb遠端調試功能       

【技術分享】利用DVRF學習固件分析系列(一)

修改gdb版本為7.10.x,并儲存配置。       

【技術分享】利用DVRF學習固件分析系列(一)

make,等候下載下傳,大約半小時。

牛刀小試

1.binwalk使用

分析出固件鏡像為linux 的小端系統,檔案系統是squashfs檔案系統   

【技術分享】利用DVRF學習固件分析系列(一)

解壓提取固件檔案系統

1

binwalk -Me DVRF_v03.bin

【技術分享】利用DVRF學習固件分析系列(一)
【技術分享】利用DVRF學習固件分析系列(一)

通過file指令檢視檔案資訊,發現檔案格式為mips32小端檔案。

【技術分享】利用DVRF學習固件分析系列(一)

2.qemu模拟運作mips程式

複制相應的qemu模拟程式到指定目錄 

【技術分享】利用DVRF學習固件分析系列(一)

使用qemu運作mips程式

1

sudo chroot ../qemu-mipsel-static ./pwnable/Intro/stack_bof_01 test123

【技術分享】利用DVRF學習固件分析系列(一)

3.使用qemu和gdb調試mips程式

運作程式并打開1122端口用于gdb調試

1

sudo chroot . ./qemu-mipsel-static -g 1122 ./pwnable/Intro/stack_bof_01 test123

【技術分享】利用DVRF學習固件分析系列(一)

新視窗中使用buildroot中的mipsel-linux-gdb連接配接1122開始調試

1 2 3

cd ~

cd buildroot/buildroot-2016.05/output/host/usr/bin/

./mipsel-linux-gdb

【技術分享】利用DVRF學習固件分析系列(一)

當視窗2中gdb使用c指令讓程式繼續運作的時候,視窗1中程式繼續執行。

總結

本文簡單講解了DVRF的測試環境安裝與使用,分别包括DVRF、binwalk、qemu、buildroot、gdb等相關工具。這個系列第二篇将講述mips 程式的相關知識,有點基礎的同學都知道mips程式在固件中被廣泛運用。

本文由 安全客 原創釋出,如需轉載請注明來源及本文位址。

本文位址:http://bobao.360.cn/learning/detail/3036.html

繼續閱讀