TP-Link WR740 后门漏洞复现
字数 1151 2025-08-22 12:23:25
TP-Link WR740 后门漏洞复现教学文档
一、环境准备
1. FirmAE 安装
FirmAE 是一个固件模拟与分析工具,安装步骤如下:
git clone --recursive https://github.com/pr0v3rbs/FirmAE
sudo ./download.sh
sudo ./install.sh
sudo ./init.sh
2. 依赖问题解决
在运行过程中可能会遇到以下问题及解决方案:
问题1: 缺少 --run-as=root 和 --preserve-symlinks 文件
解决方案: 升级 binwalk 到 v2.3.3+5aebd7b 版本
sudo apt-get autoremove binwalk
cd binwalk-2.3.4
sudo python3 setup.py install
问题2: 其他依赖缺失
sudo apt-get install bc
sudo apt-get install fdisk
二、漏洞复现步骤
1. 固件解包
使用 binwalk 解包 TP-Link WR740 固件:
binwalk -Me wr740nv1_en_3_12_4_up.bin
2. 固件敏感信息扫描
使用 firmwalker.sh 扫描解包后的文件系统:
sudo ./firmwalker.sh /home/luyouqi/模拟/TP-Link_WR740/_wr740nv1_en_3_12_4_up.bin.extracted/squashfs-root/
扫描结果显示 httpd 服务存在可疑功能。
3. 静态分析
使用 IDA 进行静态分析,发现以下关键点:
- 验证机制:检查命令是否为 "exit",若不是则验证用户名和密码
- 用户名:
osteam - 密码:
5up
- 用户名:
- 命令执行方式:通过
write(pty,cmd,strlen(cmd))模拟执行命令
发现以下可疑 URL 路径及处理程序:
| URL路径 | 处理程序 | 功能描述 |
|---|---|---|
| /userRpmNatDebugRpm26525557/start_art.html | ArtRpmHtm | 启动特定调试过程或展示相关界面 |
| /userRpmNatDebugRpm26525557/linux_cmdline.html | CmdRpmHtm | 执行命令行相关的调试操作 |
| /userRpm/DebugResultRpm.htm | DebugResultRpmHtm | 显示或获取调试结果 |
通过分析 httpRpmConfAdd 函数发现其功能是绑定 URL 和执行函数,httpDebugInit 函数疑似为调试后门。
4. 固件模拟
检查固件是否可模拟:
sudo ./run.sh -c tp-link '/home/luyouqi/模拟/TP-Link_WR740/wr740nv1_en_3_12_4_up.bin'
启动模拟:
sudo ./run.sh -r tp-link '/home/luyouqi/模拟/TP-Link_WR740/wr740nv1_en_3_12_4_up.bin'
5. 漏洞利用
-
使用默认凭据登录路由器管理界面:
- 用户名:
admin - 密码:
admin
- 用户名:
-
访问后门 URL 执行命令:
http://192.168.1.1/userRpmNatDebugRpm26525557/linux_cmdline.html
三、漏洞分析
- 漏洞类型:认证后命令执行后门
- 利用条件:需要先通过管理员认证
- 利用价值:实战中价值有限,但为漏洞挖掘提供了新思路
- 学习收获:
- 熟悉了 firmwalker.sh 扫描功能
- 掌握了固件模拟和分析的基本流程
- 了解了后门漏洞的常见实现方式
四、防御建议
- 及时更新固件到最新版本
- 修改默认管理员密码
- 限制管理界面访问来源
- 定期进行固件安全审计
五、参考文献
- FirmAE 官方 GitHub 仓库
- TP-Link WR740 固件分析报告
- 相关 IoT 安全研究资料