导语:研究人员2018年5月发现一起利用公开的Mirai和Gafgyt恶意软件公开代码并融合了多个影响IoT设备的已知漏洞的3个攻击活动,分别是Omni、Okane和Hakai。
研究人员在2018年5月发现一起利用公开的Mirai和Gafgyt恶意软件公开代码,并融合了多个影响IoT设备的已知漏洞的3个攻击活动,分别是Omni、Okane和Hakai。研究人员在其中一个样本中发现了超过11个漏洞利用,而IoT Reaper中也才只有9个漏洞利用。在最新的进化中,样本还利用D-Link DSL-2750B操作系统命令注入漏洞。研究人员还发现,该攻击活动支持DDoS方法,这是之前的Mirai变种从未使用过的。
Omni
2018年5月,Mirai的变种Omni僵尸网络利用了2个影响Dasan GPON路由器的漏洞,分别是CVE-2018-10561(认证绕过)和CVE-2018-1562(命令注入)。这两个命令结合之后,远程攻击者就可以发送命令给有漏洞的设备并执行。
Omni还加入了一些漏洞利用,如下所示:
本文分析的样本为
3908cc1d8001f926031fbe55ce104448dbc20c9795b7c3cfbd9abe7b789f899d(SHA256)
表1
这些漏洞都已经公开,并且被不同的僵尸网络利用了,但这是Mirai僵尸网络变种首次同时使用这11个漏洞。
该攻击活动的特征有:
· 两种不同的加密方案:除了使用标准的XOR加密外,对特定的配置字符串还使用了第二个密钥。
· 样本只利用漏洞进行传播,并不暴力破解凭证。
· 通过使用iptable丢掉特定端口的包来防止受感染设备被其他僵尸网络感染。
图1: 使用iptable丢掉特定端口的包来防止再次感染
攻击活动使用IP 213[.]183.53.120为payload服务,同时也作为C2服务器。
以该IP为线索,研究人员发现一些Gafgyt样本也该报告来自该IP,但是使用的是SendHTTPCloudflare方法。
攻击活动与Omini变种在代码上存在引用关系,如图2所示。
图2: 样本代码中的OMNI引用
研究人员发现,加密的字符串引用的gpon[.]party网站也下线了。
图3: gpon[.]party引用
Okane
研究人员发现Okane样本来自于IP 46[.]243.189.101,该地址有一个含有样本的开放目录,如图4所示:
图4:来自46[.]243.189.101 的payload服务器的开放目录
攻击中payload的源位于hxxp://46[.]243.189.101/gang/,下载的payload是一个shell脚本,会通过下载Okane二进制文件到有漏洞的设备完成自我复制。6月13日,这些样本的源被替换为Cloudflare DNS服务器1[.]1.1.1。
该攻击活动利用的一些漏洞如表1所示。图5是本攻击活动随后调用的一些漏洞:
图5: Okane 样本中的漏洞利用
与之前的攻击活动不同的是,这些样本会进行暴力破解攻击。在这些样本的暴力破解列表中研究人员还发现一些不常用的记录,如:
· root/t0talc0ntr0l4! –Control4设备的默认凭证
· admin/adc123 –ADC FlexWave Prism设备的默认凭证
· mg3500/merlin –Camtron IP摄像机的默认凭证
还有一些样本在Mirai源代码中加入了2个新的DDoS方法。
下面是从样本中提取出的DDoS方法:
SHA256 320ed65d955bdde8fb17a35024f7bd978d26c041de1ddcf8a592974f77d82401
· attack_method_tcpxmas:包含发送含有所有标记的TCP包,也叫做Christmas tree packet。因为处理这些包时,路由器和终端需要更多的处理消耗,所以是一种更有效的DDoS攻击方法。Gafgyt和Kaiten变种已经使用过这种方法了,发送的payload大小为768字节。
· attack_method_std:发送含有1024字节随机payload的包。
通过深入分析,研究人员发现使用这些攻击方法的样本早在2017年8月就在Mirai代码中使用过了。一些融入新方法的攻击活动样本也只在2018年7月初出现过。下面详细介绍了一些值得注意的方法。
研究人员对下面的样本进行了分析:
SHA256 be1d722af56ba8a660218a8311c0482c5b2d096ba91485e7d9dfc12a2b8e00b3
· attack_method_udpgame: 使用从随机源端口到目的端口27015的SOCK_RAW UDP DDoS攻击;
· attack_method_asyn: 使用从随机源端口和目的端口包的TCP DDoS攻击,其中包含有ACK和SYN标记;
· attack_method_tcpfrag: 使用从随机源端口、目的端口、和URG, ACK, PSH, RST, SYN, FIN标记的SOCK_RAW的TCP DDoS攻击(Don’t Fragment设为1);
· attack_method_tcpall:除Don’t Fragment设为0外,其他与attack_method_tcpfrag相同;
· attack_method_tcpusyn: 使用从随机源端口和目的端口包的TCP DDoS攻击,其中包含有URG和SYN标记;
6月19日,服务器上的样本进行了脱壳操作,并开始使用简单的暴力破解,随后释放一个shell脚本用于自传播。
图6:新Okane样本用于自传播的shell脚本
Hakai
Hakai攻击活动的早期样本使用了表1中所有的漏洞利用,除了UPnP SOAP TelnetD命令执行漏洞。Hakai的payload源头位于hxxp://hakaiboatnet[.]pw/m,C2服务器地址是178[.]128.185.250。使用的加密方法与Mirai类似;与之前的攻击活动不同的是,Hakai是基于Gafgyt源代码的。
研究的样本会监听下面的命令:
来自同一服务器的新样本加入了针对D-Link DSL-2750B设备的OS命令注入漏洞利用。这些样本使用的攻击方法、加密密钥和C2都与上面的样本是相同的。但payload源变成了hxxp://178[.]128.185.250/e。
图7: 新样本使用针对D-Link DSL-2750B设备的漏洞利用
总结
表2是对这三起攻击活动的一个对比分析和总结。
表2: 攻击活动对比分析和总结
Layer-7攻击的Gafgyt
攻击特定DDoS保护服务提供商的Layer-7 DDoS攻击也很常见,之前在Mirai变种DvrHelper中也见到过。
但是在Gafgyt样本中还是第一次遇到。以OMNI样本的C2为线索,研究人员发现了Gafgyt样本在监听一个名为HTTPCF的命令。
在接收到HTTPCF命令后,僵尸会调用SendHTTPCloudflare函数,目标是Cloudflare保护的站点的URL路径。使用该攻击的样本最早是2018年5月发现的。
图8: HTTPCF攻击的URL格式
样本还使用相同IP地址用于C2通信,如213[.]183.53.120(8013端口)。样本还会使用一些不常见的用户代理,如图9所示。
图9: Gafgyt相关样本中发现的不常见的用户代理
结论
攻击嵌入式系统的僵尸网络的崛起使数百万使用默认凭证的联网设备陷入安全威胁之中。僵尸网络的发展利用了许多的漏洞,其中大部分是已公开的漏洞。这也说明了IoT设备厂商要确保系统和设备能够及时的获取安全更新。