路由器破解初探之环境搭建
最近在学习iot安全,路由器的破解应该是入门点,而在路由器的漏洞挖掘过程中,环境搭建是一个坑点巨多的点,毕竟,贫穷使我选择仿真,本文记录一些我踩过的坑,希望能对想入坑的人提供一些帮助
环境搭建
注:我的安装环境是ubuntu 16.04(本来选择18.04的,结果18.04会有玄学问题2333
在linux下安装IDA
如何在ubuntu下安装IDA呢?
其实也不是很难,我这里直接采用wine模拟器来安装运行IDA
建议运行环境(ubuntu16.04,可支持IDA7.0,但是最好使用IDA6.8,可以使用更多的插件)
安装命令如下:
1 |
|
安装wine后可以直接按安装IDA或者将物理机的IDA拉近虚拟机中即可
然后为了方便可以写一个启动脚本
1 |
|
当然,由于某些DLL文件的缺失可能会导致无法成功安装或启动,我们可以通过将本机的DLL文件放入IDA的根目录下来解决该问题,还有一些运行的报错可以通过错误信息来依次解决,因为原因可能有很多,这里就不再阐述
安装IDA的MIPS插件和脚本
- 下载插件
1 |
|
- 复制脚本
我们需要将plugins下的所有的python文件都复制到IDA的相同目录中,还需要把scripts也复制过去
第一步的命令大概如下:
1 |
|
ghidra
在反编译过程中,有时候IDA会有一些玄学问题,这里使用ghidra就可能会舒服很多,虽然爆出了很多后门,但是插件的数量以及在一些方面的优势还是不可小视的
下载地址
1 |
|
这里也提供一个9.1版本的百度云链接吧,提取码:8upz
启动环境需要
1 |
|
以及
1 |
|
binwalk
我们可以选择直接安装binwalk,但是这样安装的binwalk功能上可能会有些缺陷,有些固件会无法提取,因此这里采取下载源代码自己编译的方法来安装
- 直接安装方法
1 |
|
- 下载源代码自己编译
1 |
|
sasquatch SquashFSt提取工具
1 |
|
qemu
和Binwalk相同,也有两种方法
- 直接安装一步到位
1 |
|
自己编译
- git
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17git clone git://git.qqmu-project.org/qemu.git/qemu.git
git submodule update --init pixman
git submodule update --init dtc
sudo apt install libglib2.0-dev libgcrypt20-dev autoconf automake libtool
sudo apt-get install libglib2.0 libglib2.0-dev
sudo apt install -y pkg-config
sudo apt install -y libpixman-1-dev
sudo apt install -y libfdt-dev
sudo apt install libsdl2-dev
sudo apt install libsnappy-dev
sudo apt install libgtk-3-dev
sudo apt install libjpeg-turbo8-dev
sudo apt install libcurl4-openssl-dev
sudo apt install libspice-server-dev
sudo ./configure --static && sudo make -j8 && sudo make install
注: 使用configure 使用static参数的时候,依赖可能会根据不同环境导致依赖缺失,可以根据报错来解决依赖问题- wget
可根据需求不同来选择不同的版本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18sudo apt install libglib2.0-dev libgcrypt20-dev autoconf automake libtool
sudo apt-get install libglib2.0 libglib2.0-dev
sudo apt install -y pkg-config
sudo apt install -y libpixman-1-dev
sudo apt install -y libfdt-dev
sudo apt install libsdl2-dev
sudo apt install libsnappy-dev
sudo apt install libgtk-3-dev
sudo apt install libjpeg-turbo8-dev
sudo apt install libcurl4-openssl-dev
sudo apt install libspice-server-dev
sudo arm-softmmu
wget https://download.qemu.org/qemu-4.1.0.tar.xz
tar xvJf qemu-4.1.0.tar.xz
cd qemu-4.1.0
sudo ./configure --target-list=arm-softmmu,mips-softmmu,mipsel-softmmu --audio-drv-list=alsa,pa
sudo make -j8
sudo make install这里也贴出官方的安装教程
- To download and build QEMU 4.1.0:
1
2
3
4
5wget https://download.qemu.org/qemu-4.1.0.tar.xz
tar xvJf qemu-4.1.0.tar.xz
cd qemu-4.1.0
./configure
make- To download and build QEMU from git:
1
2
3
4
5
6git clone https://git.qemu.org/git/qemu.git
cd qemu
git submodule init
git submodule update --recursive
./configure
make- Debian/Ubuntu:
1
apt-get install qemu
MIPS交叉编译环境
在x86平台上编译MIPS架构的应用程序,需要我们在Ubuntu下建立交叉编译环境,编译过程中,会下载一些依赖包,需要网络畅通,这里有一个点很难受,就是如果你的内核版本在选项中没有出现的时候,可能需要我们选择更高版本的内核版本
1 |
|
在make menuconfig那一步的时候,我们需要更改几个地方
- “Target Architecture”改为”MIPS(littke endian)
- “Target Architecture Variant”改成”mips32”
- “tool chains”->”Kernel Headers”改成机器环境的kernel版本,可使用uname -r查看
本机内核版本,如果没有,可以选择4.4
笔者本机的内核版本是4.15,但是选项中没有4.15,因此我开始时选择了4.14,但是在编译过程中,4.14会在下载时报404,因此推荐选择4.4.x
然后sudo make -j8即可
注:这里需要保持网络联通,编译时间可能需要很久
firmadyne
一个非常简单的路由器运行环境,此环境下无法调试
1 |
|
之后就可以利用这个模拟固件了
到此基本的环境就基本搭建完毕了,enjoy:)