新式PPT进犯流程
FortiGuard 实验室最近发现了一种新的歹意PPT文件,名为ADVANCED DIPLOMATIC PROTOCOL AND ETIQUETTE SUMMIT.ppsx,阅读幻灯片能够发现该歹意文件针对的目标为联合国组织、交际使馆、国际组织及与他国政府有交往的人,我们将会剖析此歹意PPT文件会如何操控你的体系,以下是大约的进犯流程。

图1 进犯流程图
CVE-2017-0199
进犯使用了CVE-2017-0199缝隙,该缝隙于2017年4月公布并修复,当在微软Office或WordPad下解析特殊结构的文件时会触发长途代码履行,在微软Office的OLE接口下成功使用此缝隙的进犯者能够操控感染的计算机体系,WayneLow[1]很好地剖析过该缝隙。
这现已不是第一次遇到进犯者使用该缝隙了,之前我们见过此缝隙被用在传播REMCOS RAT歹意软件的PPT幻灯片中,不过这次进犯差异于基于鼠标移动的PPT文件进犯,使用ppaction://protocol建议PowerShell指令,打开感染的PPT文件时会触发ppt/slides/_rels/slide1.xml.rels中的脚本,然后从hxxp://www[.]narrowbabwe[.]net:3345/exp[.]doc下载长途代码,使用PPT动画播映特性履行代码,歹意结构的文件在Target后有很多的空格来逃避YARA检测(YARA是仅有软件剖析检测工具)。

图2 使用CVE-2017-0199的PPSX文件
观察文件履行时的网络流量能够看到特意结构的文件成功使用了缝隙并下载履行了exp.doc文件,这不是doc文件而是一个包含javascriot代码的XML文件。

图3 PPTX文件的网络流量
UAC绕过提权
从XML文件中提取出JavaScript代码后能够看到它会在%Temp%\Microsoft_Office_Patch_KB2817430.jse中写入一个文件,文件名仿照了微软Office的补丁名来降低可疑度并试图展现合法文件的行为,但明显并非如此。

图4 嵌入JavaScript代码的XML文件
此样本除了使用CVE缝隙外还使用了绕过WindowsUAC安全策略的技能来以高权限履行代码,更高的权限等同于更多的授权和更多被答应的行为。UAC绕过技能包含绑架HKCU\software\classes\mscfile\shell\open\command中的注册表并履行eventvwr.exe,你能够在这里[2]更深化的了解UAC绕过和权限提高相关的技能。

图5 绕过UAC策略的注册表添加项
剖析JavaScript
以高权限运行的Microsoft_Office_Patch_KB2817430.jse歹意软件包含以下代码:

图6 Microsoft_Office_Patch_KB2817430.jse文件
在以上代码中,WMI ActiveScriptConsumers得到了持久使用,创立定时器事件使得脚本每12秒履行一次,运行它的脚本编码存储在注释中。

图7 解码后的脚本
从JPG文件中获取C&C服务器信息
解码注释中的代码后,脚本读取下列注册项,如果不存在就创立它们。
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent\Seed0
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent\Feed0

图8 名为Feed0和Seed0的注册表向项
写入到注册表项中的值经过了Microsoft_Office_Patch_KB2817430.jse文件的硬编码,解码后值为hxxp://narrowbabwe[.]net/comsary/logo[.]jpg,脚本建议对此URL的恳求,可是不会有任何回应,凭借VirusTotal能够获取到/logo.jpg文件。

图9 篡改的jpg文件
有了/logo.jpg后能够持续剖析样本,jpg文件有一损坏部分,这意味着进犯者篡改了图片以躲藏一些数据,躲藏信息/数据这是十分有效的技能由于jpg文件一般被认为对错歹意文件。

图10 获取躲藏数据的代码
代码获取了Response_Text长度或许文件结尾并截取0x80h长度,作为编码数据的开始部分,if句子比较jpg文件中硬编码的值为95,2,7的符号。如果不满足if条件则无返回值,如果匹配到符号,则会从i偏移处获取44字符长度的substr,作为编码的URL。图11 篡改的数据
编码后的URL会被写入到名为/Seed0的注册表,解码后的值为hxxp://www[.]narrowbabwe[.]net/comsary/index[.]php。

图12 Seed0注册表项
C&C通讯
下一步经过获取网络适配器装备来辨别代码是否在虚拟环境中运行并搜索是否存在Virtual值。

图13 检查虚拟环境
有意思的是,要发送的数据取决于是否找到了Virtual字符串,如果没找到,搜集的数据会包含受感染机器的&ipaddr(IP地址)和&macaddr(MAC地址)。

图14 从感染机器搜集的信息
搜集到需求的信息后进行编码并使用HTTP POST恳求发送到hxxp://www[.]narrowbabwe[.]net/comsary/index[.]php

图15 向C&C建议的HTTP POST恳求
要发送的数据格式如下:

图16 编码后要发送的数据
不幸的是,在我们剖析的时候C&C服务器现已下线所以没收到任何呼应,不过依然能够从下面的代码承认C&C的呼应包含经过eval()函数履行的任意指令,这些指令能够是传送数据的下载函数,最常用的歹意特务软件是RATs(Remote Access Trojans)。

图17 指令和成果履行
一旦来自C&C服务器的指令履行完成,会使用下面的HTTP POST恳求字符串格式向服务器发回一个告诉。

图18 指令履行成果POST告诉
总结
剖析提醒出,该歹意代码用到了多重技能手段来躲避检测并保持有效性,这些技能包含使用CVE-2017-0199、UAC绕过技能、权限提高技能、多层嵌入式编码脚本、分阶段URL连接、嵌入C&C信息到jpg文件等,这展示了进犯者能够使用他们的歹意文件实现持久进犯。
解决办法
1、 升级微软更新的缝隙修复补丁
2、 FortiGuard反病毒服务检测这种威胁MSOffice/Downloader!exploit.CVE20170199
3、 FortiGuard Web拦截服务能够阻断所有C&C和相关URLs
4、 FortiSandbox视PPSX文件为高危级别
IOCs:
8e89ae80ea50110244f2293f14615a7699b1c5d2a70415a676aa4588117ad9a7 – PPSX
CC:
hxxp://www[.]narrowbabwe[.]net/comsary/logo[.]jpg
hxxp://www[.]narrowbabwe[.]net:3345/exp[.]doc
hxxp://www[.]narrowbabwe[.]net/comsary/index[.]php
|