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. 漏洞利用

  1. 使用默认凭据登录路由器管理界面:

    • 用户名: admin
    • 密码: admin
  2. 访问后门 URL 执行命令:

    http://192.168.1.1/userRpmNatDebugRpm26525557/linux_cmdline.html
    

三、漏洞分析

  1. 漏洞类型:认证后命令执行后门
  2. 利用条件:需要先通过管理员认证
  3. 利用价值:实战中价值有限,但为漏洞挖掘提供了新思路
  4. 学习收获
    • 熟悉了 firmwalker.sh 扫描功能
    • 掌握了固件模拟和分析的基本流程
    • 了解了后门漏洞的常见实现方式

四、防御建议

  1. 及时更新固件到最新版本
  2. 修改默认管理员密码
  3. 限制管理界面访问来源
  4. 定期进行固件安全审计

五、参考文献

  1. FirmAE 官方 GitHub 仓库
  2. TP-Link WR740 固件分析报告
  3. 相关 IoT 安全研究资料
TP-Link WR740 后门漏洞复现教学文档 一、环境准备 1. FirmAE 安装 FirmAE 是一个固件模拟与分析工具,安装步骤如下: 2. 依赖问题解决 在运行过程中可能会遇到以下问题及解决方案: 问题1 : 缺少 --run-as=root 和 --preserve-symlinks 文件 解决方案 : 升级 binwalk 到 v2.3.3+5aebd7b 版本 问题2 : 其他依赖缺失 二、漏洞复现步骤 1. 固件解包 使用 binwalk 解包 TP-Link WR740 固件: 2. 固件敏感信息扫描 使用 firmwalker.sh 扫描解包后的文件系统: 扫描结果显示 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. 固件模拟 检查固件是否可模拟 : 启动模拟 : 5. 漏洞利用 使用默认凭据登录路由器管理界面: 用户名: admin 密码: admin 访问后门 URL 执行命令: 三、漏洞分析 漏洞类型 :认证后命令执行后门 利用条件 :需要先通过管理员认证 利用价值 :实战中价值有限,但为漏洞挖掘提供了新思路 学习收获 : 熟悉了 firmwalker.sh 扫描功能 掌握了固件模拟和分析的基本流程 了解了后门漏洞的常见实现方式 四、防御建议 及时更新固件到最新版本 修改默认管理员密码 限制管理界面访问来源 定期进行固件安全审计 五、参考文献 FirmAE 官方 GitHub 仓库 TP-Link WR740 固件分析报告 相关 IoT 安全研究资料