Wyze Cam v3 的 RCE 漏洞公开发布,现已修补
2023-10-31 18:54:41 Author: mp.weixin.qq.com(查看原文) 阅读量:7 收藏

安全研究人员发布了针对 Wyze Cam v3 设备的概念验证 (PoC) 漏洞,该漏洞可打开反向 shell 并允许接管易受攻击的设备。

Wyze Cam v3 是一款最畅销、价格低廉的室内/室外安全摄像头,支持彩色夜视、SD 卡存储、用于智能手机控制的云连接、IP65 防风雨等。

安全研究员 Peter Geissler(又名bl4sty)最近在最新的 Wyze Cam v3 固件中发现了两个缺陷,这些缺陷可以链接在一起以便在易受攻击的设备上远程执行代码。

  • 第一个是“iCamera”守护进程中的 DTLS(数据报传输层安全)身份验证绕过问题,允许攻击者在 TLS 握手期间使用任意 PSK(预共享密钥)来绕过安全措施。
  • 第二个缺陷在客户端发送 JSON 对象时建立 DTLS 身份验证会话后出现。由于特定数组处理不当,解析该对象的 iCamera 代码可能会被利用,从而导致堆栈缓冲区溢出,其中数据被写入内存的非预期部分。
攻击者可以利用第二个漏洞覆盖堆栈内存,并且鉴于 iCamera 代码中缺乏堆栈金丝雀和位置无关执行等安全功能,攻击者可以在相机上执行他们自己的代码。
Geissler 在 GitHub 上发布的漏洞利用,为攻击者提供了交互式 Linux root shell,将易受攻击的 Wyze v3 摄像头转变为持久后门,并允许攻击者转向网络中的其他设备。

DTLS 身份验证绕过

Wyze 有一个守护进程 (iCamera),它监听 UDP 端口 32761,讲一些TUTK 协议的衍生协议。协议的外层由使用有趣常数的加扰/异或帧组成(向查理大喊;工程师!)。在此自定义帧格式内,您可以与相机建立 DTLS 会话。
唯一受支持的密码套件是ECDHE-PSK-CHACHA20-POLY1305,典型的攻击者无权访问(设备唯一的)PSK。然而,有一种后备方法,您可以在 TLS 握手期间指定以“AUTHTKN_”开头的 PSK 身份,以便能够选择任意选择的 PSK。

JSON 解包中的堆栈缓冲区溢出

在与摄像机建立经过身份验证的 DTLS 会话后不久,客户端会发送一个数据包,其中包含 JSON 对象 blob,其属性名为cameraInfo. 在这个对象内部有一个包含数字的数组,称为audioEncoderList。
负责解析此 JSON 对象的 iCamera 代码将循环遍历所有audioEncoderList条目并将它们复制到堆栈上固定大小的整数数组。
当然,既然现在是 2023 年,而且这是物联网的废话,我们不应该指望他们用堆栈金丝雀编译二进制文件,甚至作为位置无关的可执行文件。
因此,不需要任何额外的信息泄漏来绕过 ASLR 或泄漏金丝雀值,就可以 ROP 取得胜利!
该漏洞经过测试并确认可在固件版本 4.36.10.4054、4.36.11.4679 和 4.36.11.5859 上运行。
Wyze 于 2023 年 10 月 22 日发布了 固件更新版本 4.36.11.7071,解决了已发现的问题,因此建议用户尽快应用安全更新。

文章来源: https://mp.weixin.qq.com/s?__biz=MzA5ODA0NDE2MA==&mid=2649785729&idx=2&sn=5fc360e2b080454fa0652ee4e234f925&chksm=8893b5eebfe43cf873647d05b813f9bd538f21ca5a50596b782605fef5e830efa5b12dae22eb&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh