unit42的研究人员前段时间刚刚揭漏已知存在的最大、持续时间最长的门罗币加密劫持活动。 加密劫持(Cryptojacking),也称挖矿劫持,是加密货币领域的新兴词汇,指的是在未经授权的情况下利用他人的硬件设备进行加密货币挖矿。目前研究人员将该操作称为WatchDog,这个名称取自名为watchdogd的Linux守护程序。 WatchDog挖矿劫持自2019年1月27日以来一直在运行,目前已收集至少209个门罗币(门罗币),价值约32056美元。研究人员已经确定,至少有476个主要由Windows和NIX云实例组成的被破坏的系统在任何时间都在进行挖掘操作,时间超过了两年。
目前估计恶意加密劫持操作将影响23%的云环境,高于2018年的8%。这一增长主要是由于加密货币估值的急剧上升所致,到2024年,加密货币背后的技术——区块链的全球市场预计将达到607亿美元,个犯罪组织正摩拳擦掌试图从中获利。
unit42的研究人员会在本文详细介绍WatchDog加密劫持活动,WatchDog挖矿由三部分组成:Go语言二进制文件集,bash或PowerShell脚本文件。二进制文件执行特定的功能:其中一个功能模拟了Linux watchdogd守护进程的功能,确保挖矿进程不会挂起、超载或意外终止;Go二进制文件下载一个可配置的IP地址列表,然后再提供扫描操作中发现的NIX或Windows系统的目标利用操作的功能;Go二进制脚本将在Windows或NIX操作系统(OS)上使用启动的bash或PowerShell脚本的自定义配置启动挖矿操作。WatchDog对Go二进制文件的使用允许它使用相同的二进制文件在不同的操作系统(即Windows和NIX)上执行指定的操作,只要Go语言平台安装在目标系统上。
研究人员已经绘制出了挖矿作业背后的基础设施,目前他们已经识别出18个根IP终端和7个恶意域名,们至少提供125个用于下载其工具集的恶意URL地址。
2019年10月,unit42报道了“Graboid”攻击,这是第一次看到使用Docker Engine中的容器传播的加密劫持蠕虫。由于大多数传统的保护程序都不检查容器内的数据和活动,因此这种恶意活动很难检测到。攻击者通过不安全的Docker守护程序获得了最初攻击切入点。恶意程序是通过C2服务器下载,用于挖掘门罗币并定期从C2查询新的易受攻击主机,随机选择下一个目标以将蠕虫进行传播。分析表明,平均每个矿工有63%的时间处于活动状态,每个采矿周期持续250秒。
从目前活跃系统的总数来看Graboid是迄今为止已知的最大的挖矿攻击活动,在它运行的时候,它包含了至少2000个暴漏的和被破坏的Docker守护程序API系统。每台设备上的Graboid程序65%的时间都在作业,这意味着任何时候都有1300个被攻击的Docker容器可随时开采。此外,由于配置脚本利用了所有可用的容器中央处理单元(cpu),,因此Graboid还可以实现更高的处理速度。但是,在删除Docker Hub映像之前,仅已知Graboid可以运行三个月。
另一方面,WatchDog不依赖第三方网站来承载其恶意载荷,这使得它在撰写本文时仍能保持活跃,目前已经活跃了两年以上。
很明显,WatchDog都是熟练的程序员,他们的挖矿作业相对比较专业。虽然目前没有迹象表明有额外的云泄漏活动,即获取云平台身份和访问管理(IAM)凭证、访问ID或密钥,但可能存在进一步的云账户泄漏的可能性。由于在植入密码劫持程序期间获得了根和管理访问权,这些参与者很可能在他们已经受到破坏的云系统上找到与IAM相关的信息。
Palo Alto Networks Prisma Access配置为通过PAN-OS检测WatchDog的18个IP地址、7个域及其关联的URL地址。Prisma Cloud还检测到WatchDog 挖矿程序在安装了Prisma Cloud Compute Defender的云环境中使用的恶意XMRig进程。
公共矿池
研究人员在WatchDog配置文件中确定了三个门罗币钱包地址。这些配置文件与WatchDog挖矿二进制文件一起下载,并包含在挖矿操作期间使用的门罗币钱包地址和挖矿池。图1显示了配置文件config.json的示例。
详述门罗币钱包地址的config.json文件
检查了WatchDog使用的所有已知config.json文件后,unit42的研究人员确定了三个门罗币钱包地址为:
这三个门罗币钱包地址与至少三个公共挖矿池和一个私人挖矿池一起使用,以处理挖矿操作、性能、功能和支付。
WatchDog挖矿使用的公共和私人矿池
以下8个截图说明了从f2pool、nanopool和GNTL公共挖矿池收集到的三个门罗币钱包的发现结果。
f2pool矿池
F2Pool 也被称作“鱼池”,中国最早的比特币矿池,由王淳、毛世行两个比特币技术的早期爱好者创办,2013 年 4 月创立于中国北京,5 月 5 日开放。
目前已经成长为全球领先、最大的综合性数字货币矿池,同时支持比特币、莱特币、以太币、零币的综合性数字货币矿池。其技术先进,收益透明公开,超强抗 DDoS 能力,采用独创架构有效防范攻击。
据 F2Pool 估算,其服务了中国大半的矿业社区,曾经占到国内一半的算力,在全世界范围内拥有超过 10 万的地层链接。
图2和图3说明了以“43zq”开头的门罗币地址在f2pool公共挖矿池中被大量使用,大约占用了200个门罗币。与此同时,以“82et”开头的门罗币钱包地址运行的规模要小得多,只引入了2.3 门罗币(见图4和图5)。
门罗币钱包43zq及其门罗币总数
门罗币钱包43zq及其30天的算力
门罗币钱包82et及其门罗币总数
门罗币钱包82et及其30天的算力
Nanopool矿池
在以太坊经典生态系统中,最大的一个矿池是 NanoPool。目前该矿池的网络算力超过 1.25/s。在近 5000 名矿工和约 12000 名工人的情况下,NanoPool 很快成为了众多矿工中最受欢迎的一个。同时 NanoPool 还支持其他的加密资产。
以“82et”开头的门罗币地址在f2pool公共采矿池中的活动较少,但与以“43zq”开头的门罗币钱包地址(参见图6和7)相比,它在nanopool公共采矿池中的参与程度更大(参见图8和9)。但是,nanopool采矿操作仅相当于整个WatchDog采矿操作所开采的门罗币总数的一小部分,迄今为止已开采了6.8个门罗币。
门罗币钱包82et及其算力
门罗币钱包82et及其门罗币支付
门罗币钱包43zq及其算力
门罗币钱包43zq及挖掘的所有门罗币
GNTL 门罗币矿池
已经确定了一个配置文件,它将以“87qa”开头的钱包的潜力链接到这里列出的所有三个公共挖矿池,但只有GNTL显示了与“87qa”门罗币钱包相关的任何挖矿操作(请参见图10)。然而,这个门罗币钱包地址在WatchDog操作中似乎没有被大量使用。在撰写本文时,使用“87qa”门罗币地址从GNTL中只挖矿了0.59 个门罗币(参见图10和11)。
门罗币钱包87qa和门罗币算法
门罗币钱包87qa和挖掘的所有门罗币
在三个公共矿池收集的数据中,unit42的研究人员计算出跨公共矿池的门罗币钱包的平均算力为1037kh/s。研究人员随后对目前积极参与加密操作的系统数量进行了估算。保守地估计,无论何时,都平均有476个系统参与了“WatchDog”挖矿作业。
该估计值是根据一些最大的云提供商的CPU体系结构文档计算得出的,所有云提供商都在其大多数云VM实例上使用Intel Xeon E5和AMD EPYC cpu。
我们可以使用流行的XMR挖掘软件XMRig的基准哈希计算器来计算中端Intel Xeon E5和AMD EPYC系列7处理器的算力。每个处理器上的一个线程可以为AMD EPYC系列7产生大约543 H/s(每秒的哈希)的算力,为Intel Xeon E5产生544 H/s的估计算力。考虑到WatchDog挖矿配置了文件config.json,该挖矿程序将在受感染系统上最多使用四个线程(请参见图12)。
WatchDog 挖矿 CPU配置
根据配置指南,这将导致系统平均处理时间为2172 - 2176算力,使用最多4个线程。对于整个WatchDog挖矿操作,平均处理总量为100多万算力,这意味着在任何时间,可能总共有476个系统参与挖矿操作。
系统的数量取决于被攻击和使用的VM实例类型,需要注意的是,并不是每个受影响的系统都能够以相同的规模处理XMRig操作。可能同时运行这个估计数量的两倍(将近900个系统),如果较小的、不那么健全的云VM实例被攻击并被用于处理门罗币哈希,则可以实现这种大小的挖掘操作。
WatchDog基础设施
从公共矿池数据中可以看出,自2019年1月27日起,WatchDog挖矿程序一直处于活跃状态。从那时起,就已经出现了许多恶意软件样本,这些样本指向WatchDog基础结构,特别是初始化bash脚本,该脚本用于启动系统和挖矿新受攻击系统的配置进程。
通过分析这些初始化bash脚本,Unit 42研究人员能够跟踪WatchDog攻击者如何在受感染的系统上设置挖掘操作。该脚本的开发者展示了他们如何设置和配置他们的挖矿基础设施。在每个已知的操作中,初始化bash脚本都被下载到受攻击的系统上,并执行一系列功能。大多数加密劫持操作都有几个共同的功能,即删除云安全工具,删除以前安装的已知恶意加密软件,然后下载和设置自定义的恶意加密程序。但是,WatchDog bash脚本挖矿挖矿程序还会对用于下载WatchDog挖掘toolkit的主要和辅助URL地址进行硬编码(请参见图13)。
建立命令和控制(C2)
使用这些主要和辅助URL地址,unit42的研究人员能够对WatchDog挖矿运营商使用的网络基础设施进行粗略估算。
以下Maltego图表说明了WatchDog使用的已知操作基础结构的总体规模(参见图14)。
WatchDog挖矿操作的Maltego图表
迄今为止,已有18个已知IP地址和7个已知域托管着至少125个URL,这些URL已为或继续为WatchDog挖矿恶意程序和配置文件提供服务。尽管大多数恶意程序似乎都集中在* NIX OS系统上,但仍有几种Windows OS二进制文件也托管在一些已知的主机系统上。
与WatchDog挖矿关联的18个已知IP地址
与WatchDog挖矿关联的7个已知域
截止发文时,其中一些主机系统仍在运行。由于处于实时状态,研究人员还可以提取几个恶意文件进行进一步分析。
WatchDog恶意程序崩溃
研究人员选择了5个相关的恶意程序样本来解释它们的功能,加密操作似乎以bash脚本newdat.sh开头,该脚本定义了三个单独的Go二进制文件和一个JSON配置文件config.json的可下载内容。本文详细介绍的Go二进制文件是网络扫描程序和开发二进制文件(称为networkmanager),进程监视二进制文件(称为phpguard)以及恶意XMRig加密矿程序的版本phpupdate。
newdat.sh
Unit 42研究人员已经为执行相同基础设施、网络扫描和系统配置操作的bash脚本确定了四个不同的文件名,这些文件名为init.sh,newinit.sh,newdat.sh和update.sh。
在初始化脚本中有8个独特的操作:
1.环境设置:配置文件和目录的读写权限,并将下载的文件保存到预先配置的位置;
2.卸载云安全工具:
2.1即阿里巴巴云安全中心和腾讯云安全运营中心;
2.2这是一些加密操作(包括rock和TeamTnT等组)常用的操作;
3.下载toolkit:下载三个Go二进制文件和一个配置文件;
4.kill_miner_proc:终止已知的挖矿进程;
5.kill_sus_proc:终止先前安装的监控挖矿进程;
6.下载:下载用于扫描的IP地址范围;
7.unlock_cron:解锁/etc/crontab文件;
8.lock_cron:锁定/etc/crontab文件;
也许unit42的研究人员发现的最有用的脚本操作之一是关于WatchDog toolkit下载位置的一节。如前面基础设施部分所示,这些脚本详细说明了当前哪些终端加载着恶意加密文件。
建立命令和控制(C2)
如图15所示,newdat.sh脚本中存在硬编码链接,这些链接指向URL地址并标识挖矿二进制文件、配置文件、扫描二进制文件和WatchDog进程,甚至是初始脚本本身的另一个版本,这可以让攻击者近乎实时地更新活跃的挖矿活动。
本文翻译自:https://unit42.paloaltonetworks.com/watchdog-cryptojacking/如若转载,请注明原文地址: