路由器漏洞挖掘测试环境的搭建之问题总结
字数 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),如需大端程序:
- 分步编译:
mipsel-linux-gcc demo.c -EB -c -static -o demo1 # 编译
mipsel-linux-ld demo1 -EB -o demo # 链接
- 编译共享库需加
-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
使用方法:
- 打开jeb-mips
- 右键 -> 解析,查看伪代码
2. Retdec
IDA插件,安装较复杂,参考:
https://bbs.pediy.com/thread-230290.htm
总结
本指南涵盖了路由器漏洞挖掘环境搭建的关键步骤和常见问题解决方案,包括工具安装、交叉编译环境配置、QEMU使用问题、网络配置和反编译工具等。按照本指南操作可成功搭建路由器漏洞挖掘测试环境。