首页
社区
课程
招聘
[原创] 路由器环境基础工具安装
2020-3-12 14:14 14365

[原创] 路由器环境基础工具安装

2020-3-12 14:14
14365

网络上有很多安装教程,也看了《揭秘家用路由器 0day 漏洞挖掘技术》,但是由于版本等原因,与其他作者的安装还是略有不同,会遇到很多问题,以下参考我自己安装遇到的问题进行。

 

我的环境

ubuntu:16.04
内核:4

安装 binwalk

方法一

sudo apt-get install binwalk

方法二(推荐)

sudo git clone https://github.com/devttys0/binwalk.git

安装 jeb

在 https://www.pnfsoftware.com/jeb2/mips 下载试用版,但是不知道为啥我的下载速度很慢。
也可以使用吾爱破解的破解版 https://down.52pojie.cn/Tools/Android_Tools/JEB_3.0.0.201808031948_Pro.zip ,亲测内部可以进行复制粘贴。
需要安装java环境,可以参考:https://blog.csdn.net/lyhkmm/article/details/79524712 进行安装。

安装 QEMU

有两种方法,一种是直接下载,另一种是通过官网下载包,然后再安装。经过H4lo师傅的踩坑,2.4.0版本最好。
方法一:

sudo apt-get install qemu

我这样下载下来的是2.5.0版本,我决定先用一段时间...
方法二:

https://download.qemu.org/      # 自选版本进行下载

./configure
sudo make -j8       # -jx x=内核*2 
sudo make install

安装 sasquatch

sudo apt-get install build-essential liblzma-dev liblzo2-dev zlib1g-dev
git clone https://github.com/devttys0/sasquatch
cd sasquatch
./build.sh

使用sasquatch工具的时候,直接命令行输入 sasquatch加对应的参数就可以执行。

安装 MIPS 交叉编译环境 buildroot

这个我卸载安装了好几次..因为安装的版本编译会出错(我搜索没有找到较好的解决办法),使用会出现头文件找不到等等问题。推荐下面的版本

sudo apt-get install gcc build-essential bison flex gettext tcl sharutils libncurses-dev zlib1g-dev exuberant-ctags g++ texinfo patch vim libtool   //升级一下系统的包
wget http://buildroot.uclibc.org/downloads/snapshots/buildroot-snapshot.tar.bz2
tar -jxvf buildroot-snapshot.tar.bz2
cd buildroot
make menuconfig


查看kernel版本进行选择:

uname -r

最后使用

make

进行编译

添加PATH

法一:将PATH添加到/etc/profile末尾,再source /etc/profile,网上很多都说有效...对我无效,只是暂时性的
法二:将PATH添加到~/.bashrc末尾,再source

export PATH="/home/kk/tools/buildroot/output/host/bin:$PATH"        # 填自己的编译器所在路径

测试交叉编译环境 demo.c

#include<stdio.h>
int main(){
        puts("demo");
        return 0;
}
kk@ubuntu:~/Desktop/iot$ mipsel-linux-gcc -static demo.c -o demo
kk@ubuntu:~/Desktop/iot$ ls
demo  demo.c
kk@ubuntu:~/Desktop/iot$ file demo
demo: ELF 32-bit LSB executable, MIPS, MIPS32 version 1 (SYSV), statically linked, not stripped

LSB --> 小端序

MIPS 系统网络配置

下载mips虚拟机

https://people.debian.org/~aurel32/qemu/mips/ 自行选择大小端格式mips系统【mips大端机,mipsel小端机】

法一

sudo apt-get install uml-utilities bridge-utils         # 安装依赖文件
sudo vim /etc/network/interfaces                        # 修改主机配置

写入

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp        # dhcp方式获取IP地址
iface br0 inet dhcp
  bridge_ports eth0
  bridge_maxwait 0

创建qemu网络接口启动脚本

sudo vim /etc/qemu-ifup

将原来内容注释,并写入

#!/bin/sh
echo "Executing /etc/qemu-ifup"
echo "bridge networking"
echo "Bringing up $1 for bridge mode"
sudo /sbin/ifconfig $1 0.0.0.0 promisc up
echo "Adding $1 to br0"
sudo /sbin/brctl addif br0 $1
sleep 2

更改qemu-ifup权限,重启使配置生效

sudo chmod 777 /etc/qemu-ifup
sudo /etc/init.d/networking restart

失败,在网上查询之后,找到了比较好的解决方法


网卡中并没有叫eth0的。
将上面两个文件中的eth0改为ens33,再次sudo /etc/init.d/networking restart,成功。(但是我仍然不确定是否解决了本质问题...)

  • 我认为也可以将网卡名更改为eth0,不过我没有用这种方式,可以参考:https://blog.csdn.net/openbox2008/article/details/80051259 我觉得有些麻烦

执行:

sudo qemu-system-mips -M malta -kernel vmlinux-2.6.32-5-4kc-malta -hda debian_squeeze_mips_standard.qcow2 -append "root=/dev/sda1 console=tty0" -net nic, -net tap -nographic

登录

  - Hostname:       debian-mips
  - Root password:  root
  - User account:   user
  - User password:  user

查看

eth0没有ip,手动设置ifconfig eth0 xxx.xx.xx.xx,mips虚拟机的ip要和主虚拟机ip在同一网段
很麻烦...我这还遇见这么多错误...

法二(推荐)

第二种方法,是直接使用tunctl命令来建立一个虚拟网卡,与模拟的 mips 虚拟机进行通信

sudo tunctl -t tap0 -u `whoami`  # 为了与 QEMU 虚拟机通信,添加一个虚拟网卡
sudo ifconfig tap0 10.10.10.1/24 # 为添加的虚拟网卡配置 IP 地址
sudo qemu-system-mips -M malta -kernel vmlinux-2.6.32-5-4kc-malta -hda debian_squeeze_mips_standard.qcow2 -append "root=/dev/sda1 console=tty0" -net nic, -net tap -nographic           # 开启mips虚拟机

在mips虚拟机中登录后执行

ifconfig eth0 10.10.10.2/24

可以互相ping通说明配置成功

法三

和方法二差不多,也可以参考这篇
https://wzt.ac.cn/2019/09/10/QEMU-networking/
最后如果在mips虚拟机中ifconfig没有分配ip,可以同方法一,与宿主机同一段分配一个ip即可,如:

ifconfig eth0 192.168.95.160

参考:
https://blog.csdn.net/QQ1084283172/article/details/68942660
https://xz.aliyun.com/t/3826#toc-2
https://xz.aliyun.com/t/6071#toc-2
https://blog.csdn.net/youyudehexie/article/details/7583657
https://xz.aliyun.com/t/462#toc-6
感谢BufSnake 知世


[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

最后于 2020-3-25 23:52 被plkk编辑 ,原因:
收藏
点赞1
打赏
分享
最新回复 (7)
雪    币: 3373
活跃值: (3407)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
fengyunabc 1 2020-3-12 18:50
2
0
回帖收藏!
雪    币: 12075
活跃值: (15444)
能力值: ( LV12,RANK:240 )
在线值:
发帖
回帖
粉丝
pureGavin 2 2020-3-13 16:25
3
0
mark,楼主辛苦了
雪    币: 2510
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_xghoecki 2020-3-13 18:01
4
0
感谢分享
雪    币: 3170
活跃值: (129)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
我是一条咸鱼 2020-3-15 11:17
5
0
MARK
雪    币: 7411
活跃值: (2491)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rhinoceros 2020-3-19 17:08
6
0
好文  学习收藏
雪    币: 5
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_kugwraep 2020-4-1 23:01
7
1
马一下
雪    币: 1523
活跃值: (2038)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
herculiz 1 2021-7-8 14:07
8
0

支持支持!!

最后于 2021-7-8 14:19 被herculiz编辑 ,原因:
游客
登录 | 注册 方可回帖
返回