恶意软件托管域分发多种Mirai变体,影响Tenda、华为等公司

AT&T Alien Labs 观察到名为Moobot的Mirai僵尸网络变种,用于扫描 Tenda 路由器中已知但隐蔽的漏洞,引起了内部遥测相当大的峰值,进一步调查发现了恶意软件托管域Cyberium,并在其中发现了数个Mirai变种,如 Moobot 和 Satori。 

分析

3 月底,AT&T Alien Labs 观察到 Tenda 远程代码执行 (RCE) 漏洞 CVE-2020-10987 的利用尝试激增。该漏洞不常被网络扫描器使用,在过去六个月中几乎没有检测到。这个漏洞可以通过请求的 URL 来识别,其中包括“setUsbUnload”和分配给易受攻击参数“deviceName”的有效负载。此有效负载包含将执行路径更改为临时位置、从恶意软件托管页面获取文件、提供执行权限并执行它的指令。

BinaryEdge sensor

图 1. BinaryEdge Sensor 检测漏洞扫描

当时攻击者对 Tenda 路由器的漏洞扫描只持续了一天,但对其余设备的扫描活动却持续了数周时间,涉及到的设备漏洞如下:

· 端口 80 和 8080:Axis SSI RCE。

· 端口 34567:DVR扫描器尝试默认凭证的Sofia主视频应用程序。

· 端口 37215:华为家用路由器RCE漏洞 (CVE-2017-17215)。

· 端口 52869:Realtek SDK Miniigd UPnP SOAP命令执行(CVE-2014-8361)。

所有恶意软件变体都来自相同的恶意软件托管页面dns.cyberium[.]cc,在调查此域时,发现了多个攻击活动,最早的可以追溯到 2020 年 5 月。大多数攻击持续了一周的时间,每个活动使用Cyberium域下的不同子域页面,攻击终止后,相关的子域就无法解析。

RiskIQ heatmap 

图 2. Cyberium[.]cc 的热力图

破坏设备后,恶意代码会连接到Cyberium域来检索用作下载器的bash脚本,这个脚本非常类似于之前看到的Mirai变种的下载器,旨在下载恶意软件的后期阶段,如下图所示,脚本下载文件名列表(与不同的 CPU 架构相关联),执行每个文件名,通过crontab 实现持久化,最后删除自身。

Tenda downloader script

图 3. Tenda 下载程序脚本

在该域可用期间,至少发现了三种不同的 Mirai变种:Moobot、Satori/Fbot 以及与这些僵尸网络无关的其他样本。该域的特点之一是它在 Mirai 变体之间的来回切换,即使在相同的文件名下也是如此,同一 URL 可能在托管 Satori的一周后托管 Moobot。

Moobot

Moobot僵尸网络于2020年4月首次被发现,于同年10出现了新变种,该变种主要追逐暴露的和易受攻击的 Dockers API,以将它们纳入DDoS 僵尸网络中。

与其他Mirai变体不同的是,从Moobot获得的样本是加密的,试图逃避基于字符串的检测、对所用漏洞的静态分析,或入侵后的活动。Moobot中列举了要避免的硬编码IP地址列表,如:国防部、IANA IP、通用电气等。

Moobot 

图 4. Moobot 的 IP 扫描限制

恶意软件编写者似乎非常了解他们的目标受害者是谁,因此恶意软件将尝试通过使用 prctl 来隐藏其进程名称。隐藏进程名称是“/var/Sofia”,为目标设备上的视频应用程序的名称。

moobot hideout

图 5. Moobot 进程隐藏处

成功感染后,payload 尝试在端口 12028 上查询硬编码的 C2 以获取 C2 列表。当前Cyberium 域处于关闭状态,无法分析这些通信。

Satori/Fbot

Satori 僵尸网络,也称为 Fbot,是另一种基于 Mirai 变种的僵尸网络。Moobot 和 Satori 样本之间的相似之处很多,因为它们都来自相同的 Mirai 源代码,比如下载方式、对物联网设备的漏洞扫描、执行后打印的字符串、隐藏在 (/var/Sofia) 后面的进程名称等。在观察到的Satori样本中,代码没有加密,无需任何额外操作就可以读取更多字符串——不像 Moobot 样本被编码以减少纯文本中的字符串数量。

其他样本

这些样本似乎是 Moobot 和 Satori 样本之间的混合,它们的特征是随机组合的,大多数看起来像没有编码的 Moobot 样本或没有硬编码域的 Satori。

推荐措施

· 保持所有 IoT 设备更新,并特别关注解决提到的设备或 CVE。

· 监控已知传入漏洞的网络流量。

· 监控到 Cyberium 或 ripper 域的出口和入口网络流量。

· 定期执行进程审计和记账,寻找可能隐藏僵尸网络的已知恶意进程名称。