wayos维盟路由器固件模拟与多个漏洞复现
字数 1209 2025-08-06 18:07:54
WayOS维盟路由器固件模拟与漏洞复现技术文档
0x01 固件模拟
-
固件获取:
- 下载地址:http://www.wayos.com/products/WAM9900siWANquanqia...
- 使用FirmAE工具进行固件模拟
-
默认凭证:
- 访问地址:192.168.1.1:80
- 默认账户:root/admin
0x02 固件解包
binwalk -Me WAN_9900-21.10.09V.trx
0x03 MQTT协议Telnet账户泄露漏洞
漏洞分析
-
启动机制:
- rcS启动脚本自动启动telnet服务
- 使用grep搜索"WayOS"和"login"关键词,定位到mqtt_ai文件
-
关键函数分析:
mqtt_ai_sw_telnet_login函数实现自动登录机制- 函数流程:
- 接收telnet连接请求
- 检测到"User Name:"提示时自动发送root/admin凭证
- 检测到"Login:"提示时同样自动发送凭证
- 最多尝试3次失败后返回错误
-
逆向分析工具:
- 使用Ghidra分析MIPS架构的二进制文件
- 通过字符串定位和交叉引用分析关键函数
漏洞利用
- 利用mqtt协议自动发送凭证的特性
- 可直接使用root/admin凭证通过telnet登录获取shell
0x04 HTTPD命令注入漏洞
漏洞发现
-
逆向分析方法:
- 在Ghidra中搜索system函数调用
- 分析所有调用点,寻找可控数据流
-
漏洞点定位:
- 发现usb_username和usb_hosorname参数未过滤
- 拼接后直接传入system()执行
漏洞利用
-
请求分析:
- 涉及USB存储共享功能
- 请求示例:
POST /cgi-bin/webui/admin/usb_share HTTP/1.1 ... hname=test;`command`&...
-
注入方法:
- 使用分号(;)分割命令
- 使用反引号(`)执行嵌入命令
- 需要进行URL编码
-
利用效果:
- 可执行任意系统命令
- 可创建文件、反弹shell等
0x05 CSRF漏洞
漏洞分析
-
漏洞位置:
- usb.upload.htm文件
- 可在免登录情况下访问但权限不足
- 登录后无token和referer验证
-
功能分析:
- 文件删除功能
- 文件上传功能
漏洞验证
-
测试方法:
- 使用usb_share账户登录
- 访问usb_upload.htm执行删除操作
- 使用Burp Suite Pro生成CSRF PoC
-
利用条件:
- 受害者已登录usb_share账户
- 访问恶意构造的CSRF页面
技术总结
-
漏洞类型:
- 凭证硬编码/自动发送漏洞
- 命令注入漏洞
- CSRF漏洞
-
分析方法:
- 固件模拟与解包
- 字符串搜索与交叉引用
- 关键函数逆向分析
- 动态测试验证
-
防护建议:
- 避免硬编码凭证
- 对用户输入进行严格过滤
- 增加CSRF防护机制
- 最小权限原则
工具链
-
分析工具:
- FirmAE:固件模拟
- binwalk:固件解包
- Ghidra:逆向分析
-
测试工具:
- Burp Suite:请求抓取与修改
- Telnet客户端:服务测试
-
调试工具:
- 字符串搜索命令(grep)
- 进程监控工具