一场活跃且隐秘的加密货币挖掘和勒索软件活动正在感染西班牙和法国的目标用户,该软件利用多种绕过技术来逃避传统AV的检测。
恶意软件活动概要
最近,enSilo研究员Adi Zeligson发现了一个名为DarkGate的,从未被侦测到过且高度复杂的恶意软件活动。DarkGate恶意软件针对Windows工作站并由反应式命令和控制系统提供支持,该软件通过Torrent文件传播。当用户运行时,DarkGate恶意软件能够避免多个AV产品的检测并执行多个有效负载,包括加密货币挖掘,加密窃取,勒索软件以及远程控制端点的能力。
DarkGate恶意软件的关键米素如下:
利用隐藏在包括Akamai CDN和AWS在内的合法服务的合法DNS记录中的C&C基础架构,帮助其避免基于信誉的检测技术。
使用多种方法绕过传统AV具有厂商特性的检查规则和操作(包括使用process hollowing技术)。
能够通过几种已知的恢复工具来避免关键文件被查杀。
使用两种不同的用户帐户控制(UAC)绕过技术来提权。
能够触发多个有效载荷,其功能包括加密货币挖掘,加密窃取(盗窃与加密钱包相关的凭证),勒索软件和远程控制。
下面对DarkGate恶意软件的技术分析演示了高级恶意软件如何避免传统AV产品的检测,并强调了enSilo端点安全平台的感染后保护功能的重要性。
技术分析
恶意软件被作者命名为DarkGate,其旨在感染整个欧洲的受害者目标,特别是在西班牙和法国。DarkGate具有多种功能,包括加密挖掘,窃取加密钱包凭证(加密窃取),勒索软件和远程访问及控制。
enSilo观察到,这个恶意软件背后的作者建立了一个反应性的命令和控制基础设施,由人工操作员配备,他们根据收到的加密钱包的新感染通知采取行动。当操作员通过其中一个恶意软件检测到任何有趣的活动时,他们会去在机器上安装自定义远程访问工具以进行手动操作。
作为我们正常研究活动的一部分,我们偶尔会对看似合法的用户端点进行受控感染。进行受控感染是为了研究恶意软件的几个方面,以及恶意软件操作员的反应性。例如,在一次不期而遇的碰撞中,我们的研究团队能够确定操作员检测到了我们的活动,并通过使用定制的勒索软件感染测试机器,从而立即做出响应。
看来,这个恶意软件背后的作者投入了大量的时间和精力,通过利用多种逃避技术来保持不被发现。使用的技术之一是用户模式挂钩绕过,这使得恶意软件能够在很长一段时间内逃避各种AV解决方案的识别。
enSilo研究团队追踪“DarkGate”及其变种,并发现大多数AV供应商未能检测到它。正是这一发现促使我们开始研究技术分析部分中描述的恶意软件的独特特征。很明显,DarkGate正在不断发展,因为它正在通过每个新变体进行改进。
我们还需要进一步调查以确定恶意软件背后的最终动机。虽然加密货币挖掘,加密窃取和勒索软件功能表明该软件的目标是获取经济利益,但目前尚不清楚作者是否有另一个动机。
家族纽带
在DarkGate中,我们能够识别其与之前检测到的名为Golroted的密码窃取程序恶意软件的关系。Golroted恶意软件因其使用Nt * API调用来执行process hollowing而引人注目。此外,Golroted使用第二种技术—UAC绕过,基于称为SilentCleanup的计划任务。而DarkGate都用到了这两种技术。
在Golroted和DarkGate之间进行二进制差异比较后,我们发现了大量重叠代码。如图1所示,两个恶意软件变体都在进程vbc.exe上执行process hollowing方法。但是,DarkGate包含一个稍微修改过的process hollowing函数版本。
图1 GOLRATED和DARKGATE间的二进制差异
感染策略和方法
我们辨别出了DarkGate作者以及Golroted作者都使用了的两种不同的感染方法。这两种感染方法都是通过Torrent文件传播的,这些文件是一部受欢迎的电影和一部会在受害者机器上执行VBscript的电视连续剧。
第二个文件,the-walking-dead-9-5-hdtv-720p.torrent.vbe,使用一种更为琐碎的方法来感染受害者。它从具有欺骗性的地址来分发包含恶意附件的电子邮件。其示例如图3所示。
图2 种子文件的截屏
图3 通过the-walking-dead-9-5-hdtv-720p.torrent.vbe分发的邮件示例
解开DARKGATE恶意软件的四个阶段
DarkGate恶意软件使用的独特技术之一在于其多阶段解包方法。被执行的第一个文件是一个混淆过的VBScript文件,它起到一个dropper的作用并执行多个操作。在第一阶段,几个文件被放入隐藏文件夹“C: {username}”。这些文件是autoit3.exe,在某些版本中伪装成随机名称test.au3,pe.bin和shell.txt。接下来,使用放入的autoit3.exe实例来执行test.au3 AutoIt脚本。
图4 去混淆的VBS
在第二阶段,AutoIt代码在startup文件夹下创建名称为“bill.ink”的其自身的快捷方式。一旦完成,它将触发第三阶段,其中存储在文件“C: {username} shell.txt”中的二进制代码将被解密并得到执行。AutoIt脚本使用一种相当不寻常的技术来执行二进制代码。该技术涉及的步骤是: