用Virtualbox搭建固件分析平台

VirtualBox安装

官方网址:https://www.virtualbox.org/wiki/Downloads
下载安装包VirtualBox platform packages
下载功能扩展包VirtualBox Oracle VM VirtualBox Extension Pack
安装结束后打开VirtualBox
在这里插入图片描述
工具-全局设定-扩展-添加(图标)-找到下载的扩展包-确定
在这里插入图片描述
扩展包安装完成

创建虚拟机

参考文献:https://www.xuzefeng.com/post/85.html
在这里插入图片描述
新建-输入虚拟电脑名称、保存位置、类型Linux、版本Ubuntu(32-bit)-内存(建议4G)-选择“现在创建虚拟硬盘”-硬盘文件类型(VDI VirtualBox硬盘映像)-选择“动态分配”-硬盘大小(建议64G)-创建
在这里插入图片描述
采用以下方法使系统运行流畅:
1、处理器加速
设置-系统-处理器-处理器数量(建议2)-启用PAE/NX
2、显示加速
设置-显示-屏幕-显存大小(建议128)-启用3D加速

安装Ubuntu-16.04-i386系统

官方网址:https://ubuntu.com/download/alternative-downloads
参考文献:https://blog.csdn.net/u012732259/article/details/70172704
下载系统镜像
在这里插入图片描述
选择刚刚创建的虚拟机-设置-存储-添加虚拟光驱(图标)-选择“没有磁盘”的IDE-选择一个虚拟光盘文件(图标)-找到下载的光盘镜像-确定
在这里插入图片描述
启动虚拟机-选择“中文(简体)”-点击“安装Ubuntu”-选择“安装Ubuntu时下载更新”-现在安装-选择时区(Shanghai)-键盘布局全是汉语-输入姓名、计算机名、密码-等待系统安装
Tips:
1、安装过程很慢,因此学会使用虚拟机的快照功能,不然推翻重来会哭的
2、选择中国的时区,就是Shanghai不是Beijing,这可能是做系统的团队问题
3、设置的密码一定记牢,以后登录系统或者使用sudo命令都需要

安装VirtualBox虚拟机增强功能

在这里插入图片描述
VirtualBox会自动完成安装,安装完成后建议重启

分配共享数据空间

宿主机共享设置
在这里插入图片描述
设置-共享文件夹-添加(图标)-选择共享文件夹路径、名称-勾选固定分配-完成
在这里插入图片描述
虚拟机共享设置
在这里插入图片描述
Tip:
Ctrl+Alt+T在图形界面打开命令框
1、将宿主机的共享文件夹ubuntu挂载到虚拟机的/mnt/shared
输入命令sudo mkdir /mnt/shared
输入命令sudo mount –t vboxsf ubuntu /mnt/shared
Tips:
ubuntu和/mnt/shared要跟据自己的情况修改
现在打开/mnt/shared文件夹,就可以看到宿主机对应共享文件夹ubuntu中的内容了。这就是宿主机和虚拟机之间的桥梁。
2、如果需要开机的时候自动挂载该文件夹,则需要修改/etc/fstab
输入命令sudo gedit /etc/fstab
在文本末尾添加一行下面的内容:
ubuntu /mnt/shared vboxsf rw,gid=100,uid=1000,auto 0 0
Tip:
保存文件的时候会有如下错误,属于正常现象。这是sudo命令的问题。
在这里插入图片描述

更新系统软件

参考文献:https://blog.csdn.net/zhangjiahao14/article/details/80554616
修改apt-get的源(提高速度和成功率)
输入命令sudo cp /mnt/shared/sources.list /etc/apt/sources.list
Tip:
源可以参考文献自己写,也可以直接复制作者已经写好的。
更新系统软件列表
输入命令sudo apt-get update
更新系统软件
输入命令sudo apt-get upgrade
Tips:
1、sudo表示管理员权限;apt-get作者理解为应用市场。高版本的ubuntu可以直接写成apt。
2、安装软件可以使用命令sudo apt-get install ##1 ##2。可以同时安装多个,但是作者不建议这样做,因为一旦输错一个字母就要全部重新输入,很麻烦。
3、我们可以用apt-cache search ###来查找软件库中有没有我们想用的工具,非常贴心。
4、ubuntu脚本语法。
5、安装过程可能失败,但是不要担心。软件之间有一定相互依赖关系,因此多执行几遍sudo apt-get upgrade可以解决问题。
6、Linux常用命令。

IDA Pro 6.4 for Linux安装

参考文献:https://blog.csdn.net/lgdx2017/article/details/80408524
下载IDA Pro 6.4 for Linux
解压到共享文件夹
复制到虚拟机
输入命令:sudo cp -r /mnt/shared/IDA IDA
运行IDA
输入命令:cd IDA
输入命令:./idaq
如果程序正常运行,则程序安装完成。

配置python环境

参考文献:https://www.cnblogs.com/microman/p/6107879.html
参考文献:https://blog.csdn.net/qq_40829288/article/details/90368223
安装pip3(python工具包下载器)
sudo apt-get install python3-pip
修改pip源(提高成功率和速度)
输入命令sudo mkdir ~/.pip
输入命令sudo cp /mnt/shared/pip.conf ~/.pip/pip.conf
Tips:
1、源可以参考文献自己写,也可以直接复制作者已经写好的。
2、pip是python工具的专用下载器
更新pip下载器
输入命令sudo -H pip3 install --upgrade pip
修改pip文件
在这里插入图片描述
直接使用pip会出现以上问题,用如下方法解决。
执行命令:sudo gedit /usr/bin/pip3
改成下面形式:
from pip import mian #需要修改,两个短横
if name == ‘main’:
sys.exit(main._main()) #需要修改
安装setuptools
输入命令:sudo -H pip3 install setuptools
Tips:
使用python有关程序的时候,会出现各种各样的问题。不要担心,说穿了就是python扩展包没装全,这时候只需要更新python包的依赖,安装提示缺少的组件,问题基本都可以解决。
python扩展包安装:sudo pip3 install python-扩展包名
python扩展包依赖安装:sudo apt-get build-dep python-扩展包名

安装Binwalk

参考文献:https://github.com/ReFirmLabs/binwalk/blob/master/INSTALL.md
安装必要组件:
输入命令:sudo apt install autoconf
Binwalk uses the nosetest library for tests and coverage for test-coverage:
输入命令:sudo pip3 install nose coverage
Binwalk uses the pycrypto library to decrypt some known encrypted firmware images:
输入命令:sudo apt install python3-crypto
Binwalk uses pyqtgraph to generate graphs and visualizations, which requires the following:
输入命令:sudo apt-get install libqt4-opengl python3-opengl python3-pyqt4 python3-pyqt4.qtopengl python3-numpy python3-scipy
输入命令:sudo pip3 install pyqtgraph
Binwalk’s --disasm option requires the Capstone disassembly framework and its corresponding Python bindings:
输入命令:sudo pip3 install capstone
Binwalk relies on multiple external utilties in order to automatically extract/decompress files and data:
输入命令:sudo apt-get install mtd-utils arj lhasa p7zip p7zip-full cabextract cramfsprogs cramfsswap sleuthkit default-jdk lzop srecord
安装git(某种下载工具)
输入命令:sudo apt-get install git
Install sasquatch to extract non-standard SquashFS images:
输入命令:sudo apt-get install zlib1g-dev liblzma-dev liblzo2-dev
输入命令:git clone https://github.com/devttys0/sasquatch
输入命令:cd sasquatch && ./build.sh
Install jefferson to extract JFFS2 file systems:
输入命令:sudo pip install cstruct
输入命令:git clone https://github.com/sviehb/jefferson
输入命令:cd jefferson && sudo python setup.py install
Install ubi_reader to extract UBIFS file systems:
输入命令:sudo apt-get install liblzo2-dev python-lzo
输入命令:git clone https://github.com/jrspruitt/ubi_reader
输入命令:cd ubi_reader && sudo python setup.py install
Install yaffshiv to extract YAFFS file systems:
输入命令:git clone https://github.com/devttys0/yaffshiv
输入命令:cd yaffshiv && sudo python setup.py install
Install unstuff (closed source) to extract StuffIt archive files:
输入命令:tar -zxv -f Stuffit.tar.gz
输入命令:sudo cp bin/unstuff /usr/local/bin/
Tip:
Stuffit是个闭源绝版软件,作者挂VPN才下载下来的。解压然后复制到对应目录即可。
安装Binwalk主程序
输入命令:git clone https://github.com/devttys0/binwalk.git
输入命令:cd binwalk && sudo python setup.py install
Installing the IDA Plugin:
输入命令:python setup.py idainstall --idadir=ida的路径

安装QEMU和Buildroot

参考文献:https://www.linuxidc.com/Linux/2016-08/134084.htm
参考文献:https://www.cnblogs.com/xiluhua/p/5847266.html
QEMU的安装(虚拟机)
输入命令:sudo apt-get install qemu
输入命令:sudo apt-get install qemu qemu-user-static
安装MIPS交叉编译环境(Buildroot)
输入命令:tar -jxvf /mnt/shared/buildroot.tar.bz2
Tip:
buildroot国内也是下载不了的,作者挂了VPN。
安装busybox工具和libncurses库
输入命令 sudo apt install busybox libncurses5-dev
Ubuntu默认的shell是dash,它跟buildroot的脚本有些不兼容。用下面的命令切换到bash:
输入命令:sudo dpkg-reconfigure dash
选择 NO
配置Buildroot
输入命令:cd buildroot
输入命令:make clean
输入命令:make menuconfig
出现界面之后,需要修改以下3个地方。
将Target options-Target Architecture改成MIPS(little endian)
将 Toolchain-Kernel Headers改成机器环境的Kernel版本,原因不明,可能和兼容性有关。然而选项没有作者的内核版本,所以我选择低于我的内核版本3.14.x
选择Build options-Mirrors and Download locations-Primary download site
输入https://mirrors.aliyun.com/linux-kernel/v4.x
Tips:
1、作者采用的是阿里云的镜像,不然下载linux内核的时候慢到想哭。其中v4.x要根据自己内核版本修改。
2、查看机器环境的Kernel版本使用命令uname -a
编译Buildroot
输入命令:sudo make
编译工具的编译结果在output/host/usr/bin/mipsel-linux-gcc
Tip:
编译过程非常慢,作者用了1h左右。建议调一下ubuntu系统设置让屏幕不要锁定。
至此Virtualbox固件分析平台搭建完成

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值