路由器环境基础工具安装
2020-03-12 17:14:32 Author: bbs.pediy.com(查看原文) 阅读量:307 收藏

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

我的环境

ubuntu:16.04
内核:4

方法一

sudo apt-get install binwalk

方法二(推荐)

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

在 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 进行安装。

有两种方法,一种是直接下载,另一种是通过官网下载包,然后再安装。经过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
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加对应的参数就可以执行。

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

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虚拟机

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
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://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 知世

2020安全开发者峰会(2020 SDC)议题征集 中国.北京 7月!

最后于 3小时前 被plkk编辑 ,原因:


文章来源: https://bbs.pediy.com/thread-258071.htm
如有侵权请联系:admin#unsafe.sh