使用binwalk提取文件系统
binwalk –Vme HG532eV100R001C01B020_upgrade_packet.bin
出现了报错,查看下报错内容:
是缺少sasquatch
开始出现报错后解压出来的文件是空的
经过墨鱼实验室大佬的指点后添加了相应的功能
sudo apt-get install build-essential liblzma-dev liblzo2-dev zlib1g-dev
以及安装sasquatch
https://github.com/devttys0/sasquatch
之后,完美运行
Squashfs标准格式
Big endian 大端序
出现了文件系统
找到文件系统中的一个可执行文件进行文件属性查看
系统分为精简指令集以及复杂指令集
大端序和小端序
使用file命令进行查看
MIPS属于RISC精简指令集的体系(《解密家用路由器0day漏洞挖掘技术》1.2.1章节)
这里是MIPS32位所以启动qemu的时候选择32位的启动命令
这里需要配置网络环境,我们在虚拟机中的ubuntu系统搭建qemu虚拟环境
我们需要桥接一个网卡
目前是ens33网口
创建一个新的网口
Tunctl –t top0 –u root
Ifconfig top0 192.168.10.1/24
Ifconfig
开启qemu虚拟环境
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,ifname=top0 -nographic
我们在末尾添加了网络配置让qemu虚拟机将top网卡作为网关
-nographic不显示窗体
正在启动
Qemu的登陆密码是root/root
我们进入虚拟机进行网络的配置
Ifconfig查看当前的网络环境
配置到我们top0网络下,将top0作为虚拟机网络出口
Ifocnfig eth0 192.168.10.2/24
测试一下网络
可以ping的通我们的虚拟机
我们使用scp将系统文件上传到qemu虚拟机的root文件夹下
先打包成一个tar文件
tar -czvf 1.tar squashfs-root/
打包完成后进行上传
scp 1.tar root@192.168.10.2:/root/
查看到qemu虚拟机内已经接受到1.tar
进行解压
使用tar –zxvf 1.tar命令进行解压
进行文件的挂载
mount -o bind /dev ./squashfs-root/dev
mount -t proc /proc ./squashfs-root/proc/
挂载完成后启动shell
chroot ./squashfs-root/ sh
我们使用ssh直接连接到qemu虚拟
再次启动shell
下面开启路由器的环境
./bin/upnp
./bin/mic
路由器的虚拟机启动成功
我们使用nmap进行端口的扫描
Nmap –Pn –T4 192.168.10.2