IBM揭露腾达电力猫路由器中多个漏洞

2020-06-29 10:55:05 1 2157

电力猫被认为是替代 Wi-Fi 扩展器的方案之一,电力猫即“电力线通讯调制解调器”,是通过电力 线进行宽带上网的Modem的俗称。使用家庭或办公室现有电力线和插座组建成网络,来连接PC,ADSL modem,机顶盒,音频设备, 监控设备以及其他的智能电气设备,来传输数据,语音和视频。它具有即插即用的特点,能通过普通家庭电力线传输网络IP数字信号。





IBM X-Force Red 团队的研究人员Avishay Bartik (阿维沙伊.巴蒂克  音译)分析了 Tenda PA6 Wi-Fi 扩展器,这是腾达 PH5 电力猫路由器组件的一部分,并发现了可能使攻击者能够完全控制设备的漏洞。恶意攻击者可能利用这些漏洞将设备添加到 IoT 僵尸网络,并滥用漏洞来获取权限发起 DDoS 攻击,横向渗透到网络上的其他设备, 或者进行加密货币的攻击。(这玩意我看着是不太像能挖矿, 虽然具有 BusyBox,也是基于 Linux 的标准固件,但是这种小东西能有多少算力咧 - -!)

以下揭露中已分配CVE编号的漏洞

CVE-2019-16213            通过身份验证的用户进行命令注入

CVE-2019-19505            身份验证后缓冲区溢出

CVE-2019-19506            预认证拒绝服务缺陷

研究人员发通过前两个漏洞即可完全获取设备权限。 虽然PA6中提供了一层身份验证来确保安全,但实际情况是就设备通常仅使用非常弱的默认密码admin来提供保护。

漏洞1. 经过身份验证后的命令注入



第一个是命令注入漏洞。用户可以查看并更改连接到同一电力猫网络的其他子扩展器设备的名称。如上图所示,用户输入的名称作为"homeplugctl"应用程序的参数串联,并由"system"库函数执行。这里用户的输入仅是URL解码后的数据,并没有任何的过滤和消毒。
httpd进程将用户输入的子设备名称添加到由系统功能执行的命令,经过身份验证的攻击者可以利用此该漏洞使用特制字符串更改子设备名称,就可以注入任意命令。

而由于 Web 服务器以 root 权限运行,攻击者可以利用此注入来危害设备安全。


漏洞2. 身份验证后的缓冲区溢出

第二个漏洞位于 Web-UI 中的"无线"部分。使用特制主机名将设备添加到无线访问控制列表中可能会导致堆栈缓冲区溢出,覆盖返回地址寄存器$ra开始控制程序执行。攻击者可以利用面向返回编程攻击来执行任意代码。请注意,此溢出不是由于对 strcpy 或 memcpy 等函数的不安全调用而导致的。



用户提供的输入到堆栈上分配的缓冲区的不安全副本将触发此漏洞。

值得注意的是,与许多其他 IoT 设备不同,设备的地址空间布局随机化防御机制在其内核中启用,使利用过程更加困难。尽管如此,可执行文件本身 (httpd) 始终在同一地址 (0x400000) 加载,使攻击者能够使用面向返回编程 (ROP)来进行攻击。此处不存在其他安全机制,如 DEP 或堆栈防护。

漏洞3. 预认证拒绝服务缺陷

第三个漏洞驻留在名为"homeplugd"的不同进程中,当研究员在检查扩展器上的开放端口及其相应服务时,研究员注意到 UDP 端口 48912 上的"homeplugd"侦听进程。


(能导致设备重新启动的 UDP 数据包)

此服务提供的一个功能是更改子设备名称,向服务发送特制的 UDP 数据包会导致设备重新启动。通过导致重复重新启动,设备将循环通过重新启动,无法执行其功能或连接到互联网。攻击者可以利用该漏洞,从而运行拒绝服务攻击,而不用进行身份验证。


除此之外. 未经身份验证的固件映像访问漏洞

虽然固件映像可以从 Tenda 的官网下载到,但研究员还发现该设备允许未经身份验证地访问完整的固件转储。URL/goform/getimage 将直接从板载闪存以原始格式转储固件映像,公开所有当前配置值和内部数据文件。


根据分配给这些漏洞的 CVE 号,它们于 2019 年被发现,但似乎厂商并没有发布任何修补程序。
IBM表示尽管多次尝试联系 Tenda,但是IBM 尚未收到任何回复其电子邮件和电话。厂商是否正在处理补丁,目前尚不得而知。

更详细的漏洞细节可通过新闻来源或者cve.mitre获取

关于作者

ykxxxbc94615篇文章79篇回复

评论1次

要评论?请先  登录  或  注册