当前位置: 首页 > news >正文

利用废弃硬件中的零日漏洞:从Netgear路由器到BitDefender盒子的攻击链分析

利用废弃硬件中的零日漏洞

在2025年2月DistrictCon首届Junkyard竞赛中,我们成功利用了两款已停产的网络设备,荣获"最具创新性利用技术"亚军。我们的漏洞利用链证明了生命周期终止(EOL)硬件为何会构成持续安全风险:当制造商停止发布更新时,未修补的漏洞会像化石一样被永久冻结,成为攻击者的完美目标。

设备概况

我们攻击的两款设备——Netgear WGR614v9路由器和BitDefender Box V1——都是曾流行的家用网络保护设备。但由于多年未获更新,我们能够从本地网络实现完全远程利用。

技术分析路径

Netgear路由器分析

我们拆卸设备后识别了调试接口、数据存储芯片和SOC。由于Netgear在线提供固件,我们直接下载而非自行提取。使用binwalk和unblob递归解包固件后,我们通过端口扫描识别感兴趣的网络服务,并通过串行控制台检查运行进程、LAN端服务、CPU规格、内核版本和启用缓解措施。

BitDefender盒子分析

我们发现串行端口但shell被锁定。通过SPI闪存芯片提取固件后,尝试通过逆向工程更新机制获取最新版本,但更新服务器已离线。最终通过APK镜像网站找到疑似最新固件(因固件包含在APK中)。由于设备无shell,我们使用QEMU用户模式本地模拟httpd二进制文件进行动态测试。

Netgear路由器UPnP漏洞利用

该路由器运行基于MIPS32的系统,我们通过板载暴露的"JP1"UART接口在启动过程中获得低级系统访问权限。

重点分析通用即插即用(UPnP)守护进程:该服务接受SOAP消息(XML格式命令)控制路由器功能,因其复杂解析需求和特权系统访问而成为主要目标。

利用链包含四个漏洞:

  • SOAP消息处理程序中的认证绕过漏洞(允许密码重置)
  • BSS和堆栈内存区域的三个缓冲区溢出漏洞

创新利用技术

bashsledding:经典nopsled技术的变体。发现两个可调用"system"的ROP gadget后,通过路由器域名阻止功能将shell命令载荷喷洒到NVRAM(内存映射到所有进程)。通过在命令前添加空格序列(作为"nops"),无论精确着陆位置如何,bash解释器都会无害处理空格直到执行我们的命令,形成有效shell语法"雪橇"而非CPU指令。

bigfish_littlepond:将有限内存破坏漏洞巧妙转换为更强命令注入。利用BSS溢出修改相邻代表shell命令的字符串指针,结合upnpd中存在的"bpa_monitor"字符串和该二进制文件中的可利用命令注入,将其改为启动bpa_monitor二进制文件。附加包含注入载荷的请求可实现完整代码执行。

利用过时固件攻破BitDefender盒子

这款2021年7月停产的网络安全设备存在讽刺性漏洞:我们发现了完全无需认证的固件更新机制。

硬件分析显示Winbond W25Q128FV SPI NOR闪存芯片,我们使用SOP8夹子和XGecu T48编程器提取固件。固件分析显示基于Lua的Web服务器,包含移动应用使用的多个HTTP端点。

利用链使用以下端点:

  • /update_auth_token(具有清除阻止固件更新的配置文件的副作用)
  • /upload_backup_firmware(上传Base64编码固件镜像)
  • /decode_image(解码和验证固件基本结构)
  • /check_image_and_trigger_recovery(包含易受攻击的md5参数)

虽然设备使用RSA公钥实现固件更新签名验证,但我们发现BitDefender在移动应用APK中分发旧固件镜像。通过VirusTotal上的旧版APK(v1.3.12.869),我们恢复了具有有效签名的固件v1.3.11.490。

对比新旧固件发现md5参数存在基本命令注入漏洞:典型的字符串插值未过滤案例。新版固件实现了过滤分号、引号、管道和括号等字符的验证函数,但旧版本缺少此保护。

通过降级到易受攻击的固件并利用命令注入,我们将SSH公钥添加到设备的authorized_keys文件,获得对整个系统的持久访问。

安全影响与建议

这些漏洞代表了IoT安全中的更广泛模式:UPnP实现缺陷不仅限于Netgear路由器,可能影响其他制造商和设备;固件降级漏洞凸显了所谓安全更新机制经常缺乏关键保护(如降级预防)。

建议:

  • 检查智能设备是否EOL并谨慎使用
  • 购买新设备前研究制造商支持时间表
  • 寻求开源替代方案

对研究人员而言,EOL设备既代表宝贵学习机会,也是网络中潜在安全盲点。Junkyard竞赛比Pwn2Own等高风险竞赛更易参与,是研究人员提升技能的良好平台。

目标选择技巧

选择合适EOL设备需满足:

  • 制造商已停止支持
  • 设备足够便宜可购买多个副本
    (备用设备很重要,因为可能遇到不同固件版本、二手设备状态差异,或因拆解或意外变砖需要替换)

优先选择可能包含有趣漏洞且无需数月逆向工程的设备。调试接口非必需但能极大简化分析。关键是获取固件的方式:有些制造商公开提供固件下载,有些需从设备提取。SPI芯片更易处理,而从eMMC提取固件需要专用工具。

购买前应在线研究:检查制造商网站的固件下载、现有安全研究资料,以及查阅FCC文件了解设备内部结构。

完整利用代码和技术文档详见GitHub仓库,操作视频可在YouTube查看
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
公众号二维码

http://www.wxhsa.cn/company.asp?id=631

相关文章:

  • ECT-OS-JiuHuaShan框架:自然规律的具象化智能体(附《易经》类比解析)
  • 力扣第5题最长回文子串
  • 用 Python 和 PaddleOCR 进行验证码识别
  • TASK 1 训练一个网络识别手写数字
  • 复杂背景验证码的识别思路与图像处理方法
  • Symfony学习笔记 - The Symfony Framework Best Practices
  • 大学军训
  • Vue Day3【综合案例2】vue小兔鲜儿
  • Java 基础知识解析
  • 力扣第3题 无重复字符的最长子串
  • UniApp 自定义导航栏
  • P3177 [HAOI2015] 树上染色
  • UniApp 自定义tabBar
  • NOIP2024复盘
  • Avalonia 学习笔记04. Page Navigation(页面导航) (转载)
  • 判断左手坐标系和右手坐标系的方法
  • 题解:P11894 「LAOI-9」Update
  • 题解:P2012 拯救世界2
  • 今日随笔
  • 一键安装小雅Alist
  • 题解:AT_abc394_c [ABC394C] Debug
  • Lumion Pro 12.0 下载安装教程包含安装包下载、安装、激活超详细图文步骤
  • 题解:CF348C Subset Sums
  • 题解:CF351B Jeff and Furik
  • 题解:CF2118D1 Red Light, Green Light (Easy version)
  • Project Euler题解思路导航(私人)
  • 27届春招备战一轮复习--第五期
  • 阅读方式
  • Audition 2025(AU2025)超详细直装版下载安装教程保姆级
  • pg 解析select语句的返回值