wayos维盟路由器固件模拟与多个漏洞复现
字数 1209 2025-08-06 18:07:54

WayOS维盟路由器固件模拟与漏洞复现技术文档

0x01 固件模拟

  1. 固件获取

    • 下载地址:http://www.wayos.com/products/WAM9900siWANquanqia...
    • 使用FirmAE工具进行固件模拟
  2. 默认凭证

    • 访问地址:192.168.1.1:80
    • 默认账户:root/admin

0x02 固件解包

binwalk -Me WAN_9900-21.10.09V.trx

0x03 MQTT协议Telnet账户泄露漏洞

漏洞分析

  1. 启动机制

    • rcS启动脚本自动启动telnet服务
    • 使用grep搜索"WayOS"和"login"关键词,定位到mqtt_ai文件
  2. 关键函数分析

    • mqtt_ai_sw_telnet_login函数实现自动登录机制
    • 函数流程:
      • 接收telnet连接请求
      • 检测到"User Name:"提示时自动发送root/admin凭证
      • 检测到"Login:"提示时同样自动发送凭证
      • 最多尝试3次失败后返回错误
  3. 逆向分析工具

    • 使用Ghidra分析MIPS架构的二进制文件
    • 通过字符串定位和交叉引用分析关键函数

漏洞利用

  • 利用mqtt协议自动发送凭证的特性
  • 可直接使用root/admin凭证通过telnet登录获取shell

0x04 HTTPD命令注入漏洞

漏洞发现

  1. 逆向分析方法

    • 在Ghidra中搜索system函数调用
    • 分析所有调用点,寻找可控数据流
  2. 漏洞点定位

    • 发现usb_username和usb_hosorname参数未过滤
    • 拼接后直接传入system()执行

漏洞利用

  1. 请求分析

    • 涉及USB存储共享功能
    • 请求示例:
      POST /cgi-bin/webui/admin/usb_share HTTP/1.1
      ...
      hname=test;`command`&...
      
  2. 注入方法

    • 使用分号(;)分割命令
    • 使用反引号(`)执行嵌入命令
    • 需要进行URL编码
  3. 利用效果

    • 可执行任意系统命令
    • 可创建文件、反弹shell等

0x05 CSRF漏洞

漏洞分析

  1. 漏洞位置

    • usb.upload.htm文件
    • 可在免登录情况下访问但权限不足
    • 登录后无token和referer验证
  2. 功能分析

    • 文件删除功能
    • 文件上传功能

漏洞验证

  1. 测试方法

    • 使用usb_share账户登录
    • 访问usb_upload.htm执行删除操作
    • 使用Burp Suite Pro生成CSRF PoC
  2. 利用条件

    • 受害者已登录usb_share账户
    • 访问恶意构造的CSRF页面

技术总结

  1. 漏洞类型

    • 凭证硬编码/自动发送漏洞
    • 命令注入漏洞
    • CSRF漏洞
  2. 分析方法

    • 固件模拟与解包
    • 字符串搜索与交叉引用
    • 关键函数逆向分析
    • 动态测试验证
  3. 防护建议

    • 避免硬编码凭证
    • 对用户输入进行严格过滤
    • 增加CSRF防护机制
    • 最小权限原则

工具链

  1. 分析工具

    • FirmAE:固件模拟
    • binwalk:固件解包
    • Ghidra:逆向分析
  2. 测试工具

    • Burp Suite:请求抓取与修改
    • Telnet客户端:服务测试
  3. 调试工具

    • 字符串搜索命令(grep)
    • 进程监控工具
WayOS维盟路由器固件模拟与漏洞复现技术文档 0x01 固件模拟 固件获取 : 下载地址:http://www.wayos.com/products/WAM9900siWANquanqia... 使用FirmAE工具进行固件模拟 默认凭证 : 访问地址:192.168.1.1:80 默认账户:root/admin 0x02 固件解包 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存储共享功能 请求示例: 注入方法 : 使用分号(;)分割命令 使用反引号( ` )执行嵌入命令 需要进行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) 进程监控工具