Mozi 是一种点对点 (P2P) 僵尸网络,它使用类似 BitTorrent 的网络来感染物联网设备,例如网络网关和数字视频记录 (DVR)。工作原理是利用弱 telnet 密码和近十几个未修补的物联网漏洞,已被用于进行分布式拒绝服务 (DDoS) 攻击、数据泄露以及命令或有效负载执行。
虽然僵尸网络本身并不新鲜,但微软的物联网安全研究人员最近发现,Mozi 已经进化到可以在 Netgear、华为和中兴通讯制造的网络网关上实现持久性。使用专门适用于每个网关特定架构的巧妙持久性技术来实现这一点。
网络网关是攻击者的一个特别多汁诱惑力强的目标,它们是企业网络的初始接入点的理想选择。攻击者可以通过 Shodan 等扫描工具在互联网上搜索易受攻击的设备,感染它们,进行侦察,然后横向移动以危害更高价值的目标——包括操作技术 (OT) 网络中的信息系统和关键工业控制系统 (ICS) 设备.
通过感染路由器,可以执行中间人 (MITM) 攻击——通过 HTTP 劫持和 DNS 欺骗——来危害端点并部署勒索软件或在 OT 设施中引发安全事故。在下图中,我们仅展示了如何结合使用漏洞和新发现的持久性技术的一个示例。当然,还有更多的可能性。
使用受影响网络网关(Netgear、华为和中兴通讯)的企业和个人应立即采取以下步骤,以确保他们能够抵御本文中提到的攻击:
这样做将减少僵尸网络利用的攻击面,并防止攻击者进入他们可以使用新发现的持久性和下面更详细描述的其他漏洞利用技术的位置。
微软方面表示他们的的安全云和所有 Microsoft Defender 产品的智能,包括 微软 365 Defender (XDR)、Azure Sentinel(云原生 SIEM/SOAR)以及适用于 IoT 的 Azure Defender也提供针对这种恶意软件的保护,并且随着威胁形势的不断发展,会不断更新最新的威胁情报。最近对 ReFirm Labs 的收购将进一步增强 Azure Defender for IoT 通过其即将推出的深度固件扫描和分析功能来保护客户的能力,功能将与Azure IoT 中心的设备更新修补功能集成。
除了众所周知的广泛的 P2P 和 DDoS 功能外,最近还观察到了 Mozi 僵尸网络的几个新的和独特的功能。
针对 Netgear、华为和中兴网关,恶意软件现在会采取特定行动,以增加在重启或其他恶意软件或响应者干扰其操作的任何其他尝试时存活的机会。
示例:
实现特权持久化
对/overlay文件夹的存在进行特定检查,以及恶意软件是否对文件夹/etc没有写权限。在这种情况下,它会尝试利用CVE-2015-1328。
成功利用该漏洞将授予恶意软件访问以下文件夹的权限:
然后采取以下措施:
对/usr/local/ct文件夹是否存在进行特定检查;这用作设备是中兴调制解调器/路由器设备的指示器。
采取以下措施:
sendcmd 1 DB 设置 MgtServer 0 Tr069Enable 1 sendcmd 1 DB 设置 PdtMiddleWare 0 Tr069Enable 0 sendcmd 1 DB 集 MgtServer 0 URL http://127.0.0.1 sendcmd 1 DB 集 MgtServer 0 用户名 notitms sendcmd 1 DB 集 MgtServer 0 ConnectionRequestUsername notitms sendcmd 1 DB 设置 MgtServer 0 PeriodicInformEnable 0 sendcmd 1 DB 保存
执行以下命令更改密码并禁用华为调制解调器/路由器设备的管理服务器。还可以防止其他人通过管理服务器访问设备。
cfgtool 设置/mnt/jffs2/hw_ctree.xml InternetGatewayDevice.ManagementServer URL http://127.0.0.1 cfgtool 设置/mnt/jffs2/hw_ctree.xml InternetGatewayDevice.ManagementServer ConnectionRequestPassword acsMozi
为了提供额外的持久性,它还会根据需要创建以下文件,并附加一条指令以从/usr/networks运行其副本。
/mnt/jffs2/Equip.sh /mnt/jffs2/wifi.sh /mnt/jffs2/WifiPerformance.sh
恶意软件会阻止以下 TCP 端口:
这些端口用于获得对设备的远程访问。
扫描文件系统中的.sh文件,不包括以下路径:
/tmp /dev /var /lib /haha /proc /sys
向每个文件附加一行。该行指示脚本从/usr/networks运行恶意软件的副本。这增加了它在各种设备上的生存机会。
恶意软件从其分布式哈希表 (DHT) 网络接收命令。后者是一种用于去中心化通信的 P2P 协议。命令被接收并存储在一个文件中,其中的部分是加密的。该模块仅适用于支持 IPv4 转发的设备。它检查/proc/sys/net/ipv4/ip_forward是否设置为 1;这种积极的验证是路由器和网关的特征。该模块适用于端口 UDP 53 (DNS) 和 TCP 80 (HTTP)。
[hi] – 命令的存在表明它需要使用 MiTM 模块。 [set] – 包含描述如何使用 MiTM 模块的加密部分。
命令 | 说明 |
[ss] | 机器人角色 |
[ssx] | 启用/禁用标签 [ss] |
[CPU] | CPU架构 |
[CPU] | 启用/禁用标签 [cpu] |
[nd] | 新的 DHT 节点 |
[hp] | DHT 节点哈希前缀 |
[atk] | DDoS 攻击类型 |
[ver] | DHT协议中V部分的值 |
[sv] | 更新配置 |
[ud] | 更新机器人 |
[dr] | 从指定的 URL 下载并执行有效负载 |
[rn] | 执行指定命令 |
[dip] | ip:port 下载墨子bot |
[idp] | 举报机器人 |
[count] | 用于报告机器人的 URL |
DNS欺骗
Mozi 会收到一个非常简单的 DNS 名称列表,然后对其进行欺骗。其结构如下: