| 关键词: 文件 组件 恶意 软件 服务器 版本 Evilnum 命令 工具 |
ESET分析了Evilnum的运作,该EPT是Evilnum恶意软件背后的APT小组,该恶意软件先前在针对金融技术公司的攻击中可见。尽管至少从2018年以来就已经在人们的视野中发现了这种恶意软件,并且之前已经对其进行了记录,但是关于其背后的组织及其运行方式的信息很少。 在本文中,我们将两点联系起来,并详细介绍Evilnum的活动。该组织的目标仍然是金融科技公司,但其工具集和基础架构已经发展,现在包括定制的自制恶意软件以及从Golden Chickens购买的工具,Golden Chickens是恶意软件即服务(MaaS)提供商,其臭名昭著的客户包括FIN6和钴集团。 目标根据ESET的遥测技术,目标客户是金融技术公司-例如,提供在线交易平台和工具的公司。尽管大多数目标都位于欧盟国家和英国,但我们也看到了澳大利亚和加拿大等国家的袭击。通常,目标公司在多个位置设有办事处,这可能解释了攻击的地域多样性。 Evilnum集团的主要目标是监视其目标并从目标公司及其客户那里获取财务信息。该小组窃取的信息的一些示例包括: 根据我们在调查中看到的信息,该小组还获得了与IT相关的信息的访问权限,例如VPN配置。 攻击概述通过包含电子邮件指向包含在Google云端硬盘中的ZIP文件的链接的鱼叉式电子邮件来接近目标。该档案文件包含几个LNK(又名快捷方式)文件,这些文件在显示诱饵文档时会提取并执行恶意的JavaScript组件。这些快捷方式文件具有“双扩展名”,以试图诱骗用户打开它们,认为它们是良性文档或图片(在Windows中,默认情况下隐藏已知文件类型的文件扩展名)。ZIP文件之一的内容如图所示。 ![]() 打开快捷方式文件后(无论是哪个都无关紧要),它会在自己文件的内容中查找带有特定标记的行,并将其写入.js文件。然后执行该恶意JavaScript文件,并编写并打开一个诱饵文件,该诱饵文件的名称与快捷方式相同,但扩展名正确。它还删除快捷方式文件。用作诱饵的文件主要是信用卡,身份证件或带有地址证明的票据的照片,因为根据规定,许多金融机构在加入客户时会要求其客户提供这些文件(称为“了解您的客户”)。图中显示了一个这样的诱饵(为保密起见已模糊)。 ![]() 这些诱饵文件似乎是真实的,并且我们假定它们是在多年的运营中被该小组收集的。在该组织的当前运营中积极收集文档,因为它针对的是技术支持代表和客户经理,他们定期从客户那里收到这类文件。除非目标来自不同的区域,否则该组将在不同的目标上重用文档。 JavaScript组件是攻击的第一阶段,可以部署其他恶意软件,例如C#间谍组件,Golden Chickens组件或几种基于Python的工具。过去,其他研究人员将Evilnum命名为C#组件,但JS组件也被称为Evilnum。我们已将Evilnum组命名为该组,即其旗舰恶意软件的名称,并将各种恶意软件都称为组件。这些概述如图所示。 ![]() 每个组件都有自己的C&C服务器,并且每个组件独立运行。恶意软件的操作员手动发送命令来安装其他组件,并在必要时使用危害后脚本和工具。 恶意软件使用的大多数服务器都是通过IP地址引用的;域名尚未使用。唯一的例外是Golden Chickens组件使用的C&C服务器。如稍后所述,从MaaS提供商处购买的恶意软件。 IP地址引用的内容可以根据托管服务提供商分为两组。它们中的大多数由乌克兰提供商FreeHost托管。其余的与Dotsi一起在荷兰托管。 JS组件:第一个妥协该组件与C&C服务器通信,无需任何其他程序即可充当后门。但是,在我们看到的大多数攻击中,攻击者会根据需要部署其他组件,并且仅在第一阶段使用JS恶意软件。 该pwncode文章于2018年5月首次提及此JavaScript恶意软件。从那时起,恶意软件发生了变化,我们在图中说明了这些变化。 ![]() 1.3版与其他版本之间的差异值得注意,因为C&C的服务器端代码已更改,并且命令也有所不同。在早期版本中,无法将文件上传到C&C,而只能将文件下载到受害者的计算机。另外,随着新版本的出现,该恶意软件通过一些Python脚本(请参阅“破坏后工具集”部分)和外部工具(例如ChromeCookiesView)进行了扩展。 尽管存在差异,但所有版本的核心功能均保持不变,包括从为此目的而专门创建的GitHub,GitLab或Reddit页面检索C&C服务器的地址。图显示了Reddit页面的示例,该页面由恶意软件解析以检索C&C地址。 ![]() 该组件通过“运行”注册表项实现持久性,并具有完整的后门功能:它可以下载和执行二进制文件,运行任意命令或将文件从受害计算机上传到C&C服务器。我们不会详细介绍此组件的技术方面,因为Prevailion最近发布了对最新版本的很好的分析。 C#组件:邪恶,不是那么邪恶在2019年3月,Palo Alto Networks描述了具有与JS组件非常相似的功能但使用C#编码的恶意软件。该版本(2.5)通过将数字除以666获得了C&C的地址,因此被Palo Alto Networks研究人员命名为Evilnum。从那时起,出现了新版本的C#恶意软件,其中最新的是4.0版本,我们在2020年4月首次看到该数字。不再使用数字666,可执行文件的PDB路径显示开发人员将其恶意软件称为“奇迹”。但是,我们将继续命名恶意软件Evilnum,以避免造成混乱。 最新版本捆绑在MSI文件(Windows Installer)中,并且独立于JS组件运行。此外,它具有与JS组件不同的C&C。但是,在我们已经看到的所有情况下,在JavaScript恶意软件获得初始访问权限后,都下载并执行了C#组件。该组件的结构如图所示。 ![]() 执行MSI文件时,会将三个恶意组件以及一些.NET Framework库文件写入%LOCALAPPDATA% Microsoft Mediia中的磁盘。文件复印机是第一个被执行的文件,它的唯一目的是将文件移动到%LOCALAPPDATA%中的另一个位置(有关文件夹名称,请参见“损害指标”部分)。然后执行加载程序,并加载和解密文件System.Memmory.dll的内容,该文件是C#组件的实际恶意有效负载(DLL代理)。AES加密用于DLL和混淆有效负载中的字符串。相同的密钥和初始化向量用于加密所有不同版本中的字符串。C&C服务器的IP地址采用硬编码和纯文本格式。 发送针对/ Validate / valsrv的GET请求,并且如果响应正文中包含您不会找到的文本,则表示服务器被接受。否则,将分析GitLab页面以获取第二台服务器的IP地址。 4.0版中具有以下功能: 指令可以发送给恶意软件的命令是: 2.5版是C#组件的第一个文档版本(ESET于2018年12月首次看到)。然后我们看到v2.7.1(2019年11月),v3(2019年12月)和v4.0(2020年4月)。最新版本的恶意软件与先前版本之间最重要的区别是: JS和C#组件相互连接:后者捕获屏幕截图,而前者不捕获屏幕快照,但是它具有用于查找屏幕快照文件并将其发送到C&C服务器的代码。C#组件还会删除%LOCALAPPDATA% Temp文件夹中所有带有.lnk扩展名的文件,从而清除JS组件最初破坏时的剩余内容。因此,即使C#组件的功能有限(它无法下载或上传文件),它也可以为其他C&C服务器提供冗余,并在发现受害者的计算机中或从受害者的计算机中删除JS组件时提供了额外的持久性。 Golden Chickens组件:TerraLoader系列在少数情况下,Evilnum组还部署了一些从“恶意软件即服务”提供商那里购买的工具。该术语用于描述恶意软件作者,他们不仅提供其恶意二进制文件,还提供任何必要的基础结构(例如C&C服务器),甚至为其犯罪客户提供技术支持。 在这种情况下,MaaS提供商被称为Golden Chickens,并且拥有其他客户(除此组外),例如FIN6和Cobalt Group。Visa在2019年2月对Visa归因于FIN6的电子商务商人的攻击中,先前看到了我们在以下各节中描述的所有组件的较旧版本。我们认为,尽管有重叠之处,但FIN6,Cobalt Group和Evilnum组并不相同在他们的工具集中。他们只是碰巧共享同一个MaaS提供商。 Golden Chickens工具是作为ActiveX组件(OCX文件)提供的,它们都包含TerraLoader代码,该代码充当Golden Chickens客户可用的各种有效负载的通用加载器。Evilnum使用这些工具的方式如下: TerraLoader代码在删除有效负载之前会执行几次完整性检查。这些检查将实施反调试技术,并尝试识别异常情况以防止在沙盒环境中执行。这些技术中的一些技术范围从检测错误的参数,文件名和扩展名到检测硬件断点或识别加载到主题进程中的特定模块。如果这些检查全部通过,则将解密并执行实际的有效负载。 我们已经看到Evilnum在其攻击中部署了以下Golden Chickens有效载荷: Positive Technologies的研究人员最近分析了Cobalt组使用的一些工具,包括More_eggs版本6.6,该版本是Evilnum组使用的版本之一。他们对TerraLoader进行了很好的分析,因此我们建议检查他们的报告(第4节)。 More_eggsMore_eggs是与C&C服务器通信并接受命令的JavaScript后门。过去,其他针对金融公司的组织也使用了它。Evilnum结合使用它和其自制后门,以在受害者网络上提供冗余和额外的持久性。 我们已经看到Evilnum将32位ActiveX组件与TerraLoader代码一起使用,这些代码运行More_eggs版本6.5、6.6和6.6b(最新版本)。他们通过删除msxsl.exe(一个命令行转换实用程序,它是一个合法的Microsoft可执行文件)并执行JavaScript代码来实现此目的,这与IRIS在本文中所描述的非常相似。 删除的JavaScript代码是由ActiveX组件动态生成的,在分析过程中需要注意以下几点: 执行exe的初始JS代码具有硬编码的绝对路径,因此从另一个位置或与另一个用户执行它会失败。 最终的More_eggs有效负载使用密钥加密,该密钥的末尾附加了主机名和处理器系列信息。 一个示例键是: 核心功能与上面链接的文章中描述的功能相同,尽管这里有未提及的新命令more_time。此命令类似于已记录的命令via_c,该命令通过cmd.exe / v / c TerraPreterEvilnum组还使用64位可执行文件来解密并在内存中运行Meterpreter实例。Meterpreter的使用使它们具有灵活性,并能够以隐秘且可扩展的方式运行各种有效负载。 这些组件的结构和实施的完整性检查被标识为TerraLoader代码。因此,我们将这些组件称为TerraPreter。主要恶意程序的反编译代码如图所示。 ![]() 标有Dummy的例程调用了一系列不执行任何操作的API。RC4函数初始化通过获取基本字符串并向其附加一个在每次迭代中递增的数字来强制使用该密钥。然后,它使用RC4使用候选密钥解密16字节缓冲区。如果解密的缓冲区与硬编码的字符串匹配,则该候选密钥将是选定的RC4密钥,供以后使用。 我们认为这可能是针对模拟器的浪费时间的对策。解密带有有效负载的嵌入式缓冲区后,恶意软件最终将为GrayStringW API函数设置回调,指向已解密的缓冲区。经过多层解码后,Meterpreter的metsrv.dll被加载到内存中。从这一点开始,我们看到的是尚未更改的常规Meterpreter行为。但是,我们将继续描述如何进行通信。TerraPreter使用HTTPS与C&C服务器通信,并检索一系列命令。 我们看到的C&C最好是cdn.lvsys [。] com和Faxing-mon [。]。第一个重定向到d2nz6secq3489l.cloudfront [。] net。C&C每次收到请求时,都会发送不同的二进制数据,并与一个随机的4字节密钥进行异或。恶意软件会从32字节标头的前4个字节中读取用于解密的密钥,该标头以加密数据为前缀。图显示了一个示例。 ![]() C&C发送的第一个命令是core_patch_url,它更改URL的最后一部分以用于后续请求。然后,C&C发送core_negotiate_tlv_encryption及其公钥。从现在开始,将对消息进行XOR加密。 TerraStealer and TerraTVTerraStealer也被称为SONE或Stealer One。它会扫描许多浏览器,电子邮件,FTP和文件传输应用程序,以窃取Cookie和凭据。我们分析的二进制文件之一已激活日志记录。其中一个这样的日志的一部分如图所示。 ![]() 该小组使用的另一个组件是TerraTV的变体。它运行合法的TeamViewer应用程序,但隐藏其用户界面元素,以便恶意软件的操作员可以在未检测到的情况下连接到受感染的计算机。 执行后,TerraTV将几个已签名的TeamViewer组件放入C: Users Public Public Documents 57494E2D3850535046376373503532 。删除的文件如图所示。 ![]() ACTIVEDS.dll未签名,并且是恶意代码所在的位置。在系统文件夹中有一个具有相同名称的Windows DLL,但是由于恶意DLL与TeamViewer可执行文件位于同一目录中,因此首先找到它,因此将代替Windows DLL对其进行加载。这就是所谓的DLL搜索顺序劫持。这个ACTIVEDS.dll在TeamViewer可执行文件中挂钩了几个API调用,以隐藏应用程序的任务栏图标并捕获登录凭据。图显示了设置钩子的代码部分。 ![]() Windows API调用DefWindowProcW(由TeamViewer可执行文件多次调用以处理定向到其主窗口的消息)与例程挂钩,该例程将TeamViewer的ID和密码写入文件%APPDATA% log_CZ72kGqTdU.txt。有了这些凭据,并且TeamViewer在没有可见的托盘图标或窗口的情况下运行,恶意软件的操作员可以随时通过其GUI远程控制计算机。 妥协后工具集先前提到的恶意组件经常通过Evilnum组的武器库中的几个附加工具进行扩展。在我们看到的大多数妥协中,攻击者使用了公开可用的工具,但还开发了一些自定义脚本。通常,他们将工具保存在服务器上受密码保护的档案中,并根据需要在受害者的PC上解压缩。 基于Python的工具 其他公开可用的工具 结论Evilnum小组已经运作了至少两年,并且在撰写本文时一直很活跃。它具有用于与多个不同服务器进行操作的基础结构:一个用于与JS组件进行通信,另一个用于C#组件,用于存储其工具和泄露的数据,代理服务器等的另一个。该小组的目标是为客户提供交易和投资平台的金融科技公司。目标非常具体,并不多。这以及该组织在其攻击链中使用合法工具的原因,使其活动在很大程度上受到关注。借助遥测数据,我们能够将各个点连接起来并发现该组的工作方式,从而发现与其他已知APT组的一些重叠之处。我们认为该小组与其他小组共享同一MaaS提供商,并且Evilnum小组尚无法与任何其他APT小组先前的任何攻击相关联。 译自 :welivesecurity |
| 本文出处: https://www.toutiao.com/a6847477313161036299/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|