路由器漏洞挖掘测试环境的搭建之问题总结
字数 828 2025-08-22 12:22:36

路由器漏洞挖掘测试环境搭建指南

前言

本指南详细介绍了如何搭建路由器漏洞挖掘测试环境,主要使用QEMU模拟器创建MIPS系统虚拟机来运行路由器固件。本教程基于《揭秘家用路由器0day漏洞挖掘技术》和实际搭建经验,总结了常见问题及解决方案。

工具安装

1. binwalk安装

binwalk用于固件分析,安装命令:

sudo apt-get install binwalk
# 或从源码安装
sudo git clone https://github.com/devttys0/binwalk.git

2. sasquatch安装

sasquatch用于处理SquashFS文件系统:

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

3. QEMU安装

基础QEMU安装:

sudo apt-get install qemu

交叉编译环境搭建

1. buildroot安装

sudo apt-get install libncurses5-dev patch
wget http://buildroot.uclibc.org/downloads/snapshots/buildroot-snapshots.tar.bz2
tar -jxvf buildroot-snapshots.tar.bz2
cd buildroot/
make clean
make menuconfig
sudo make

2. ncurses库缺失问题

执行make menuconfig时可能出现错误:

*** Unable to find the ncurses libraries or the *** required header files.
*** 'make menuconfig' requires the ncurses libraries.
Install ncurses (ncurses-devel) and try again.

解决方案:

sudo apt-get install libncurs*

3. 大小端编译问题

默认编译为小端程序(mipsel-linux-gcc),如需大端程序:

  1. 分步编译:
mipsel-linux-gcc demo.c -EB -c -static -o demo1  # 编译
mipsel-linux-ld demo1 -EB -o demo                # 链接
  1. 编译共享库需加-shared参数

验证文件格式:

file demo
# 小端显示:ELF 32-bit LSB executable
# 大端显示:ELF 32-bit MSB executable

QEMU使用问题

1. chroot命令问题

错误示例:

sudo chroot . ./qemu-mips -E LD_PRELOAD="./test" ./bin/boa
# 报错:chroot: failed to run command './qemu-mips': No such file or directory

解决方案:

apt-get install qemu binfmt-support qemu-user-static
sudo chroot . ./qemu-mips-static -E LD_PRELOAD="./test" ./bin/boa

2. system-mode黑屏问题

执行命令后黑屏:

sudo qemu-system-mips64 -M malta -kernel vmlinux-2.6.32-5-5kc-malta -hda debian_squeeze_mips_standard.qcow2 -append "root=/dev/sda1 console=tty0" -net nic,macaddr=00:0c:29:ee:39:39 -net tap -nographic

解决方案:

sudo apt-get install qemu-kvm libvirt virt-install virt-manager
# 建议使用32位mips内核镜像
sudo qemu-system-mips -M malta -kernel vmlinux-2.6.32-5-4kc-malta -hda debian_squeeze_mipsel_standard.qcow2 -append "root=/dev/sda1 console=tty0" -net nic, -net tap -nographic

网络配置

1. 本地网卡配置

编辑/etc/network/interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual
up ifconfig eth0 0.0.0.0 up

auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_maxwait 1

2. QEMU网卡配置

编辑/etc/qemu-ifup

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 3

3. 启用配置

sudo ifup br0
sudo /etc/init.d/networking restart

4. 虚拟机内网络配置

如果虚拟机内无IP地址,手动配置:

ifconfig eth0 192.168.123.150/24

确保与主机br0网卡同网段。

反编译工具

1. jeb-mips

下载地址:https://www.pnfsoftware.com/jeb2/mips
使用方法:

  1. 打开jeb-mips
  2. 右键 -> 解析,查看伪代码

2. Retdec

IDA插件,安装较复杂,参考:
https://bbs.pediy.com/thread-230290.htm

总结

本指南涵盖了路由器漏洞挖掘环境搭建的关键步骤和常见问题解决方案,包括工具安装、交叉编译环境配置、QEMU使用问题、网络配置和反编译工具等。按照本指南操作可成功搭建路由器漏洞挖掘测试环境。

路由器漏洞挖掘测试环境搭建指南 前言 本指南详细介绍了如何搭建路由器漏洞挖掘测试环境,主要使用QEMU模拟器创建MIPS系统虚拟机来运行路由器固件。本教程基于《揭秘家用路由器0day漏洞挖掘技术》和实际搭建经验,总结了常见问题及解决方案。 工具安装 1. binwalk安装 binwalk用于固件分析,安装命令: 2. sasquatch安装 sasquatch用于处理SquashFS文件系统: 3. QEMU安装 基础QEMU安装: 交叉编译环境搭建 1. buildroot安装 2. ncurses库缺失问题 执行 make menuconfig 时可能出现错误: 解决方案: 3. 大小端编译问题 默认编译为小端程序(mipsel-linux-gcc),如需大端程序: 分步编译: 编译共享库需加 -shared 参数 验证文件格式: QEMU使用问题 1. chroot命令问题 错误示例: 解决方案: 2. system-mode黑屏问题 执行命令后黑屏: 解决方案: 网络配置 1. 本地网卡配置 编辑 /etc/network/interfaces : 2. QEMU网卡配置 编辑 /etc/qemu-ifup : 3. 启用配置 4. 虚拟机内网络配置 如果虚拟机内无IP地址,手动配置: 确保与主机br0网卡同网段。 反编译工具 1. jeb-mips 下载地址:https://www.pnfsoftware.com/jeb2/mips 使用方法: 打开jeb-mips 右键 -> 解析,查看伪代码 2. Retdec IDA插件,安装较复杂,参考: https://bbs.pediy.com/thread-230290.htm 总结 本指南涵盖了路由器漏洞挖掘环境搭建的关键步骤和常见问题解决方案,包括工具安装、交叉编译环境配置、QEMU使用问题、网络配置和反编译工具等。按照本指南操作可成功搭建路由器漏洞挖掘测试环境。