作者:ryze_t
01
简介
Binwalk 可以提取出其文件系统。
文末跳转“阅读原文”获取固件下载地址
02
固件模拟
Tenda 控制 WEB 相关流程的程序一般是 bin 目录下的 httpd 程序:
通过 sudo qemu-mipsel -L ./ ./bin/httpd 进行模拟:
关键词搜索在main函数处:
22行有关于 apmib_init 的判断,若失败会输出“Initialize AP MIB failed !”。
通过 IDA 判断找到关键判断为 0x33A68 处,通过 010editor 将 bnez 改为 beqz:
保存替换后发现卡在 check_network处,同样的方式进行修改,执行:
继续修改 check_cfm 的判断,执行:
listen ip = 255.255.255.255,加一张 br0 网卡:
apt install uml-utilities bridge-utils
brctl addbr br0
ifconfig br0 192.168.142.100/24
brctl addif br0 ens33
再执行发现又进入了 check_network 的判断循环,应该是通过增加网卡使得 check_network 返回正常,这里通过010editor修改回去,再执行:
模拟成功。
分析过程请在文末跳转查看
原文始发于微信公众号(IOTsec Zone):Tenda 路由器 CVE-2022-37810分析