APT37组织使用VBA自解码技术投递ROKRAT

  • A+
所属分类:安全新闻


APT37组织使用VBA自解码技术投递ROKRAT
APT37组织使用VBA自解码技术投递ROKRAT

一、简介



来自Malwarebytes LABS的威胁情报小组于20207月在Virus Total上发现了一个新上传的恶意文档,该文档内容很像是一次针对韩国政府的会议邀请。恶意文档中提到的会议日期是2020123日,文档的编辑时间2020127日,这暗示该攻击发生在大约一年前。

文件中包含一个嵌入宏,并使用VBA解码技术对自身进行解码,该过程发生在Microsoft Office的进程空间中,不需要写入磁盘。然后,它将ROKRAT的变种注入到Notepad.exe进程中。

通过对注入的载荷进行分析,Hossein Jazi所在的威胁情报小组认为该样本与APT37相关联。APT37,又名ScarCruftReaperGroup123。该组织自2012年开始持续活跃,主要针对韩国进行攻击。

Hangul Office,这是一款韩文办公软件。由于该软件在韩国使用广泛,故APT37组织以往常利用Hangul Offic文档(hwp文件)来攻击受害者。然而,在本次攻击活动中,Hossein Jazi团队却发现了该APT组织采用了一个有趣的替代方式,即通过VBA自解码Office文档进行投递。据Hossein Jazi称,这是该APT组织第一次采取这样的攻击方式。


关键词:APT37,hwp钓鱼文档,ROKRAT,VBA自解码技术 



APT37组织使用VBA自解码技术投递ROKRAT
APT37组织使用VBA自解码技术投递ROKRAT

二、文件分析



2016年,在宏中使用VBA自解码进行攻击的概念首次被提出。也就是说,一个恶意的宏被作者编码,然后解码并动态运行。

APT37组织使用VBA自解码技术投递ROKRAT

恶意文档

这种技术可看作是一种动态解码技术,外层宏代码将恶意宏解包,并将其写入Microsoft Office进程的内存中,从而实现打开文档即执行,而不用再写入磁盘,以便绕过多种安全机制的审查。

APT37组织使用VBA自解码技术投递ROKRAT

自解码技术

3中显示了恶意文档中使用的宏,该宏从调用“ljojijbjs“函数开始,并根据结果采用不同的执行路径。

APT37组织使用VBA自解码技术投递ROKRAT

编码的宏

微软默认禁止宏的动态执行,如果攻击者想要动态执行,那么攻击者需要修改它的注册表项,以绕过VB对象模型(VBOM)。

恶意宏为了检查VBOM是否被绕过,它需要查看VBOM的可访问性。“ljojijbjs“函数便用于此目的,该函数核查对VBProject.VBComponen的读访问。如果发出了一个异常,这意味着VBOM需要被绕过(IF语句),否则表明VBOM已经被绕过并且VBA能够动态提取它的宏(ELSE语句)

APT37组织使用VBA自解码技术投递ROKRAT

核查VBOM的可访问性

为了绕过VBOM,样本通过一个参数的形式,调用“fngjksnhokdnfd”函数,该函数将VBOM注册表项设置为1

APT37组织使用VBA自解码技术投递ROKRAT

修改VBOM注册表的键值

绕过VBOM之后,它调用另一个函数在受害者的主机中产生一个互斥量,该函数调用CreateMutexA API并且将互斥量命名为mutexname。互斥量可用于确保受害者仅被感染一次,但是在该文档中,并未发现有核查互斥量的操作。

APT37组织使用VBA自解码技术投递ROKRAT

互斥量创建

最终,为了执行自解码过程,它需要创建一个新的应用对象来打开自身,并以隐藏模式加载当前文档。

APT37组织使用VBA自解码技术投递ROKRAT

打开文档自身

如果已经绕过了VBOM,则调用Init函数并以混淆格式生成恶意宏内容。

APT37组织使用VBA自解码技术投递ROKRAT

混淆的宏

下一步,混淆的宏通过eviwbejfkaksd函数来去混淆,然后在内存中执行。

APT37组织使用VBA自解码技术投递ROKRAT

去混淆

为了去除宏的混淆,定义了两个字符串数组:

  • StringOriginal包含去混淆前的字符串数组

  • StringEncoded包含去混淆后的字符串数组

为了去除宏的混淆,定义了一个循环。对于每次迭代来说,它选择混淆宏的一个字符并且在StringEncoded中寻找它的索引。当找到该字符的索引时,它寻找其在StringOriginal的等效索引,并从中得到一个字符添加至新的宏中。以“gm* bf”为例,它将被解码为“Option”

APT37组织使用VBA自解码技术投递ROKRAT


10 去混淆的循环

完成解码过程后,将得到最终在Microsoft Office进程中执行的恶意宏。为了执行解码后的宏,它创建了一个模块并且在调用主函数之前写入。

主函数定义了一个16进制的shellcode以及目标进程Notepad.exe。然后,根据操作系统的版本,它创建了一个Notepad.exe进程并且使用VirtualAlloc在其地址空间中分配内存。然后它使用WriteProcessMemory函数将shellcode写入已分配好的内存中。最后,它调用了CreateRemoteThread函数在Notepad.exe的地址空间中执行shellcode

APT37组织使用VBA自解码技术投递ROKRAT

11 去混淆后的宏


APT37组织使用VBA自解码技术投递ROKRAT
APT37组织使用VBA自解码技术投递ROKRAT

三、shellcode分析(ROKRAT)



shellcode注入Notepad.exe进程后,从http://bit[.]ly/2Np1enh 中下载了一个加密的载荷,该链接被重定向到一个Google Drive链接。

APT37组织使用VBA自解码技术投递ROKRAT

12 下载URL

下载的载荷是ROKRAT的变种,是一个基于云的远控程序。自2017年起,APT37组织开始使用该远控程序。这个样本的编译日期是20191029日。该远控程序被用来从受害者主机上偷取数据,并将其发送至云服务中(Pcloud, Dropbox, Box, Yandex)。

APT37组织使用VBA自解码技术投递ROKRAT

13 编码的云服务

与之前的变种相似,它使用了少量的反分析技术以确保其不会被运行于分析环境中。用到的部分技术如下:

  • 检查iDefense SysAnalyzerMicrosoft Debugging DLLSandboxies相关的DLL

  • 调用IsDebuggerPresentGetTickCount来识别调试器

  • 检查VMWare相关文件

APT37组织使用VBA自解码技术投递ROKRAT

14 反分析技术

RAT具有以下特性:

  • 捕获屏幕截图

APT37组织使用VBA自解码技术投递ROKRAT

15 捕获屏幕截图

  • 搜集系统信息(用户名,计算机名,BIOS

APT37组织使用VBA自解码技术投递ROKRAT

16 收集BIOS数据

  • 将窃取的数据上传到云服务

APT37组织使用VBA自解码技术投递ROKRAT

17 将窃取的数据上传到云服务

  • 证书窃取

  • 文件及目录管理

更多的细节信息可以查看NCCGroupCisco Talos的报告。


APT37组织使用VBA自解码技术投递ROKRAT
APT37组织使用VBA自解码技术投递ROKRAT

四、结论



APT37主要通过鱼叉式钓鱼攻击,来投递初始感染载体。其中攻击者常用的攻击方式是,向目标发送携带恶意文件的电子邮件。在APT37的攻击活动中,本案例是少数几个没有使用Hwp文件(Hanqul Office)作为网络钓鱼文档,而是使用带有自解码宏的Microsoft Office文档作为武器的案例之一。这种技术很聪明,可以绕过多种静态检测机制,并隐藏恶意文档的主要意图。在该威胁角色最后一个攻击阶段中出现的payload,是APT37在之前的攻击活动中使用过一个自定义RAT(ROKRAT)。与过去他们选择将ROKRAT注入至cmd.exe不同的是,在本案例中,他们选择了Notepad.exe进行注入。


APT37组织使用VBA自解码技术投递ROKRAT




APT37组织使用VBA自解码技术投递ROKRAT
APT37组织使用VBA自解码技术投递ROKRAT

五、IOC



恶意文档:


3c59ad7c4426e8396369f084c35a2bd3f0caa3ba1d1a91794153507210a77c90


ROKRAT:


676AE680967410E0F245DF0B6163005D8799C84E2F8F87BAD6B5E30295554E08A42844FC9CB7F80CA49726B3589700FA47BDACF787202D0461C753E7C73CFD2A2A253C2AA1DB3F809C86F410E4BD21F680B7235D951567F24D614D8E4D041576C7CCD2AEE0BDDAF0E6C8F68EDBA14064E4A9948981231491A87A277E0047C0CB


APT37组织使用VBA自解码技术投递ROKRAT


本文为CNTIC编译,不代表本公众号观点,转载请保留出处与链接。联系信息进入公众号后点击“论坛信息”可见。


原文链接:

https://blog.malwarebytes.com/threat-analysis/2021/01/retrohunting-apt37-north-korean-apt-used-vba-self-decode-technique-to-inject-rokrat/

原文标题:

Retrohunting APT37: North Korean APT used VBA self decode technique to inject RokRat

编译:CNTIC情报组



APT37组织使用VBA自解码技术投递ROKRAT


本文始发于微信公众号(国家网络威胁情报共享开放平台):APT37组织使用VBA自解码技术投递ROKRAT

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: