The use of DVRF learn firmware analysis series a-vulnerability warning-the black bar safety net


With a variety of hardware devices vulnerabilities more and more people concern, as well as by a malicious attacker a large advantage. As a Security Researcher, Learning Analytics firmware vulnerability, a timely warning to patch vulnerabilities is becoming increasingly important. This series of articles will by the use of the DVRF to a step-by-step in-depth firmware analysis, the author is also a beginner, the recording in the learning process encountered some problems, hope with you together with progress. DVRF is a very good project, the aim of this project is to help people learn to X86_64 than other architecture environment, and also help people to know the router the firmware inside the mystery. Pre-prepare the environment Since this step is very simple, I believe was a bit basic students are able to get, so I will not elaborate this process, as long as you follow me to the environment configuration and the command does not go wrong, if you have questions, please post comments or send me a mail. 1. The virtual machine configuration windows 8.1 VMware 12.1.0 build-3272444(other versions also possible) Memory 2G Hard disk 30G 2. System configuration As within the walls of the first user to modify the software source, the source, the detailed steps Install qemu sudo apt-get install qemu-user-static Install 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] Install vmware-tools As shown in the step of extracting the vmware-tools to the home directory ! [](/Article/UploadPic/2019-3/201931203927687. png) cd ~/vmware-tools-distrib/ sudo ./ vmware-install.pl Then has yes or enter, and finally restart the system. Install the DVRF Download DVRF https://github.com/praetorian-inc/DVRF ! [](/Article/UploadPic/2019-3/201931203927469. png) Copy the downloaded compressed package to the virtual machine home directory cd ~ unzip DVRF-master.zip ! [](/Article/UploadPic/2019-3/201931203927468. png) Install machine(2016.05 version cd ~ mkdir machine cd machine wget https://buildroot.org/downloads/buildroot-2016.05.tar.gz tar zxf buildroot-2016.05.tar.gz cd machine-2016.05 sudo apt-get install ncurses-dev make menuconfig ! [](/Article/UploadPic/2019-3/201931203928354. png) ! [](/Article/UploadPic/2019-3/201931203929868. png) ! [](/Article/UploadPic/2019-3/201931203929481. png) Open the gdb remote debugging feature ! [](/Article/UploadPic/2019-3/201931203929412. png) Modify the gdb version 7. 10. x, and save the configuration. ! [](/Article/UploadPic/2019-3/201931203929367. png) make, wait for download, about half an hour. The cow knife is small to try 1. binwalk uses The analysis of the firmware image for linux small system, the file system is a squashfs file system ! [](/Article/UploadPic/2019-3/201931203929208. png) Unzip extract the firmware file system binwalk-Me DVRF_v03. bin ! [](/Article/UploadPic/2019-3/201931203929426. png) ! [](/Article/UploadPic/2019-3/201931203930859. png) By the file command view the file information, and find the file format for mips32 little-endian file. ! [](/Article/UploadPic/2019-3/201931203930932. png) 2. qemu simulate running mips program **[1] [[2]](<92968_2.htm>) [next](<92968_2.htm>)**