导语:uniper Networks的研究人员发现网络犯罪分析正利用错误配置的Docker服务来添加运行Monero挖矿脚本的容器。
攻击者在寻求一种容易的方式来进行加密货币挖矿,所以目标锁定为公开暴露的Docker服务。攻击者使用一个可以扫描网络的恶意脚本来搜索有漏洞的主机并入侵主机。
攻击入口是TCP 2375/2376端口,这两个端口是通过REST管理API远程到达Docker服务的默认端口,允许创建、开启和停止容器。除非进行其他配置,否则这两个端口都提供非加密和非认证的通信。
living off the land
Docker容易在实践中使用非常广泛,因为允许在操作系统级实现虚拟化。允许在轻量级的虚拟环节中运行应用,完成所有需要的依赖。
Juniper Networks的研究人员发现网络犯罪分析正利用错误配置的Docker服务来添加运行Monero挖矿脚本的容器。
感染会通过目标系统已有的脚本和工具自动传播,这也叫做“living off the land”。包括Docker, wget, cURL, Bash, iproute2, MASSCAN, apt-get, yum, up2date, pacman, dpkg-query和systemd。
一旦攻击者到达有漏洞的Docker主机,就会开启容器,并运行命令来下载和启动auto.sh,该脚本可以帮助扩展攻击行动。同时会检查系统的特定package,下载缺失的package来继续攻击其他主机。
auto.sh通过执行MoneroOcean挖矿脚本来执行Monero挖矿工作。挖矿脚本在Github上是公开的,但攻击者下载的是一个位于Pastebin的变种。
在扫描受感染主机连接的网络子网后,跳转到其他主机就非常有可能了。错误配置的Docker daemons的IP地址保存在文本文件中,由test.sh和test3.sh脚本进行处理。目的就是在列表上的每个IP地址进行循环,并且用Docker的客户端工具连接到远程主机。
这些脚本都位于同一个服务器上。同时,该服务器上还有一个名为xm的加密货币挖矿工具,VirusTotal有24个反病毒引擎将其标记为恶意的。
这也不是auto.sh脚本第一次被用于加密货币劫持。
转向TLS
通过TLS通信可以安全的到达Docker。这是可能的因为开启了tlsverify flag,并为tlscacert flag定义了可信证书。这样设置后,Docker daemon就只以接受可信证书认证的连接。在客户端模式下(client mode),Docker只连接到证书可信的服务器。
与云计算的能力结合后,暴露到公网的服务可以看做是送给攻击者的礼物。加密货币挖矿是攻击者滥用容器的风险之一,其他风险还包括发起DDOS攻击和传播恶意软件等。