导语:FortiGuard实验室发现了一系列针对俄罗斯服务中心的攻击,并概述了攻击的各个阶段。另外,我们将尝试找到与同一组织有关联的其它攻击。

在FortiGuard内部威胁智能平台(Kadena)的帮助下,FortiGuard实验室发现了一系列针对俄罗斯服务中心的攻击。这些服务中心为各种电子产品提供维护和支持。

这些攻击的一个显著特点是多阶段。它们使用伪造的电子邮件,携带17年前的漏洞的恶意Office文档,还有一个五层保护的商业版本的RAT。

在本文中,我们将概述攻击的各个阶段。另外,我们将尝试找到与同一组织有关联的其它攻击。此外,文末还提供了IOC指标。

一、钓鱼邮件

3月底,一家未披露的从事电子设备的维修和服务工作的俄罗斯服务公司,收到了几封电子邮件。这些电子邮件似乎来自三星公司的代表。下图提供了此类电子邮件的示例。

我们相信这些电子邮件是有计划有针对性的攻击源头,而不仅仅是随机大众攻击活动的一部分。得出这个结论的原因如下:

· 电子邮件被专门发送给维修三星电子设备的服务公司。

· 该公司位于俄罗斯,电子邮件以俄文写成,发件人字段中输入俄文姓名。

· 发件人虚假声称来自三星公司。

· 该电子邮件包含名为Symptom_and_repair_code_list.xlsx的文件,该文件与目标公司的配置文件相关。

图1.电子邮件示例的一部分,附件为漏洞文件

仔细审查这封电子邮件后,我们得出结论,俄语母语人士写这篇文章的可能性不大。相反,这个文本可能是一些机器翻译的产物。因此,我们认为,虽然这些攻击者针对的是一家俄罗斯公司,但他们并非俄罗斯人。

我们还分析了此电子邮件的标题。我们可以看到,身份验证尝试导致软失败,这意味着发件人的IP地址与“发件人”字段中的域名无关。

图2.发件人策略框架软失败

虽然我们检测到的所有电子邮件都有不同的附件,但它们都是通过一种常见模式结合在一起的:附件中的所有文件都是.XLSX,并且它们都是合法的。下图显示了这些文件中的一个。

图3.其中一个.xlsx漏洞的内容

所有这些样本的另一个共同特征是它们都包含漏洞利用。我们将在下一节中更详细地讨论这一点。

附注:在恶意文档中有一个打印机配置字符串,如下图所示。

图4.恶意示例中的PrinterSettings1.bin

我们进行了调查并得出结论,这个字符串与这些文件的原始来源有关,并且不属于攻击者。相反,这些字符串的源IP可能与文档最初创建的组织有关。文档中的所有打印机都是三星的型号。攻击者随后修改这些文件以包含漏洞。

在对这些可疑文件进行动态测试期间,我们记录了eqnedt32.exe的恶意活动。这引起了对其使用CVE-2017-11882的怀疑。之后,我们确认所有新鲜样本均来自相同漏洞的攻击:CVE-2017-11882。恶意软件作者明显很喜欢这个漏洞,因为它允许在当前所有的Windows平台上实现稳定的利用。原因在于组件“eqnedt32.exe”17年未更新。

这个组件太旧了,以至于一些研究人员认为微软已经丢失了eqnedt32.exe的源代码,并且必须为现有的可执行文件做一个二进制补丁来修复这个漏洞。你可以在这篇综述文章(this)中找到更多关于这个漏洞的分析。

图5. eqnedt32.exe的恶意活动

 

二、Shellcode分析

Shellcode用于解决PIC(位置独立代码)的标准任务:

· 不加密其余的body

· 确定kernel32.dll的地址

· 解析kernel32.dlland的导出目录,查找两个关键函数的地址:LoadLibraryA和GetProcAddress。有了这两个函数,它就可以访问执行其有效载荷所需的任何函数。

· 借助LoadLibraryA和GetProcAddress,shellcode获取其他所需函数的地址。有趣的是,它没有使用“哈希名称”技术。这表明shellcode作者实际上并没有受到代码大小的限制,并且可以“承受”以纯文本存储函数名称。

· 由shellcode导入的两个最重要的函数是:URLDownloadToFileW和ExpandEnvironmentStringsW。

· 第一个函数的目的很明显。最后一个函数用于确定shellcode存储下载的有效载荷的确切位置,因为在不同平台下这个位置会有所不同。

· 最后,Shellcode从URL下载文件:hxxp://brrange.com/imm.exe,将其存储在%APPDATA%server.exe中,然后尝试执行它。

图6. Shellcode:获取URLDownloadToFileW的地址

三、Payload分析

在本文中我们决定分析从如下从恶意URL下载的一个有效载荷:

Brrange[.]com/imm.exe.

上面的图5描述了这个过程。作为参考,分析样本的SHA-256校验和为:975ddf75491e3f482a7d7941e4fd33fb98e4daf339f57a4c7843fd2b375c199b

四、Payload脱壳

在分析其恶意功能之前,需要对样本脱壳。该样本具有多层多壳保护。

阶段1: ConfuserEx

第一层保护是着名的ConfuserEx加壳程序。这个加壳程序混淆了对象名称,以及方法和资源的名称,使人难以阅读和理解。另外,ConfuserEX包含很多跳转,用于改变执行流程。因此,只使用静态分析,很难预测下一步将执行哪部分代码。

图7. ConfuserEX:样本的混淆代码

样本自己脱壳过程的一般工作流程:

· 通过删除“填充”符号来解密资源名称。例如,从字符串“ADAeAmAasAAuAAAAAsLAoAtAAaAAAsAiAAAAtAAAAAAAAoAAAAA”删除所有大写字母“A”并获得“DemasusLotasito”

· 使用解密的名称从这些资源中读取字节并形成一个数组。该数组是下一个阶段的有效载荷,通过DES加密进行加密。

· 为了解密有效载荷,使用以下参数初始化DES.decryptor:KEY:0x59,0x2F,0x55,0x3D,0x17,0x4A,0x55,0x10IV:0x4A,0x59,0x36,0x0D,0x60,0x59,0x4A,0x55

图8. ConfuserEX:有效载荷解密

· 最后,它解密资源并执行解密的文件。在下图中,我们可以看到“sender2”数组的内部结构,从0x4D,0x5A开始,它是DOS标题中的MZ魔术值。在这种情况下,解密文件的名称是“BootstrapCS”,我们将在下一节中对其进行分析。

图9. ConfuserEX:运行Payload的下一个阶段

阶段2: BootstrapCS

BootstrapCS是多层保护第二阶段中可执行文件的内部名称。此层未被混淆,但包含大量反分析检查。由资源部分的结构“设置”决定(如下图所示)应该进行哪些检查。注意二进制资源mainfile,这是Payload的加密阶段3。

图10. BootstrapCS的资源部分

该模块主要的反分析功能包括:

· 对模拟器,沙箱和虚拟机执行各种检查:

1. 检测“SbieDLL.dll”

2. 检查“Win32_VideoController object”描述中的特定值 :

            VMware
            VM additions S3 trio32/64
            S3 trio32/64
            VirtualBox graphics adapter
            VMware SVGA II

· 搜索并关闭指定的进程:

1. Fiddler Web Debugger

2. WPE PRO

3. The Wireshark Network Analyzer

· 禁用系统实用程序:

1. Command prompt

2. Registry editor

3. ask manager

4. User Access Control (UAC)

· 将有效负载路径写入以下启动注册表项:

1. HKLM\Software\Microsoft\Windows\CurrentVersion\Run\[Specified Name]

2. HKCU\Software\Microsoft\Windows\CurrentVersion\Run\[Specified Name]

· 通过分配系统和隐藏属性来隐藏文件。

· 将有效载荷注入不同的进程:

1. Vbc.exe

2. RegAsm.exe

3. AppLaunch.exe

4. Svchost.exe

5. Notepad.exe

6. Current process

脱壳过程:

请注意,在“设置”资源中有一个名为mainfile的二进制文件,这是一个加密的可执行文件,代表第三阶段加壳保护。这里使用的加密方案是一个简单的XOR算法,KEY = 0x20。

图11.解密Payload

解密后,根据设置资源文件中的值将有效载荷注入到其中一个进程中。

图12.可能的注入目标

阶段3: 7Zip

继续来看解密的有效载荷“mainFile”,它的内部名称是“im3.exe”,包含资源“application”和“_7z”两项。我们也可以观察到一个有趣的词条叫做“Imminent-Monitor-Client-Watermark”。

图13.“im3.exe”的内部

它包含以下信息:

图14.开发人员的水印

检查提到的域名“imminentmethods.net”,我们发现这是一个商业远程管理工具“Imminent Monitor”的官方网站。

任何人都可以购买许可证,设置服务器并构建自己的客户端。开发人员明确禁止恶意使用该工具,明确声明其政策。因此,他们可能会加入这种水印,以确保人们不会将其工具用作恶意活动的有效载荷。

正如我们发现的,水印已经包含在4.4版本的Imminent Monitor软件的代码中。在撰写的时候,公开的只有3.9和4.1破解版本。因此,正式购买此许可证的人也有可能编译它。但我们无法确定这一点。

一旦我们继续对文件进行进一步分析,我们就必须解压称为“应用程序”的资源。在解压过程中,该文件使用来自7zip的合法“lzma.dll”库。

图15.解压im3内部

阶段4: ConfuserEx?

在这个阶段,我们遇到了…… ConfuserEx。什么?再次使用ConfuserEx?

是的!这一次尝试rick rolling:)

图16. ConfuserEX中的Rick-Rolling URL

太糟糕了,这个视频已经被二十世纪福克斯屏蔽了。

图17. Rickrolling尝试…失败

五、RAT分析

这是Imminent Monitor RAT的商业版本。我们的IMM版本由5个模块组成:

· Aforge.Video.DirectShow 2.2.5.0
· Aforge.Video 2.2.5.0
· Injector 1.0.0.0
· ClientPlugin 1.0.0.0
· LZLoader 1.0.0.0

前两个模块能够记录来自受害者摄像头的视频。后三个包含不同的间谍和控制功能。IMM功能的完整列表可在官方website上找到。因此,我们在这里就不详细赘述。

根据动态分析,一个很好的IoC指标是下述文件夹:

%AppData%\Roaming\Imminent\

图18.Imminent监视器的文件系统活动

六、相关联的攻击

我们还分析了攻击中使用的C2服务器。根据注册数据,我们发现50个域名全部在同一天注册。其中一些域名已被用于传播恶意软件。另一组织与钓鱼攻击有关。这些域名目前被我们的WebFilter阻止。本文末尾的IOC部分提供了这些域名的完整列表。

此外,我们对样本集中进行了一次搜索,发现了几个使用与这些攻击样本相同的C2服务器的.XLSX样本。这些示例较旧并使用不同的漏洞。我们认为,这一组织的攻击者就是在两组样本的幕后真凶。

七、总结

FortiGuard实验室发现了针对俄罗斯服务中心的多阶段攻击。我们也注意到,这些攻击的模式现在已经变得非常流行。使用漏洞利用比使用简单的可执行文件更为有效,特别是近年来,用户的威胁意识水平已经有了显著提升。诱骗用户打开之前的可执行文件并不那么容易。不过,漏洞是另一种情况。

IOC(参见原文)

源链接

Hacking more

...