社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  docker

30个Docker镜像在加密劫持攻击中被下载了2000万次

维他命安全 • 4 年前 • 505 次点击  

执行摘要

作为网络犯罪分子,有很多方法可以牟取暴利。最简单的方法之一是加密劫持,非法使用他人的计算资源来挖掘加密货币。众所周知,容器镜像是一种简单的软件分发方式,然而恶意的被加密劫持的镜像也是攻击者分发加密货币的一种简单方式。

我决定深入研究Docker Hub,然后发现了30个恶意镜像,总共提取了2000万次请求(这意味着镜像被下载了2000万次),这是一场加起来价值200,000美元的加密劫持行动。在本文中,我将详细介绍我的发现以及为什么可以合理地假设DockerHub和其它公共注册表上还有许多未被发现的恶意镜像。



查找恶意的加密劫持镜像

在过去的几年中,Unit 42研究人员发现了基于云的加密劫持攻击,其中有攻击者使用Docker Hub中的镜像部署了矿工。

云是加密劫持攻击的热门,主要原因有两个:

1.云由每个目标的许多实例组成(如大量CPU、大量容器、大量虚拟机),这可以转化为巨大的挖矿利润。

2.云很难监控。矿机可以在不被发现的情况下运行很长时间,如果没有任何检测机制,矿机可能会一直运行,直到用户发现虚假的云费用并意识到出了问题。

现代云技术主要基于容器,在一些环境中,Docker Hub是默认的容器注册表。攻击者可以利用它在被入侵的云上部署矿工。基于这些事实,我想看看是否可以在Docker Hub中找到恶意的加密劫持镜像。在我的研究中,我从10个不同的Docker Hub账户中找到了30个镜像,这些镜像有2000多万次拉取。

个人可以通过使用采矿池来提高采矿效率,攻击者也是如此。

通过检查挖矿池,可以检查有多少个加密货币被挖出到挖矿池账户。我发现一半的镜像使用共享此信息的矿池,从这推断得出,我估计在所有攻击中总共开采了价值200,000美元的加密货币。

 

图1.研究结果

 

 

货币

我的第一个发现,那就是攻击者最喜欢挖矿的加密货币是Monero(门罗币),就像我们看到的Pro-Ocean、Cetus和许多其它货币一样。

攻击者青睐Monero有三个原因:

1.Monero提供了最大的匿名性。它的一个特点是,与其它币种不同,Monero的过渡是隐藏的。这种隐私对于网络犯罪分子来说是完美的,因为这意味着他们的活动是隐藏的。因此,他们不会被交易所禁止,而且他们更容易逃避追踪其资金的行为。

2.Monero挖矿算法偏向于CPU挖矿,不像许多其它密码需要ASIC或GPU进行挖矿。这很方便,因为所有的计算机都有CPU。因此,矿机可以在任何机器上有效运行。这甚至更适合容器,其中绝大多数容器的运行不需要GPU。

3.Monero是一种流行的加密货币,它的交易量每天约为1亿美元,这使得攻击者很容易出售。

下图展示了Docker Hub上发现的加密劫持镜像的币种分布:


图2.加密货币分布

 

 

加密矿工分布

在大多数挖掘Monero的攻击中,攻击者都使用了XMRig,就像我们看到的Hildegard和Graboid一样。XMRig是一款流行的Monero矿机,攻击者首选它,因为它易于使用,高效,最重要的是,它是开源的。因此,攻击者可以修改其代码。

例如,大多数Monero加密矿工都会强行捐出一定比例的挖矿时间给矿工的开发者。攻击者常见的一个修改是将捐赠比例改为0。


图3.加密矿工分布

 

 

镜像标签

容器注册表允许用户升级其镜像,并在此过程中将新标签上传到注册表。标签是引用同一镜像的不同版本的一种方法。

在检查镜像的标签时,我发现有些镜像对不同的CPU架构或操作系统有不同的标签。看来攻击者为了适应广泛的受害者,包括一些操作系统(OS)和CPU架构,他们添加了这些标签。

在某些镜像中,甚至还带有不同类型的密码器的标签。这样,攻击者就可以为受害者的硬件选择最佳的加密矿工。

特定镜像中所有标签唯一共同的就是钱包地址或矿池凭证。在这些标识符的帮助下,我可以对每个活动进行分类。在深入研究之后,在某些情况下,我可以看到有许多属于同一活动的Docker Hub帐户。例如,在之前的研究中,Unit 42发现的恶意账户azurenql。现在,我们发现这个活动范围更广,包括021982、dockerxmrig、ggcloud1和ggcloud2等账户。

在我的研究中,我能够找到其它挖掘Monero的镜像,这些镜像与Unit 42最近发现的azurenql的活动有关,在攻击者的名字下增加了超过1000万次拉动。

 

结论

云为加密劫持攻击提供了巨大的机会。在我的研究中,我使用了一种加密采矿扫描仪,该扫描仪仅检测简单的加密采矿Payload。我还通过将钱包地址与以前的攻击相关联来确保任何识别出的镜像都是恶意的。即使使用这些简单的工具,我也发现了几十个镜像,它们都有数百万次的拉取。我怀疑这种现象可能比我发现的现象更严重,因为在很多情况下,Payload都不容易被检测到。

Palo Alto Networks Prisma Cloud客户可以通过Cryptominers Runtime Detection功能和TrustedImages功能保护自己免受这些威胁。此外,拥有Threat Prevention安全订阅的Palo Alto Networks下一代防火墙客户还可以防止这些镜像的传递。

图4. Prisma Cloud容器事件通知

 

 

IOC

Docker镜像

021982/155_138

021982/66_42_53_57

021982/66_42_93_164

021982/xmrig

021982/xmrig1

021982/xmrig2

021982/xmrig3

021982/xmrig4

021982/xmrig5

021982/xmrig6

021982/xmrig7

avfinder/gmdr

avfinder/mdadmd

docheck/ax

docheck/health

dockerxmrig/proxy1

dockerxmrig/proxy2

ggcloud1/ggcloud

ggcloud2/ggcloud

kblockdkblockd/kblockd

osekugatty/picture124

osekugatty/picture128

tempsbro/tempsbro

tempsbro/tempsbro1

toradmanfrom/toradmanfrom

toradmanfrom/toradmanfrom1

xmrigdocker/docker2

xmrigdocker/docker3

xmrigdocker/xmrig

xmrigdocker/xmrig

zenidine/nizadam

 

 

原文链接:

https://unit42.paloaltonetworks.com/malicious-cryptojacking-images/

 



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/110743
 
505 次点击