Intezer研究人员发现一款利用无文件技术来绕过检测的Linux恶意软件——Doki。自2020年1月14日上传到VirusTotal后,先后有60个恶意软件检测引擎对其就进行了检测分析。Doki 成功绕过了这些引擎的检测,其攻击的目标主要是公有云平台上的Docker服务器,包括AWS、Azure和阿里云。Docker是Linux和Windows平台的一种PaaS 解决方案,开发者利用它可以在隔离的容器环境中创建、测试和运行应用。
样本地址:
Intezer研究人员发现Ngrok 挖矿僵尸网络正在扫描互联网上错误配置的Docker API端点,并用新的恶意软件来感染有漏洞的服务器。Ngrok僵尸网络已经活跃了2年的时间,本次攻击活动主要针对错误配置的Docker服务器,并在受害者基础设施上搭建进行加密货币挖矿的恶意容器。
Doki是一款多线程的恶意软件,使用了Dogecoin区块链以一种动态的方式在生成C2域名地址实现了与运营者通信的无文件方法。Doki恶意软件的功能包括:
- 执行从运营者处接收的命令;
- 使用Dogecoin 区块链浏览器来实时、动态地生成其C2域名;
- 使用embedTLS库用于加密和网络通信;
- 构造短期有效的URL,并使用这些URL来下载payload。
恶意软件使用了DynDNS 服务和基于Dogecoin区块链的域名生成方法来找出实时的C2域名。此外,攻击活动背后的攻击者通过将服务器的root目录与新创建的容器绑定成功入侵了host机器,可以访问和修改系统中的任意文件。通过使用bind配置,攻击者可以控制主机的cron工具。修改主机的cron后就可以每分钟执行一次下载的payload。
由于攻击者可以利用容器逃逸技术完全控制受害者的基础设施,因为攻击非常危险。一旦安装成功,Doki既可以利用被入侵的系统来扫描与Redis、Docker、 SSH、 HTTP相关的端口。
第一个Doki样本是2020年1月14日上传到VirusTotal的,截止目前,61个顶级的恶意软件检测引擎都无法成功检测出Doki。也就是说,过去6个月,用户和研究人员对Doki的恶意活动是完全无感知的。
Docker是最主流的容器软件,这也是一个月内Docker第二次成为攻击的目标。上个月,研究人员就发现攻击者利用暴露的Docker API终端和伪造的图像来发起DDoS攻击和进行加密货币挖矿。
研究人员建议运行Docker实例的用户和企业不要暴露Docker API到互联网,如果必须要暴露的话,建议使用可信网络或虚拟专用网,并设置只允许可信用户控制Docker daemon。如果是通过API来管理Docker,建议进行参数检查来确保恶意用户无法传递恶意参数导致Docker创建任意容器。
对Doki的完整分析参见: