导语:终端安全厂商Minerva实验室近日发现了一个恶意软件,它可以在挖掘加密货币时完全逃避杀毒软件的检测。

timg.jpg

终端安全厂商Minerva实验室近日发现了一个恶意软件,它可以在挖掘加密货币时完全逃避杀毒软件的检测。

本文不但对新发现的恶意软件的挖掘过程进行了剖析,而且还解释了它的逃避技术和传播方式。此外,我还对该恶意软件的幕后操作者进行了分析。

疯狂的挖矿潮

加密货币的未来可以说是一片大好,以比特币为例,全球最大旅游网站Expedia早已接受了比特币支付。

1.png

但比特币并不是唯一的加密货币,目前已有10多种不同形式的加密货币,其市值已超过10亿美元,其中包括Ethereum,Litecoin,ZCash和Monero。虽然都是数字形式,但其实背后的计算方式和数学原理却各有不同。

最初的时候,我们用电脑CPU就可以挖到比特币,比特币的创始人中本聪就是用他的电脑CPU挖出了世界上第一个创世区块。然而,CPU挖矿的时代早已过去,现在的比特币挖矿是ASIC挖矿和大规模集群挖矿的时代。

回顾挖矿历史,比特币挖矿总共经历了五个阶段:CPU挖矿→GPU挖矿→FPGA挖矿→ASIC挖矿→大规模集群挖矿 。

挖矿芯片更新换代的同时,带来的是挖矿速度的变化。挖矿速度,专业的说法叫算力,就是计算机每秒产生哈希碰撞的能力。也就是说,我们手里的矿机每秒能做多少次哈希碰撞,就是算力。算力就是挖比特币的能力,算力越高,挖得比特币越多,回报越高。

所以这也就是为什么最近频繁出现各种盗用用户CPU的恶意程序和攻击事件,因为以一种大规模的分布方式使用他人设备,对黑客们来说有着巨大的吸引力。

今年5月,ProofPoint公司的安全专家们发现,相当一部分设备之所以未受WannaCry影响,是因为其已经被Adylkuzz(恶意挖矿软件)成功感染。

Proofpoint发现了Adylkuzz Monero矿业恶意软件,它们与WannaCry分享了与WannaCry相同的漏洞。还有最近@PaulWebSec观察到的CBS Showtime,The Pirate Bay等许多网站都被悄悄注入了挖矿代码。

2.png

最近,Minerva实验室的研究者就发现了一个专门针对门罗币挖掘的恶意软件,且专门针对俄语用户,专家将其命名为WaterMiner。

什么是WaterMiner?

WaterMiner是一个简单而有效的门罗币挖掘恶意软件,它被设计成能隐藏端点监测(endpoint monitoring)的模式。

有些热爱游戏的程序编写高手,会尝试进行修改游戏中的部分资料设定,这就需要通过MOD来实现,而WaterMiner就是通过此途径来传播的。WaterMiner最先在俄语论坛上开始出现,例如,一个号称可以对《侠盗猎车手5》游戏进行MOD修改的“Arbuz”程序其实就是该挖矿程序,这也就是为什么专家把其命名为“WaterMiner”的原因。

接着在不同的论坛上陆续出现了具有不同修改功能的下载链接,甚至在VirusTotal上还出现了专门针对修改功能进行无害扫描的链接,以证明其是无害程序。

3.png

发布修改功能的一个帖子

4.png

由不同会员发布的相同内容的帖子

攻击者会将该挖矿程序捆绑在游戏修改程序上,在用户下载它时会自动完成WaterMiner的下载,WaterMiner的压缩文件会被托管在Yandex.Disk上,Yandex.Disk相当于是俄罗斯的Google。压缩文件提供了所宣称的修改功能,然而,在数十个文件中,它包含一个名为“pawncc.exe”的文件,如下图所示。一旦下载开始执行, “pawncc.exe”也就开始了活动。

5.png

由上图可以看出,pawncc.exe一旦在受害者的系统上执行,则会启动一连串的事件,最终导致WaterMiner的运行。

pawncc.exe进程会首先检查该设备是否安装过WaterMiner。如果检测到WaterMiner不存在,它会创建一个感染标记。感染标记会创建一个注册表“HKLM Software IntelPlatform”,并将其命名为“Ld566xsMp01a”,设置为“Nothing”:

6.png

 Cuckoo沙箱所检测到的活动轨迹,显示感染标记的初始状态

接下来,pawncc.exe将WaterMiner从Google云端硬盘链接下载到临时文件夹,并将感染标记的值设置为“loaded”,这样WaterMiner将在名为“Intel(R)Security Assistent.exe”的新进程中执行:

7.png

如果感染标记的值已经设置为“loaded”,WaterMiner将不会进入下一个执行阶段。

你可以在下图中看到感染标记的测试过程,如果感染标记已经存在并设置为“loaded”,则下方的代码块将包含负责下载和执行WaterMiner的函数。

8.png

如果发现感染标记,则跳过第二个代码块

在检查下载程序的同时,Minerva的专家又发现了一些独特的攻击指标,该指标可以跟踪Pastebin上的较早版本的源代码。由下图可以看出,开发者最早对修改功能里的挖掘服务进行的评论,该评论已经明确表明要把挖掘功能捆绑在游戏修改程序上。

9.png

把上图中的俄语评论翻译过来就是:

1.将11个挖矿文件加载到临时文件夹
2.添加持久性机制
3.隐藏文件和持久性机制
4.仅下载一次挖矿文件

甚至在TODO部分的一些评论,也说明要对挖矿功能进行改进:

1.创建挖矿文件的备份
2.持久化使用任务调度程序
3隐藏挖矿服务

pawncc.exe会将挖矿软件下载到受害者的系统中,并将其保存在“%TEMP% Intel(R)Security Assistent.exe”中,这是一个64位可执行文件。

通过以上评论可以得出这个结论,该挖矿具有持久性攻击特点,并使用注册表随时进行重新启动,该注册表隐藏在一个伪装成“Oracle Corporation”应用程序的RunOnce密钥下。

10.png

接下来,它将开始挖矿,并将在TCP端口45560上与xmr.pool.minergate.com通信。该主机名属于一个挖矿池。矿池把小矿工的算力集中起来以便可以合作挖矿。如果挖矿是一项竞技运动,每个矿工都在竞逐挖出最新区块,那么矿池就是一个把矿工联合起来的球队。目前,有几十个门罗币矿池可供公众使用。

进过检查该挖矿软件后,Minerva的专家观察到它是一个名为XMRIG的常见开源挖矿的修改版本,右下图可以看出左侧的代码是从右侧提取的字符串。

11.png

XMRIG本身并不是恶意的,但如果在用户没有授权的情况下将其安装在系统上,就会产生非法的用途。

此外,Minerva还发现了dropper木马的痕迹,它负责在Nice Hash买卖算力,Nice Hash是世界上最大的加密货币挖矿算力市场。不过,挖矿软件最终还是使用了XMRig,专家们猜测这可能是因为Nice Hash需要大约几十个不同的文件才能在受害者的系统上正常运行。

WaterMiner是如何隐藏自己并逃避检测的

采矿时,WaterMiner必定会占用受害者的CPU进行大规模的计算,不过这会让用户的运行减慢,机箱隆隆作响,很容易被人发现异常。这样用户很可能会打开Windows任务管理器或类似的应用程序来检查减慢的原因,从而暴露挖矿进程。所以为了避免被检测到,WaterMiner在挖矿时,如果出现以下主题窗口,则攻击者会选择通过调整原始XMRig来逃避检测:

1.英语和俄语的Windows任务管理器
2.任务管理器
3.AnVir(俄罗斯的任务管理员)
4. Process Hacker(一款功能丰富的系统进程管理工具)

以下是一段捕获的调整后的XMRig代码:

12.png

以上过程会让WaterMiner感受到威胁时及时停止挖矿以逃避检测,如果WaterMiner在挖矿时检测到上述任何一个应用程序,则挖矿作业将停止,这样受害者就不太可能检测到恶意程序的存在。

在早期的挖矿活动中传播的WaterMiner的变体还包括了其它的逃避方式,比如,它试图通过检查运行的进程列表来检测监控应用程序,假如发现下图中所显示的进程,则立即终止自身的活动。

13.png

由上图可以看出,如果找到任务管理器或AnVir,则会调用taskkill来终止恶意进程。

WaterMiner的幕后Boss 

根据一些论坛的帖子和Minerva跟踪监控的源代码,WaterMiner活动的幕后操纵者似乎化名为“Martin Opc0d3r”,而且“Martin Opc0d3r”还参与了开发其他形式的可疑或恶意软件,比如自动瞄准(auto aim)的木马和电脑游戏的修改程序。然而“Martin Opc0d3r”似乎在最近才意识到可以通过他开发的电脑游戏修改程序直接获利。

Minerva将URL硬编码在WaterMiner的一个样本中,hxxp://cw36634[.]tmweb[.]ru/getfile[.]php?file=12,可以看出同一个开发者至少有12个样本,而且都是从几乎相同的url下载的。

15.png

Minerva找到了另外一个使用不同域的样本,其URL也遵循类似的模式:

16.png

目前有一些有效载荷已经失效,专家们猜测这可能是由主机服务提供商或攻击者自己删除的。然而,通过对能用的有效载荷所进行的检测来看,专家们发现了各种版本的且经过改进的XMRig和Nice Hash,它们与WaterMiner活动的相关代码片段非常相似。另外0pc0d3r在Pastebin上公开提供的片段让专家们相信,上述链接不再提供具备有效载荷的木马。

17.png

其中一个意见提到一个木马,可能在运行时从不同的文件中提取

其他证据表明最终用户检测到较早的0pc0d3r的特洛伊木马模式。在线程Minerva位于另一个俄罗斯论坛上,hxxps://video[.]fishyoutube[.]com/watch?v=lU0xJSuj-ZM,我们观察到出版了一个不同的模式。它的用户发表了评论,用“窃取者”,“木马”这个词来标记它,并称为0pc0d3r“乱伦的结果”:

上图评论里提到一个木马,可能是在运行时从一个不同的文件中提取的。其他证据表明,有用户还是检测到了0pc0d3r较早开发的具有游戏修改功能的木马程序。在另一个俄罗斯的论坛上,专家们发现了这个链接:hxxps://video[.]fishyoutube[.]com/watch?v=lU0xJSuj-ZM,在此连接上他们观察到了一个具有不同游戏修改功能的程序发布,可以看出在下面的评论中,用户是用“窃取者”,“木马”等负面词汇来标记它。

18.png

从0pc0d3r的糟糕运作过程来看,显然他不是一个很有经验的网络犯罪分子。通过跟踪与0pc0d3r相关的活动,我们发现了其它可能的幕后人。在俄罗斯社交网络VK中,0pc0d3r开发的程序是由不同的人分别提供的, 比如下图中的Anton。

19.png

由上图可以看出,当一个用户指责 Anton盗窃0pc0d3r的成果时,Anton毫不掩饰地承认了自己的幕后人身份。

20.png

专家们在结合了其它收集到的信息后,认为Anton可能就是所谓的0Pc0d3r,即WaterMiner的幕后开发者。

总结

随着加密货币的市场快速扩大,它一定会是一个让黑客垂涎三尺的地方,这也是为什么不断有更高技术特性的挖矿程序出现的原因,相信未来还有更多新的工具出现,怎么预防这种情况呢?除了将挖矿这种行为正规化意外,还有就是要加强杀毒软件的监测功能。

IoC

IP

93[.]188[.]160[.]90

92[.]53[.]96[.]133

Hashes (SHA-256)

1852bf95b91bc50fb10cd0388595d88ce524dca9607aa3621e7b2587f326ec9d (original mod)

b23ce6a8af6cbf7dae517f6736aa69c451347f6b5e7e66d5a1339a4d74e10e66 (WaterMiner downloader)

715c3a8f7d5cd921b321a4fa180862315846f408b903d9d2888ae95912dbb9ca (payload)

db4f825732f27f1163367226c7d565714455f3f51c1cdbd858ed4a0b2335515b (older payload)

f5f762a56578a939623da00d8a7bd857c10432b6623d335da20731f9a1b131ba (older payload)

1347fbbb5f0c41a27dd06d4d02588e72cd1c8ba6dd609ae15d042895ed1211e9 (older payload)

83cfa3f13e6e851c670e491ea29feafa98cb9554fb0458b4897b20b5b0598be2 (older payload)

进程名称

Intel(R) Security Assistent.exe

URLs

下载链接:

hxxps://goo[.]gl/MWTs3Y

hxxps://drive[.]google.com/uc?authuser=0&id=0B04cozXxVfySSGN6UEZfb2xpZms&export=download

有效载荷的传播地址:

hxxp://cw36634[.]tmweb[.]ru

hxxp://0psofter[.]esy[.]es

源链接

Hacking more

...