使用XMRig进行大规模Monero 加密货币挖矿操作
概要
Palo Alto 网络公司 Unit 42 观察到一个大型的加密货币挖矿设备已经持续运行了4个多月。他们是使用开源的XMRig来挖掘Monero)加密货币的。
根据可以公开获取到的遥测数据,我们可以估计全球范围内受此影响的受害者人数大约在1500万人左右。凭借同样的遥测技术对这次活动进行深入分析,可以发现受影响最严重的地区为东南亚,北非和南美洲。
然而,需要注意的是由于我们在这次活动中发现的样本中使用短网址服务的数量不到一半,因此实际的受害人数可能远远不止这个数量。如果我们假定这种操作是典型的遥测技术,那么可以就此推断多达3000万人受到这种操作的影响。尽管具体的人数可能有所出入,但是这确实可以用来说明这次大规模行动影响之大和范围之广。
攻击者使用大量的VBS文件,并且使用各种在线URL缩短服务来安装和运行XMRig的有效载荷。另外,攻击者通过在他们所连接的主机上利用XMRig代理服务来掩盖挖矿操作。
分发
迄今为止,我们在这个Monero加密货币挖掘活动中观察到超过250个独特的Microsoft Windows PE文件。其中一半以上的样本是从4sync在线云存储提供商处下载的。然而,我们并不能通过目前的遥测技术得知恶意软件样本究竟是如何下载了这些内容的。
但是,当我们查看原始文件名时,我们会发现下面的线索:
原始文件名前缀 |
总体百分比 |
范例 |
[File4org]_ |
11.6% |
[File4org]_421064.exe |
[Dropmefiles]_ |
5.2% |
[Dropmefiles]_420549.exe |
[RapidFiles]_ |
16.8% |
[RapidFiles]_48905.exe |
st_ |
5.2% |
st_531094.exe |
drivedownload |
9.2% |
drive_download_4814756.exe |
表1 观察到的原始文件名前缀所占的百分比
正如我们所看到的,攻击者希望使用了通常易于理解的名字来命名这些文件,这也似乎源自于流行的文件共享服务。文件名还以其他的方式为我们提供了线索,因为'[File4org]'的前缀在这次恶意的软件活动是唯一的。由于恶意的Adfly重定向,所以在网上可以找到一些下载这些文件的个人报告。Adf.ly是一个短网址服务商,当用户单击URL链接时向其付费。实质上,这是一项针对客户的常见广告付费服务。根据下面的报告,当个人点击Adfly提供的链接,经过重定向后,就会将这种加密货币的恶意软件下载到他们的计算机上。图1,一位Reddit用户描述这种经历。图2,YouTube用户也在讨论他们的体验。图3,一位用户描述Adfly恶意软件的下载过程。
图1 Reddit用户抱怨说他们由于恶意的Adfly广告而下载了加密货币的恶意软件
图2 YouTube用户解释他们如何下载并运行加密货币的恶意软件
图3用户解释他们在尝试下载反恐精英时,却下载了加密货币恶意软件:使用Adfly URL进行欺诈。(翻译自德国的问答网站gutefrage.com。)
图2中值得注意的是,当受害者认为Adfly中的广告链接是视频中提到的文件下载地址。但是,事实却并非如此,当点击链接时会将其重定向到Monero的恶意挖矿软件。
通过图1,我们还可以发现通过4sync云存储服务下载的样本和我们的遥测数据有部分的重叠。这些样本至少一部分是通过Adfly URL提供的短网址服务中的恶意广告来分发的。
恶意软件分析
在Monero挖矿活动中观察到的恶意软件具备许多特征:
- 通过VBS文件执行XMRig挖矿软件
- 使用XMRig代理服务来隐藏最终采矿池的目标地
- 使用Nicehash
Nicehash 是世界上最大的加密货币挖矿算力市场,根据需求买卖算力。它支持多种加密货币,选择销售其处理能力的客户通过比特币进行支付。
在过去的4-5个月中,Unit 42已经观察到了这些攻击者部署恶意软件的变化过程。
截止到2017年10月20日,此活动背后的攻击者还严重依于Windows的内置工具BITSAdmin.aspx), 工具允许攻击者从远程下载脚本和XMRig挖矿工具。这些恶意软件样本的典型工作流程如下所示:
图4 此次活动中最早发现的恶意软件的执行流程图
初始化样本是一个自行解压的可执行文件,可提取出VBS和LINK文件。在俄文版本的可执行文件提取出的脚本还包含有标准的注释。用于下载额外样本的VBS文件简洁短小,正如下面的VBS文件所示:
图5 在此次活动中最早遇到的恶意软件中观察到的VBS样例文件
最终的有效载荷主要文件名为'msvc.exe',但也会出现例外情况,比如'winmsvc.exe'或'onedrive.exe'。这些有效载荷位于受害者的%APPDATA%文件夹中的一个子目录中,我们观察到的最常见的子文件夹名称是'msvc'。
截至到2017年10月20日的第一批确定的样本中,通过端口80,443,8443,8080,1725或123独立地使用相同的XMRig代理服务:
a.pool.ml
在2017年10月20日之后,攻击者开始尝试修改恶意软件的运行方式。他们不再使用BITSAdmin服务进行下载,转而开始尝试使用HTTP重定向服务。在此期间,他们仍旧使用SFX文件下载和部署恶意软件。
图6此次活动中第二阶段的恶意软件的执行流程图
从这批恶意软件样本开始,攻击者开始用一个用户名来标识他们的挖掘查询,可能是为了区分发布的特定攻击波范围。下面是一个在挖矿机在这段时间内如何运行的例子:
“C:\Users\Administrator\AppData\Roaming\mnxz\msvc.exe” -o 144.76.201.175:8080 -u x3 –nicehash –max-cpu-usage=20 –keepalive
这些用户名在整个活动的接下来的时间内会持续使用,并且在撰写本文时仍在使用。观察到的用户名的完整列表如下:
- x3x2
- x3
- x2
- x7x2
- x7x3
- x
- x6
- x7
- x4
- x5
在这段时间内,攻击者也开始在VBS文件中进行混淆尝试以避免检测,如下所示:
图7 攻击者使用混淆的VBS文件
攻击者选择的重定向服务通常包含bitly(短网址服务)的混合和一个下面的网址:
- clicklinkredirect.com
- clck.gg
- 99lnk.com
- 1395867912.pw
- browge.com
- lnkredirect.com
在某些情况下,服务只使用了bitly的短网址。应该注意的是,上面列出的所有域名都托管在同一个德国IP地址144.76.155.139上。虽然bitly大量用于良性活动,但144.76.155.139 IP托管的重定向服务却专门用于恶意目的,似乎就是专门用于此次特定的加密货币挖掘活动。
与遇到的原始恶意软件样本一样,攻击者通常使用名为'msvc.exe'的文件来提取有效载荷。但有时也会使用“ErrorCheck.exe” 或者“CleanError.exe”来提取。这些样本主要位于名为“msvc”,“mnxz”或“mnaxz”的子文件夹中。
直到目前为止的这段时间里,下列XMRig代理已被恶意软件用于连接目的:
- 5.101.122.228
- 144.76.201.175
- b.pool.gq
- f.pooling.cf
从2017年11月16日开始,攻击者再次改变了他们的恶意软件的策略。他们不再使用SFX文件,而是转向使用在Microsoft .NET Framework中编译的可执行文件,该文件将VBS文件写入磁盘并修改受害者的运行注册表项以确保持久性。
图8 攻击者用.NET dropper 文件将VBS文件写入磁盘
dropper恶意软件提取的文件名通常为'msvc.exe'或者'mingc.exe'。在这一系列的样本中,发现了一个独特的PDB字符串,用户编译文件的时候都使用了相同的用户名。在所有观察到的样本中发现了以下的PDB字符串:
C:\Users\роаипроаип\Desktop\MingC_Installer\MingC4\WindowsFormsApplication1\obj\x86\Debug\WindowsApplication.pdb
C:\Users\роаипроаип\documents\visual studio 2015\Projects\WindowsFormsApplication1\WindowsFormsApplication1\obj\Debug\Inst.pdb
C:\Users\роаипроаип\documents\visual studio 2015\Projects\WindowsFormsApplication2\WindowsFormsApplication2\obj\Debug\WindowsFormsApplication2.pdb
C:\Users\роаипроаип\Desktop\MingC_Installer\MingC4\WindowsFormsApplication1\obj\Release\[File4org]_421058.pdb
C:\Users\роаипроаип\Desktop\MingC3\WindowsFormsApplication1\obj\Debug\[File4org]_421058.pdb
C:\Users\роаипроаип\Desktop\WindowsFormsApplication1\WindowsFormsApplication1\obj\Debug\Oal.pdb
C:\Users\Роман\Desktop\MingC2\WindowsFormsApplication1\obj\Release\[File4org]_421058.pdb
C:\Users\роаипроаип\Desktop\MineCor\WindowsFormsApplication1\obj\Debug\[Dropmefiles]_421057.pdb
C:\Users\роаипроаип\documents\visual studio 2015\Projects\WindowsFormsApplication1\WindowsFormsApplication1\obj\Debug\65453.pdb
C:\Users\роаипроаип\Desktop\MineCor\WindowsFormsApplication1\obj\Debug\[File4org]_421057.pdb
读者可能已经注意到了'роаипроаип'用户名的存在,从俄语翻译过来是没有任何含义的“roaiproaip”。此外,还观察到一次“Роман”,从俄文翻译成英文单词是“Novel”。
目前观察到的最后一次变化发生在2017年12月下旬,当时攻击者再次改变了用于部署恶意软件的dropper文件。他们放弃.NET,转到用Borland Delphi来编译dropper,生成VBS文件。不同于.NET编译产生的 droppers,这个特定的dropper文件把VBS文件放在受害者的启动文件夹中就能获得持久性。另外,执行流程保持不变。
图9 最近的恶意软件提取的VBS文件
应该指出的是,使用dropper观察到的最新样本已经使用了下面这个新的IP地址,用作XMRig通信:
受害者遥测数据
正如我们之前解释的,在十月下旬到十二月下旬这段时间,攻击者严重依赖于这个恶意的URL短网址服务来下载并随后执行XMRig Monero挖矿过程。所有恶意的重定向的完整列表在附录中。Bitly提供了关于特定的短网址的通用统计数据,这使我们能够深入了解有多少受害者实际下载了这些样本。总的来说,大约有一千五百万的受害者被观察到连接到这些恶意的URL。
图10 随着时间的推移恶意软件的下载量
虽然大多数国家都受到这一运动的影响,但似乎东南亚,北非和南美国家受到的冲击最大。
图11 按地区划分的下载量
最常见的国家及其下载量如下:
1.Thailand – 3,545,437
2.Vietnam – 1,830,065
3.Egypt – 1,132,863
4.Indonesia – 988,163
5.Turkey – 665,058
6.Peru – 646,985
7.Algeria – 614,870
8.Brazil – 550,053
9.Philippines – 406,294
10.Venezuela – 400,661
正如我们以前所说的,整个观察到的样本中,只有其中的一个子集使用了短网址服务。事实上,在250个样本中,只有大约100个使用了短网址服务。我们有理由推断,这个加密货币挖掘活动中的实际受害者的数量远高于1500万。
结论
Monero挖矿活动不是最近刚刚出现的,因为早先就有很多相关的报道。但是,很奇怪的是在这么长的一段时间内,如此大规模的挖矿活动竟然没有引起人们的注意。通过恶意广告随机感染终端用户,并且将恶意软件文件命名为看似无害的名称,同时还使用内置的Windows实用程序和脚本文件,攻击者可以成功地感染大量受害者的系统,而不至于被轻易发现。
正如我们所看到的,攻击者随着时间的推移对其恶意软件工具集进行了迭代更新,几乎每个月都在改变他们的策略。根据观察到的最初的SFX和.NET droppers提供的线索,再加上一些语言证据,说明袭击者可能位于东欧。
迄今为止,至少已经有1500万用户成为这场运动的受害者。这些受害者遍布全球,但最重的目标地区包括东南亚,北非和南美洲。
Palo Alto Networks的客户可以通过以下几种方式防范这种威胁:
- 所有恶意软件使用的URL都被标记为恶意网址
- 所有观察到的样本在WildFire中被分类为恶意
- Traps能够通过WildFire集成环境来阻止这种威胁
感谢Bitly,在意识到这些恶意链接后,他们能够很快撤下恶意链接。
特别感谢Carbon Black TAU的Brian Baskin为这项研究提供了更多的见解。
附录
XMRig代理连接
5.101.122.228:8080
5.23.48.207:7777
144.76.201.175:80
144.76.201.175:8080
f.pooling.cf:80
b.pool.gq:80
a.pool.ml:8080
a.pool.ml:123
a.pool.ml:443
a.pool.ml:8443
a.pool.ml:80
a.pool.ml:1725
恶意的Bitly重定向
hxxp://bit.ly/2j3Yk8p
hxxp://bit.ly/2hxuusK
hxxp://bit.ly/2C7caP6
hxxp://bit.ly/HSGADGFDS
hxxp://bit.ly/2yV0JNa
hxxp://bit.ly/2Algzhc
hxxp://bit.ly/2zA08wz
hxxp://bit.ly/2hcsSUN
hxxp://bit.ly/2hr6KGb
hxxp://bit.ly/2xOVfPH
hxxp://bit.ly/2BoFNMr
hxxp://bit.ly/2xlWVQl
hxxp://bit.ly/2kEApR6
hxxp://bit.ly/2AkVK8t
hxxp://bit.ly/2yyUhLX
hxxp://bit.ly/2AkyUvs
hxxp://bit.ly/2zXRI6r
hxxp://bit.ly/2jjXmbJ
hxxp://bit.ly/2hzW6Rb
hxxp://bit.ly/2mkHzdP
hxxp://bit.ly/FSJKHJK
hxxp://bit.ly/2gB0ZW0
hxxp://bit.ly/2ixSCPu
hxxp://bit.ly/FSFSAASA
hxxp://bit.ly/2A5rxKB
hxxp://bit.ly/2xbUmjC
hxxp://bit.ly/2EHv415
hxxp://bit.ly/2Aq3gja
hxxp://bit.ly/2Bhr1tv
hxxp://bit.ly/2ynGl7o
hxxp://bit.ly/SOURCETXT
hxxp://bit.ly/2zGXAQx
hxxp://bit.ly/2hEhF3i
hxxp://bit.ly/2y3iGnG
hxxp://bit.ly/2ic2mvM
hxxp://bit.ly/2itoMrG
hxxp://bit.ly/2yvqOSU
hxxp://bit.ly/2zCj1n2
hxxp://bit.ly/2jEqYks
SHA256 哈希(译者略)
来源:paloaltonetworks
本文由看雪翻译小组 fyb波 编译