安全研究员 João Domingos 发布了影响 FiberGateway GR241AG 路由器的完整漏洞利用链的全面细分,该路由器在葡萄牙有超过 160 万个家庭使用。最初是个人 DNS 配置挫败感,导致 root 访问、通过公共 WiFi 远程执行代码,并最终导致设备完全受损。
Domingos 的旅程始于 2020 年,目标很简单:配置 Pi-hole 来过滤 DNS 流量。但是 Meo 提供的路由器锁定了 DNS 设置。他没有接受失败或购买新硬件,而是开始了一场黑客冒险之旅:以 10 欧元的价格购买一台二手GR241AG,将其拆解,并最终通过 UART 接口实现 root 访问。
在这项研究中最具电影感的时刻之一,Domingos 描述了附近硬盘驱动器的振动如何在启动过程中无意中诱导故障注入,从而将设备放入 root shell:
“我正在从路由器附近的 HDD 磁盘恢复文件。看来是 HDD 的震动起到了某种故障注入的作用……如果在启动期间发生这种情况,则会发生分段错误,并且启动进程将下降到根 shell。
他使用 USB 驱动器转储了路由器的固件,并在一个库中发现了明文管理员凭据。这授予了对具有新功能(固件更新、DNS 修改和流量监控)的受限 shell 的访问权限,即使对于面向公众的 MEO WiFi 用户也是如此。
在 tcpdump 实用程序中发现参数注入漏洞后,我们取得了突破。通过巧妙地使用 -z 和 -G 标志,Domingos 构建了一个漏洞利用链,允许在没有物理访问的情况下远程执行代码 – 完全通过网络。
也许最令人担忧的是最后一步:通过 MEO WiFi 实现完全 RCE,MEO WiFi 是 Meo 默认启用的公共网络,横跨葡萄牙。
通过利用 IPv6 的邻居发现协议 (NDP),Domingos 能够识别路由器的内部 IP 地址,即使每次重启时该地址都会发生变化。然后,使用早期的 tcpdump 注入,他在路由器中启动了一个反向 shell:
“完整的漏洞利用链将包括以下内容:连接到 MEO WiFi 网络,通过发送 ICMPv6 数据包来识别 IPv6 地址,通过 SSH 连接到路由器,然后利用 tcpdump 获得反向 shell。”
他甚至使用 Python 脚本自动执行该过程 — 一个用于完全利用,另一个用于从私有接口转储 WPA2 密钥。
此漏洞的影响是巨大的:
-
- DNS 劫持
- 提取电话记录
-
- 网络监控
- 本地网络设备访问
- WPA2 密钥盗窃
- 拒绝服务
所有这一切,都在任何公共 MEO WiFi 信号的范围内。
Domingos 负责任地向葡萄牙的 Centro Nacional de Cibersegurança (CNCS) 披露了调查结果,后者联系了 Meo 的 CERT 团队。在一周内,通过 MEO WiFi 的远程 RCE 得到了缓解。在接下来的几个月里,其他漏洞得到了修补,但访问权限被撤销,阻止了进一步的验证。
发表评论
您还未登录,请先登录。
登录