对NETIS WF2409E路由器进行的一次完整硬件安全分析研究。通过对设备进行拆解分析、调试接口识别、固件提取等工作,记录了硬件分析的全过程、漏洞细节以及相应的安全建议,希望能帮助提高物联网设备的安全性。

| 类别 | 参数 | 描述 |
|---|---|---|
| 设备信息 | 型号 | Netis WF2409E |
| 类型 | 300Mbps 无线 N 路由器 | |
| 电源 | DC 9V/500mA | |
| 硬件版本 | V1.8 | |
| PCB 版本 | PB-7189-M02G-20 | |
| 生产日期 | 2015-03-23 | |
| 生产国 | 中国 | |
| 网络标识 | 序列号 | 2409EEU5B102714 V1.8 |
| MAC 地址 | W8D398DFB68 | |
| 默认 SSID | netis_BDFB68 | |
| 默认密码 | password | |
| 管理地址 | http://netis.cc | |
| 硬件接口 | WAN 口 | 1(蓝色 RJ45) |
| LAN 口 | 4(黑色 RJ45,LAN1-4) | |
| 天线 | 3 根外置天线 | |
| 电源接口 | DC 输入(PWR) | |
| 功能按钮 | Default | 恢复出厂设置 |
| WPS | 安全 WiFi 设置 |
| 检查项 | 状态 | 备注 |
|---|---|---|
| 电源指示灯 | 正常 | 通电后稳定亮起 |
| 网络指示灯 | 正常 | 连接时闪烁 |
| WAN 口状态 | 正常 | 正常连接网络 |
| LAN 口状态 | 正常 | 全部 4 个端口工作正常 |
| WiFi 功能 | 正常 | 天线完好,信号正常 |
| WPS 功能 | 正常 | 按钮响应 |
| 复位功能 | 正常 | Default 按钮正常工作 |

| 编号 | 芯片型号 | 制造商 | 主要功能 | 技术规格 | 备注 |
|---|---|---|---|---|---|
| 1 | EM63A165TS-6G | EtronTech | 系统内存 | - 容量 32 Mbit - 频率 166MHz - SDRAM 架构 - TSOP-II 封装 | - 用于临时数据存储 - 支持主处理器计算 |
| 2 | FR9886 61504 | 未知 | 电源管理 | - SOIC-8 封装 - 集成电路 | - DC-DC - 负责电压调节 - 提供稳定的系统电源 |
| 3 | RTL8196E | Realtek/RMC | 主处理器 | - MIPS 架构 - SoC 设计 - 台湾制造 | - 系统中央处理器 - 负责主要计算和管理 - 集成网络处理功能 |
| 4 | MX25L3206E | Macronix | Flash 存储器 | - 容量 32Mb (4MB) - SPI 接口 - SOIC 封装 | - 存储系统固件 - 保存配置数据 |
| 5 | RTL8192ER | Realtek/RMC | 无线通信 | - WiFi 控制器 - QFN 封装 | - 处理无线信号 - 支持 WiFi 功能 |


| 参数 | 规格 |
|---|---|
| 处理器型号 | RealTek RTL8196E |
| 架构 | 16-bit |
| 时钟频率 | 380MHz |
| 编译日期 | 2014.09.29 |
| 参数 | 值 | 十六进制值 |
|---|---|---|
| 芯片型号 | MX25L3205D | - |
| 总容量 | 4MB | 0x400000 |
| 块大小 | 64KB | 0x10000 |
| 扇区大小 | 4KB | 0x1000 |
| 页大小 | 256B | 0x100 |
| 参数 | 描述 |
|---|---|
| 引导加载程序类型 | RealTek 专有引导加载程序 |
| 内核加载地址 | 0x80500000 |
| 起始执行地址 | 0x80003440 |
| 签名搜索范围 | 0x10000-0x170000 |
| 参数 | 值 |
|---|---|
| IP 地址 | 192.168.0.1 |
| 子网掩码 | 255.255.255.0 |
| MAC 地址 | 04:8d:38:bd:fb:69 |
| 无线接口 | wlan0(含 va0-va3, vxd) |
| 参数 | 值 |
|---|---|
| 设备型号 | netis WF2419E_RU |
| 固件版本 | V2.5.40200 |
| 固件日期 | 2016.09.02 |
| BusyBox 版本 | v1.00-pre8 (2015.01.23) |
| 服务名称 | 状态 | 备注 |
|---|---|---|
| DHCP 服务器 | 运行中 | 正常 |
| HTTP 服务器 (Boa) | 运行中 | 异常重启 |
| IAPP | 运行中 | IEEE 802.11f |
| MiniIGD | 运行中 | v1.08.1 |
| mini_upnpd | 错误 | 文件未找到 |
| telnetd | 错误 | 文件未找到 |
| ota_init.sh | 错误 | 文件未找到 |
值得注意的是,该设备可能未使用 U-Boot。关键特征如下:
---RealTek(RTL8196E)at 2014.09.29-19:16+0800 v1.0 [16bit](https://github.com/victorique-123/cve-2023-38829-netis-wf2409e_report/blob/master/380MHz)
| 命令 | 语法 | 功能 |
|---|---|---|
| HELP | ? | 显示帮助信息 |
| DB/DW | DB/DW <地址> <长度> | 逐字节/逐字读取内存 |
| EB/EW | EB/EW <地址> <值> | 逐字节/逐字写入内存 |
| FLR | FLR <目标><源><长度> | 从 Flash 读取数据到 RAM |
| FLW | FLW <ROM目标><RAM源><长度> | 从 RAM 写入数据到 Flash |
| IPCONFIG | IPCONFIG <IP 地址> | 设置 IP 地址 |
| LOADADDR | LOADADDR <地址> | 设置加载地址 |
| CMP | CMP <目标><源><长度> | 比较内存数据 |
| J | J <地址> | 跳转执行 |
| MDIOR/MDIOW | MDIOR/W [data] | 读取/写入 PHY 寄存器 |
| PHYR/PHYW | PHYR/W [data] | 读取/写入 PHY 寄存器(替代方法) |
| PORT1 | PORT1 | 端口 1 补丁测试 |
| AUTOBURN | AUTOBURN 0/1 | 控制自动刷写 |
Bootloader 命令:
<RealTek> FLR 80000000 0 100 #从 Flash 读取
<RealTek> DB 80000000 100 #查看内存内容
