导语:FortiGuard Labs团队发现了一个利用CVE-2017-0199漏洞的恶意PPSX文件,该文件以俄罗斯举办的名为陆军2018年国际军事和技术论坛的展览为诱饵攻击俄语用户

几天前,FortiGuard Labs团队发现了一个利用CVE-2017-0199漏洞的恶意PPSX文件,该文件是为讲俄语的人设计的。文件名“Выставка”翻译为“展览”。经过进一步确认,PPSX文件针对每年在俄罗斯举办的名为陆军2018年国际军事和技术论坛的展览。这是最大的军事武器和特种装备展览之一,不仅在俄罗斯,而且是世界上类似展览中的最杰出的活动之一。由于该活动计划于2018年8月21日至26日举行,因此发现此恶意文件非常及时。

图01.诱饵文件

此恶意软件的另一个有趣的因素是包含的段落,如下所示。

图02.俄语邀请

大致意思为:

封闭动态展示现代和未来的军事武器样本和联合武装部队特种部队的特种装备

虽然活动对任何人开放,但去年的组织者已经设立了专门的博览会,其中包括“封闭展示”。这适用于选定的客人,其中展示了分类设备,包括大型飞行器和导弹。话虽如此,我们认为这个恶意文档的目标是那些希望成为或已经包含在这些闭门邀请中的选定客户。今年的活动已有66个官方外国代表团确认参加。我们将了解PPSX文件如何破坏未打补丁的系统。

一、分析

我们从利用CVE-2017-0199的恶意PPSX文件开始,打开一个诱饵文件。 CVE-2017-0199是一个HTA(HTML应用程序)漏洞,允许恶意行为者在用户打开包含嵌入式漏洞利用的文档时下载并执行包含PowerShell命令的脚本。这不是我们第一次遇到滥用此漏洞的APT行动。事实上,之前的攻击针对的是联合国机构、外交部以及与国际机构互动的人员和组织。

图03.攻击概述

打开PPSX文件后,它会触发ppt/slides/_rels/slides1.xml.rels中的脚本。该漏洞利用从远程服务器下载其他代码,如图04所示,并使用PowerPoint Show动画功能执行它。

图04.利用CVE-2017-0199的PPSX文件

下面显示的是在成功执行嵌入在XML文件中的PowerShell漏洞利用并将可执行有效载荷下载到%Temp%之后来自远程服务器的代码。

图05.defender XML

执行时,Defender.exe会释放以下文件:

图06. TMPEC4E目录

·      SynTPEnh – 包含BISKVIT恶意软件包的目录

·      Csrtd.db – DevicePairing.exe用于自动运行安装的加密配置文件

图07.解密的配置

·      DevicePairing.exe – 在代码中也标识为“AutorunRegistrator”,其功能是将SynTPEnh目录复制到%appdata%并将其添加到自动运行注册表项

·      DevicePairing.exe.config – 运行时配置文件

·      Kernel32.dll – BISKVIT恶意软件的通用库

·      Newtonsoft.Json.dll – 一个流行的.NET JSON序列化程序

二、BISKVIT

BISKVIT特洛伊木马是一种用C#编写的多组件恶意软件。我们根据代码中使用的名称空间将此恶意软件BISKVIT称为biscuit。不幸的是,已经存在一个名为BISCUIT的无关恶意软件,因此使用BISKVIT代替,这是biscuit的俄语翻译。

图08.Biscuit模块

由于BISKVIT的模块化特性,很难准确确定其所有功能,因为组件仅在攻击者的指挥下即时下载和加载。在撰写本文时,我们只能下载一个组件。到目前为止,基于我们能够获取的组件的代码,此恶意软件具备但不限于以下功能:

·      下载文件和组件

·      隐藏/隐蔽执行下载的及本地文件

·      下载动态配置文件

·      更新自我

·      自删除

如上所述,BISKVIT恶意软件从%temp%文件夹复制到%appdata%\ SynTPEnh。这些是%appdata%\ SynTPEnh文件夹的内容:

·      SynTPEnh.exe  – BISKVIT恶意软件主文件

·      Csrtd.db – 加密的配置文件

·      SynTPEnh.exe.config – 运行时配置文件

·      Kernel32.dll – BISKVIT恶意软件的通用库

·      Newtonsoft.Json.dll – 一个流行的.NET JSON序列化程序

BISKVIT的主文件伪装成合法的Synaptics触摸设备驱动程序文件,以免引起用户的怀疑。

图09.伪装成Synaptics的信息 

执行时,它会初始化其基本配置,其中包含以下信息:

图10.基本配置

然后加载并解密其名为csrtd.db的配置文件。AES使用以下密钥的加密此配置文件:

图11.默认的AES密钥和IV

解密后,此配置文件包含命令和控制服务器,恶意软件用于检查命令和控制服务器中作业的时间间隔,API密钥和RSA密钥信息。我们没有找到RSA加密方法的代码引用,因此我们认为在撰写本文时我们尚未获得其他组件。

12.解密的配置

三、命令和控制通信

此恶意软件使用JSON格式通过REST API与命令和控制服务器通信。恶意软件首先通过发送API密钥获取访问令牌。如果未在配置中指定,则会根据受感染计算机的CPU、磁盘驱动器和MAC地址信息生成API密钥。此API密钥是唯一ID,也用于标识计算机。

图13.唯一ID

API密钥通过对 /api/auth/token的HTTP POST请求发送到命令和控制服务器。

图14. POST ApiKey

 

服务器回复将用于整个会话的访问令牌信息。

图15. Access token

然后,此恶意软件通过作业API接收并执行来自攻击者的命令。它会向API /api/job发送HTTP GET请求,以便在经过一段时间后获取作业,如配置中设置的时间间隔所示。

图16. GET api/job 

响应将是一个具有四个关键字的作业:id,resultUri,tasks和executionOptions。

17. Job

·      id – job ID

·      resultUri  – 恶意软件将HTTP POST job结果的地方

·      executionOptions – 告诉恶意软件它是否会以特定时间间隔执行包,以及是否会在启动时启动。

·      tasks – 包含有关攻击者希望下载到受感染计算机并在受感染计算机上执行的程序包(组件/其他文件)的信息。

tasks 中的executeMode告诉恶意软件如何执行包。 

图18. Execute modes

如果模式为0,则将包视为组件/库,并使用指示中的参数执行。

如果模式为1,则将包视为文件,并使用Windows API ShellExecuteEx或CreateProcess执行,其中WindowStyle设置为Hidden,CreateNoWindow设置为true。

图19. ExecuteHide

如果模式为2,则将包视为文件,并使用CreateProcessAsUser Windows API执行。

20. StartAsUser

此恶意软件的另一个有趣功能是它将作业本地保存在名为534faf1cb8c04dc881a3fbd69d4bc762的文件夹中。

图21. Jobs目录 

作业使用与配置文件相同的AES加密进行加密,并以其作业ID及.db扩展名命名。这意味着即使当前进程被中断或终止,它也可以在下次执行恶意软件时继续执行作业。完成作业后,恶意软件将删除本地保存的作业。

在分析过程中,恶意软件收到了下载将executeMode设置为0的软件包的作业。这意味着软件包是一个组件/库,从/api/package/5b61b91da99a25000198dfcc下载。

图22. Job及packageId 与executeMode

来自作业中指定downloadUri的包为带有PK头的zip文件。

图23. 获取Package

包存储在文件夹083c57797944468895820bf711e3624f中。

图24. Packages 目录

在检查了已下载的组件之后,我们发现它是一个名为FileExecutor的组件,它只执行parameters 中指示的文件。

图25. Job与Task参数

此FileExecutor组件具有与executeMode设置为1相同的功能,它只使用ShellExecuteEx或CreateProcess执行文件,其中WindowStyle设置为Hidden,CreateNoWindow设置为true。在上面的工作中,它告诉恶意软件使用FileExecutor组件执行“systeminfo”,超时设置为30秒,如Waittime所示。

systeminfo命令显示有关计算机及其操作系统的详细配置信息,包括其操作系统配置、安全信息、产品ID和硬件属性(如RAM,磁盘空间和网卡)。

图26. 数据POST到CC的Systeminfo

要让C&C知道正在运行的作业的状态,它还包括具有下面所示值的关键状态。在我们的分析过程中发送的数据其状态等于2,这意味着它是完整的。

图27.作业状态

在systeminfo作业之后,攻击者注意到他/她发送作业的机器可能是一台分析机器,因此C&C停止发送任何作业。这意味着此攻击背后的攻击者非常小心,不会感染非目标计算机并避免警报。

虽然在收集受害者计算机的基本信息后,目标攻击中使用的C&C服务器突然停止响应并不新鲜,但此处使用的C&C并未完全阻止其通信。相反,它只是停止发送工作。这使研究人员和分析人员仍然可以监控C&C。

四、低AV检出率

有趣的是,即便恶意软件文件没有打包或混淆,只有少数AV供应商(包括Fortinet)能够检测到这些文件。

五、总结

使用当前和即将发生的事件作为诱饵来攻击高价值目标正在越来越受到攻击者的欢迎。

根据我调查结果,我们认为这是一次精心策划的攻击,特别是考虑到及时分发恶意诱饵文件和使用前所未见的恶意软件。这两个因素为攻陷目标提供了最佳机会。

IOC

be7459722bd25c5b4d57af0769cc708ebf3910648debc52be3929406609997cf

a87daccbb260c5c68aaac3fcd6528f9ba16d4f284f94bc1b6307bbb3c6a2e379

b4a1f0603f49db9eea6bc98de24b6fc0034f3b374a00a815b5c906041028ddf3

934542905f018ecb495027906af13cc96e3f55e11751799f39ef4a3dceff562b 23a286d14de1f51c5073caf0fd40a7636c287f578f32ae5e05ed331741fde572

CC

hxxp://bigboss.x24hr.com

hxxp://secured-links.org/

源链接

Hacking more

...