Gamaredon组织自2013年起一直活跃至今,且已经发动了多起攻击事件,其中多数是针对乌克兰机构的攻击,这些攻击可以从CERT-UA和其他乌克兰官方机构发布的报告中得到证明。在过去的几个月里,该组织的活动有所增加,恶意邮件不断发向目标邮箱。这些邮件的附件是带有恶意宏的文档,当执行这些恶意宏时,会尝试下载多种不同的恶意软件变体。其所使用的编程语言从C#到VBScript、batch files和C/C++,Gamaredon使用的工具非常简单,旨在从受感染的系统中收集敏感信息并进一步传播。
ESET的研究人员发现了几个以前未记录的后渗透工具,这些工具被高度活跃的Gamaredon威胁组织应用于各种恶意活动中。其中的一种工具是针对Microsoft Outlook的VBA宏,它使用目标的邮件帐户向受害者的Microsoft Office通讯录中的联系人发送鱼叉式邮件。Gamaredon组织的工具能将恶意宏和远程模板注入到现有的Office文档中。
尽管Gamaredon组织的工具有能力下载和执行任意可能更隐蔽的二进制文件,但该组织的主要任务似乎是在试图窃取数据的同时,尽可能地在目标网络中快速传播。
一、 背景
图1描述了Gamaredon活动中的一个典型的攻击链。
图1:典型的Gamaredon攻击链
二、Outlook VBA 模块
Gamaredon组织使用的程序包包括一个自定义的MicrosoftOutlook Visual Basic应用程序(VBA)项目。在调查恶意活动时,发现很少使用Outlook宏来分发恶意软件。
这个捆绑的恶意代码以VBScript开头,如果Outlook进程正在运行,该VBScript首先会杀死Outlook进程,然后通过更改注册表值来消除Outlook中VBA宏执行的安全性。它还会将包含宏、恶意邮件附件以及在某些情况下应将邮件发送到的收件人列表的恶意OTM文件(Outlook VBA项目)保存到磁盘。
接下来,它使用特殊选项/altvba <OTM filename>加载Gamaredon的VBA项目,一旦接收到Application.Startup事件,恶意代码将会被执行。他们使用此模块以三种不同方式将恶意邮件发送给:
受害者通讯录中的所有人
同一组织内的所有人
预定义的目标列表
尽管滥用受感染的邮箱且未经受害者的同意而向其发送恶意邮件并不是一项新技术,但这是攻击组织使用OTM文件和Outlook宏来实现攻击的第一个公开记录的案例。
图2:创建恶意email的Outlook VBA 脚本
基于此恶意VBA代码的“send to all incontact list”行为,ESET认为此模块可能让一些组织误认为它们是Gamaredon的攻击目标,但事实上它们只是附带损害。例如,最近上传到VirusTotal的样本来自习惯上不被Gamaredon瞄准的地区,比如日本,可以通过这个模块的行为来解释。
如图2所示,VBA代码构建邮件正文并将恶意文档附加到邮件。.docx和.lnk格式的文件都可以被用作附件。这些内容与Gamaredon最初的钓鱼活动中使用的恶意附件内容非常相似。图3展示了这个恶意组件生成的邮件。
图3:由Outlook VBA模块生成的包含远程模板Word文档附件的邮件
如图3所示,邮件包含英文和俄文。但是俄语编码存在一定的问题。该问题在这个模块的后一个版本中得到了修正,这是Gamaredon组织快速发展和明显缺乏对细节关注的另一个例子。
尽管滥用受感染的邮箱且未经受害者的同意而向其发送恶意邮件并不是一项新技术,但这是攻击组织使用OTM文件和Outlook宏来实现攻击的第一个公开记录尽管滥用受感染的邮箱且未经受害者的同意而向其发送恶意邮件并不是一项新技术,但这是攻击组织使用OTM文件和Outlook宏来实现攻击的第一个公开记录的案Of
三、Office宏注入模块-CodeBuilder
ESET分析了恶意模块的不同变体。这些不同变体被Gamaredon组织用于将恶意宏或远程模板注入已存在攻陷系统的文档中。这是一种在机构网络中横向移动的非常有效的方法,因为文档通常在同事之间共享。另外,由于这些宏是在打开文档时运行的,因此这是一种在系统上持久化的很好的方式,因为其中一些文档可能会在不同的时间多次被打开。
这些宏注入模块还具有篡改MicrosoftOffice宏安全设置的功能。因此,受影响的用户不知道他们在打开文档时正在攻陷他们的工作站点。这个模块使用两种不同的语言实现:C#和VBScript。
四、C#
与许多其他工具一样,这个模块被提交在7z自解压存档中。里面有一个加密且包含一些文件的RAR存档。值得注意的是,有两个文本文件,一个用于Word,另一个用于Excel,其中包含要插入到目标文档中的恶意宏的VBA源代码,以及负责查找和破坏现有文档的.NET程序集。如图4所示,程序集名称是CodeBuilder。
图4:未被混淆版本中的CodeBuilder函数
此.NET模块首先通过修改以下注册表值来减少各类文档的Office宏安全设置:
HKCU\Software\Microsoft\Office\<version>\<product>\Security\VBAWarnings HKCU\Software\Microsoft\Office\<version>\<product>\Security\AccessVBOM |
它能够适应Word和Excel的所有版本,然后,它会在连接系统的所有驱动器上扫描具有有效Word或Excel文件扩展名的文档。对于包含Windows安装的驱动器,它只扫描特定的位置,即Desktop和Downloads文件夹。对于其他的,它扫描整个驱动器。恶意软件将每个可以定位的文档移动到AppData文件夹中,并使用Microsoft.Office.Interop对象将恶意Word或Excel宏插入文档中,然后将文档移回其原始文件夹。在分析的样本中,注入的宏是简单的下载程序。
五、Batch file/VBScript
此模块的VBScript版本在行为上与.NET版本相似。主要区别在于,它不会将恶意宏注入现有文档中,而是将对远程模板的引用注入到现有文档中。
图5:使用Document.AttachedTemplate属性将远程模板的引用注入到现有文档中的VBScript
此VBScript模块被打包在一个自解压存档中,其中包含一个batch file和两个VBS文件,这些文件负责遍历文档并向其中添加远程模板引用。
六、模块升级
有趣的是,在2017年,Palo Alto Networks在有关Gamaredon的博客中所描述的一些定制化工具如今仍被更新和使用中。有些表现出显著的相似性,而另一些则是用不同的编程语言重写。下载并安装在攻陷机器上的最常用的工具可以大致分为两类:下载程序和后门程序。
七、Downloaders
他们的下载程序有很多变体,大多数是用C#或VBScript编写的。这一部分将只涵盖他们最原始的两个变体,其他变体变化不大且非常简单。
(1)C#编译模块
这个.NET可执行文件与Gamaredon组织使用的许多其他工具类似,使用了诸如垃圾代码注入和字符串混淆等技术。它的主体中包含一个Downloader的base64编码源程序。它对源程序进行解码,并使用内置的Microsoft.CSharp.CSharpCodeProvider类直接在系统中进行编译。编译后生成的可执行文件放置在现有目录中,并创建一个定时任务,该任务将每10分钟启动一次。如图6所示,解码后的源程序中存在注释,这说明了Gamaredon执行人员具有明显的草率性。
图6:C#编译器模块中包含的C#下载程序源代码的一部分
(2)GitHub project模块
如图7所示,可以在GitHub上下载此.NET可执行文件并执行downloader。虽然这个仓库现在已经不存在了,但当它仍然可用的时候可以下载它的副本。
图7:负责下载和执行存储在github.com中的.NET模块
仓库包含一个单独文件:readme.txt,它是一个base64编码的.NET 可执行的downloader。GitHub project 模块的作用就是下载这个文件,解码并执行它。
八、后门-文件偷窃者
这些后门主要是为了列出攻陷系统上所有文档并将其上传到C&C服务器,另外还可以从C&C服务器下载和执行任意代码。这些后门使用四种不同的编程语言:C/C++、C#、batch file和VBScript。
(1)C/C++
此变体是USBStealer模块的后续版本。尽管存在最新版本,但是通过深入分析发现它们来自相同的源代码。
一个很好地说明这一转变的例子是一个内部名为Harvesterx64.DLL的64位DLL,于2019年6月编译。它仍然使用旧版本中的大多数字符串,但在新版本中有两个改进。第一,它通过命名哈希来解析Windows API;第二,它使用基本文本文件而不是SQLite数据库来跟踪已经上传到C&C服务器的文件。
该模块的行为非常简单:它扫描系统中本地和可移动驱动器上新的MicrosoftOffice文档,并将它们上传到C&C服务器。为了明确文档是否是新文档,上传到服务器的每个文档都会保留一个MD5哈希值。这些MD5哈希不是基于文件内容,而是基于由文件名、文件大小和上次修改时间组成的字符串。模块的字符串存储在它的.data部分,用一个简单的异或密钥加密。它还可以从C&C服务器下载和执行任意代码。
(2)C#
这是C/C++版本的C#语言的一种重现。主要的区别在于它会每分钟截取攻陷主机的屏幕快照。如图8所示,分析部分有五个不同的线程。
图8:C#后门线程创建例程
(3)Batch file/VBScript
该版本包含多个以batch file和VBScript编写的脚本,他们的共同目标是:扫描系统中的敏感文档。主要机制是一个批处理文件在系统上搜索Word文档(.doc*),并将其名称存储在一个文本文件中(如图9所示)。
图9:注入包含后门文件扫描结果的.txt文件
该包含有名为1.log、2.log、3.log、4.log和5.log的加密脚本文件。一旦解密,这些脚本就会成为混淆的VBScript downloaders,它们可以下载和执行任意代码。
九、网络基础设施
Gamaredon组织的C&C服务器使用许多不同的域名,包含免费和付费的。免费的主要来自No-IP的DDNS:hopto.org、ddns.net、myftp.biz,而付费则通过REG.RU注册号注册,包括.fun、.site、.space、.ru、.website和
.xyz TLDs。
他们不断地更改其工具所使用的域名,但主要是在少数ASN上。仔细分析表明,他们只是针对少数受害者使用了单独的域名。
十、执行效果
ESET收集了Gamaredon组织在整个活动中使用的恶意脚本、可执行文件和文档样本。其中存在一些细节上的失误,比如:C#编译器模块的一些样本中包含的源代码中有注释,或者Outlook VBA模块生成的邮件中的俄语编码问题,这表明Gamaredon组织在发布许多工具并在野外使用它们之前并没有进行严格的检查或测试。尽管这些失误可能会降低工具的整体效率,但这使得该组织更好地快速执行和适应。攻击的数量和无情可能使目标不断恐惧,尽管代码非常简单,但是一些技术,比如脚本混淆,使得分析很难完全自动化,这使得分析人员很被动。
他们的GitHub project让我们见识到了他们工具的快速发展。在那里提交的代码清楚地展示了C# downloader的演变。第一个版本没有出现混淆的迹
象,之后开发人员添加了不同的字符串混淆和垃圾代码,使分析变得更加困难。
在持久性方面,使用了几种常见的技术:定时任务、自动运行注册表项和利用启动文件夹。尽管这些技术非常简单且早已为人所知,但Gamaredon组织试图在每个系统上安装多个脚本和可执行文件并不断更新它们的策略,使防御者的生活变得非常复杂。
十一、总结
虽然他们的大多数工具简单,但该组织能部署一些新颖的工具,比如Outlook VBA模块。由于它远非隐秘,从长远来看,它无法与一个有能力的组织相匹敌。Gamaredon拥有的各种工具可以非常有效地对机器进行指纹识别并了解可用的敏感数据,然后在整个网络中传播。这可能是一种部署更隐蔽有效载荷的方法吗?
十二、IOCs
SHA-1 | 注释 |
6F75F2490186225C922FE605953038BDEB537FEE | Outlook VBA 模块 |
DFC941F365E065187B5C4A4BF42E770035920856 | C# Office宏注入模块 |
9AFC9D6D72F78B2EB72C5F2B87BDC7D59C1A14ED | Batch file/VBScript Office宏注入模块 |
3DD83D7123AEFBE5579C9DC9CF3E68BCAFC9E65E | C#编译模块 |
941F341770B67F9E8EE811B4B8383101F35B27CD | GitHub project模块 |
DC8BD2F65FD2199CE402C76A632A9743672EFE2D | C/C++后门 |
336C1244674BB378F041E9064EA127E9E077D59D | C#后门 |
5FC1B6A55A9F5A52422872A8E34A284CDBDD0526 | Batch file/VBScript后门 |
十三、MITRE ATT&CK
战术 | ID | 名称 | 描述 |
Initial Access | T1193 | Spearphishing Attachment | Gamaredon group向其目标 发送带有恶意附件的邮件。 |
T1199 | Trusted Relationship | Gamaredon组织的恶意软件 滥用攻陷组织的邮件帐户向 受害者的联系人发送带有 恶意附件的邮件。 | |
Execution | T1064 | Scripting | Gamaredon组织大量使用脚 本,主要是批处理文件和 VBScript。 |
T1085 | Rundll32 | Gamaredon组织的恶意软件 使用rundll32启动恶意DLL, 例如C/C++后门。 | |
T1106 | Execution through API | Gamaredon组织的恶意软件 使用CreateProcess启动其他 组件,例如执行从其C&C服 务器接收的有效负载。 | |
T1204 | User Execution | Gamaredon组织起初的攻陷 通常要求用户执行恶意邮件 附件。 | |
Persistence | T1053 | Scheduled Task | Gamaredon组织的恶意软 件将其几个模块(下载程 序、后门程序等)注册为 定时任务。 |
T1060 | Registry Run Keys / StartupFolder | Gamaredon组织使用运行 密钥和启动文件夹来确保 其模块在每次重新启动时 执行。 | |
T1137 | Office Application Startup | Gamaredon组织的恶意软 件将恶意宏插入现有文档, 在重新打开它们时提供持 久性。 | |
Defense Evasion | T1027 | Obfuscated Files or Information | Gamaredon组织大量使用 压缩归档(一些受密码 保护)来传递其恶意负 载。在这些恶意模块中 ,字符串通常会被混淆 或加密。 |
T1112 | Modify Registry | Gamaredon组织的恶意软件 修改多个注册表项以停用 MicrosoftOffice中与宏相 关的安全机制。 | |
T1116 | Code Signing | Gamaredon组织在其恶意 活动中使用签名的二进制 文件。 | |
T1140 | Deobfuscate/Decode Filesor Information | Gamaredon组织在其模块 中使用简单的字符串去混 淆和解密。 | |
T1221 | Template Injection | Gamaredon组织将远程 模板添加到它发送到目 标的文档中。 | |
T1500 | Compile After Delivery | Gamaredon组织的C#编译 器模块包含一个混淆的下载 器,它使用csc.exe进行 编译然后执行。 | |
Discovery | T1083 | File and Directory Discovery | Gamaredon组织使用其后 门自动列出系统中感兴趣 的文件(如Office文档), 以便将来进行过滤。 |
Lateral Movement | T1080 | Taint Shared Content | Gamaredon组织的恶意软件 会将恶意宏注入到能被攻陷 系统访问的所有Word和Excel 文档中。 |
T1534 | Internal Spearphishing | Gamaredon组织使用其 Outlook VBA宏向同一组 织内的其他目标发送带有 恶意附件的邮件。 | |
Collection | T1005 | Data from Local System | Gamaredon组织的恶意软件 在本地系统上主动搜索敏感 文档。 |
T1025 | Data from Removable Media | Gamaredon组织的恶意软件 扫描所有驱动器以查找敏感 数据,还监视插入系统的可 移动驱动器。 | |
T1039 | Data from Network Shared Drive | Gamaredon组织的恶意软件 扫描所有驱动器以查找敏感 数据,因此它将扫描作为驱 动器安装的所有网络共享。 | |
T1113 | Screen Capture | Gamaredon组织使用后门 每分钟完成一次屏幕截图。 | |
T1119 | Automated Collection | Gamaredon组织在受感染 的系统上部署脚本,这些 脚本会自动扫描感兴趣的 文档。 | |
Command and Control | T1071 | Standard Application Layer Protocol | Gamaredon组织的恶意软件 使用HTTP和HTTPS进行命令 和控制。 |
Exfiltration | T1020 | Automated Exfiltration | Gamaredon组织使用的模块 会自动将收集的文档上传到 C&C服务器。 |
原文标题:Gamaredon group grows its game
原文地址:https://www.welivesecurity.com/2020/06/11/gamaredon-group-grows-its-game/
编译:CNTIC情报组
本文为CNTIC编译,不代表本公众号观点
声明:本文来自国家网络威胁情报共享开放平台,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。