IOT漏洞挖掘 | 路由器固件仿真配置​(二)

IoT 1年前 (2023) admin
388 0 0

    云雾安全公众号

IOT漏洞挖掘

路由器固件仿真配置(二)

1.相关琐碎


上一节中简单演示了利用attifyos附带的工具模拟路由器固件,这一章演示另一种方法。


2.工具准备


qemu

下载地址:https://github.com/qemu/qemu

qemu是一个用C语言编写的开源虚拟化软件,主要对单片机或者嵌入式常用的一些处理器模拟,嵌入式开发中使用广泛,比如arm,mips, sparc,riscv等架构处理器。


qemu的架构如下图所示,由几个基本的组件组成:

IOT漏洞挖掘 | 路由器固件仿真配置​(二)

图 QEMU架构图(图来源时间之外沉浮事)

如图所示,qemu由以下几个部分组成:

Hypervisor控制仿真

Tiny Code Generator(TCG)在虚拟机器代码和宿主机代码之间进行转换。

软件内存管理单元(MMU)处理内存访问。

磁盘子系统处理不同的磁盘映像格式

设备子系统处理网卡和其他硬件设备

本次实验的固件是mips32位架构的因此,需要安装qemu-system-mipsel,

安装命令:

apt install qemu-system-mipsel

HG532固件

链接:https://pan.baidu.com/s/1vZt-Ww7NAFdFSbDivNHM0w 提取码:tnie

binwalk

安装教程:https://blog.csdn.net/qq_50854790/article/details/123391951

binwalk是用于搜索给定二进制镜像文件以获取嵌入的文件和代码的工具。具体来说,binwalk是一个固件的分析工具,旨在协助研究人员对固件非分析,提取及逆向工程用处。简单易用,完全自动化脚本,并通过自定义签名,提取规则和插件模块,还重要一点的是可以轻松地扩展。

网上很多安装教程,安装时注意要成功安装.deps.sh 脚本中的binwalk依赖,否则提取出的固件会不完整。

linux内核和硬盘映像

下载地址:https://people.debian.org/~aurel32/qemu/mipsel/

根据要模拟固件的是32或64位架构下载对应的内核和硬盘映像

IOT漏洞挖掘 | 路由器固件仿真配置​(二)


3.开始实验


使用binwalk提取固件中的文件系统

命令:binwalk -Me DIR645A1_FW103RUB08.bin-M 递归提取固件-e 自动提取已知文件类型


IOT漏洞挖掘 | 路由器固件仿真配置​(二)

在提取出的文件夹中,即可找到固件的文件系统

IOT漏洞挖掘 | 路由器固件仿真配置​(二)

IOT漏洞挖掘 | 路由器固件仿真配置​(二)

设置网络环境

为了与模拟出的路由器进行通信,需要虚拟网卡,做如下设置:sudo brctl addbr Virbr0sudo ifconfig Virbr0 192.168.153.1/24 upsudo tunctl -t tap0sudo ifconfig tap0 192.168.153.11/24 upsudo brctl addif Virbr0 tap0
IOT漏洞挖掘 | 路由器固件仿真配置​(二) IOT漏洞挖掘 | 路由器固件仿真配置​(二)

模拟路由器环境

使用qemu-system-mips模拟路由器环境,创建启动脚本start.sh并执行命令:
sudo qemu-system-mipsel   -M malta   -kernel vmlinux-2.6.32-5-4kc-malta   -hda debian_squeeze_mips_standard.qcow2   -append "root=/dev/sda1 console=tty0"   -netdev tap,id=tapnet,ifname=tap0,script=no   -device rtl8139,netdev=tapnet   -nographic
IOT漏洞挖掘 | 路由器固件仿真配置​(二) IOT漏洞挖掘 | 路由器固件仿真配置​(二) IOT漏洞挖掘 | 路由器固件仿真配置​(二)

登陆名和密码均为root,设置qemu虚拟机中网络环境

ifconfig eth0 192.168.153.2/24
IOT漏洞挖掘 | 路由器固件仿真配置​(二)
确认主机能与qemu虚拟机通信
IOT漏洞挖掘 | 路由器固件仿真配置​(二) IOT漏洞挖掘 | 路由器固件仿真配置​(二)

挂载固件文件系统

路由器环境已经备好,将binwalk提取出的固件文件系统,使用scp命令将文件系统传入qemu虚拟机

命令:

scp -r ./squashfs-root root@192.168.153.2:/root/
IOT漏洞挖掘 | 路由器固件仿真配置​(二)
然后挂载文件系统命令:mount -o bind /dev ./squashfs-root/dev/mount -t proc /proc/ ./squashfs-root/proc/chroot squashfs-root /bin/sh

IOT漏洞挖掘 | 路由器固件仿真配置​(二)

成功挂载文件系统


4.开启服务


在qemu虚拟机中重现http服务,在/bin下开启upnp和mic服务,因为开启之后qemu虚拟机网络会改变,因此需要ssh远程开启服务

命令:

ssh root@192.168.153.2chroot squashfs-root /bin/sh./bin/upnp./bin/mic
IOT漏洞挖掘 | 路由器固件仿真配置​(二)

然后在以上qemu虚拟机中重新设置网络

ifconfig eth0 192.168.153.2/24 upifconfig br0 192.168.153.11/24 up
IOT漏洞挖掘 | 路由器固件仿真配置​(二)

最后就可以在本机中访问模拟出的路由器网站

IOT漏洞挖掘 | 路由器固件仿真配置​(二)




关注有礼

  • 关注公众号回复”SRC”即可领取SRC分享资料礼包

  • 关注公众号回复”工具”即可领取渗透测试工具

  • 关注公众号回复”进群”即可和我们进行交流

关注

IOT漏洞挖掘 | 路由器固件仿真配置​(二)

扫二维码|关注我们

公众号| 云雾安全



原文始发于微信公众号(云雾安全):IOT漏洞挖掘 | 路由器固件仿真配置​(二)

版权声明:admin 发表于 2023年2月7日 下午2:41。
转载请注明:IOT漏洞挖掘 | 路由器固件仿真配置​(二) | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...