导语:最新新出现了一个新型的恶意MS Office文档:通过将鼠标光标悬停在链接上来执行PowerShell命令的PowerPoint文档,此攻击不涉及VBA宏。

最新新出现了一个新型的恶意MS Office文档:通过将鼠标光标悬停在链接上来执行PowerShell命令的PowerPoint文档,此攻击不涉及VBA宏。在本博客中,我们将展示如何使用免费的开源工具分析这些文档。像往常一样,该恶意MS Office文件通过电子邮件发送给受害者。(MD5 DD8CA064682CCCCD133FFE486E0BC77C

分析

使用emldump.py(一个分析MIME文件的工具),我们可以分析用户收到的电子邮件:

输出表示邮件附件位于第5部分。我们选择第5部分,并执行前100个字节的HEX / ASCII转储,以了解我们处理的文件类型:

以PK开头的文件很有可能是ZIP文件。所以我们把这个文件和管道转储到zipdump.py(一个分析ZIP文件的工具)中:

这是一个ZIP文件。从ZIP文件中的文件名来看,我们可以假定它是一个PowerPoint文件:.pptx或.ppsx。

使用zipdump和选项-E(-E选项提供有关所包含文件类型的额外信息),我们可以通过查看头文件并计算多少个文件,了解该PowerPoint文件中包含的文件类型相同标题:

所以ZIP文件(.pptx或.ppsx)包含1个JPEG文件(JFIF),11个空文件和36个XML文件。

一开始说,恶意软件作者可能会滥用PowerPoint的鼠标悬停功能启动命令。这可以通过使用ppaction://协议的URL来启动PowerShell命令。

要确定本文档是否滥用此功能,我们可以使用YARA。我们定义了2个简单的YARA规则来搜索字符串“ppaction”和“powershell”:

rule ppaction {
strings:
$a = "ppaction" nocase
condition:
$a
}</p>
<p style="text-align: justify;">rule powershell {
strings:
$a = "powershell" nocase
condition:
$a
}

我们使用zipdump.py在ZIP文件中的每个文件上应用YARA规则:

如上图所示,文件19(ppt/slides/slide1.xml,这是演示文稿的第一张幻灯片)包含字符串ppaction字符串,文件21(ppt/ slides/_rels/slide1.xml.rels)包含字符串电源外壳。

我们来看看文件19:

要执行的程序可以使用id rId2找到,但是我们已经怀疑该程序是Powershell,并在文件21中定义。因此,让我们来看看:

的确,如上图截图所示,我们有一个Target =“powershell …命令,具有Id =”rId2“。我们来解释和解码这个命令。首先,我们使用Re-search.py来提取具有正则表达式的Target值:

这给了我们一个URL编码的PowerShell命令(和另一个目标值,一个.xml文件的名称,这对于这个分析不重要)。使用translate.py和一些Python代码,我们可以使用模块urllib来解码URL:

现在我们可以清楚地识别PowerShell命令:它将下载并执行一个文件。网址尚未完全清楚。它是通过在PowerShell中连接(+)字符串和转换为字符([char] 0x2F)的字节来构建的)。字节0x2F是正斜杠(/)的ASCII值,所以让我们用sed替换这个实际字符的字节。

我们现在可以通过使用sed再次删除“+”来执行字符串连接:

我们现在可以清楚地看到该文件从哪个URL下载,它被写入临时文件夹中.jse扩展名,然后执行。要提取URL,我们可以再次使用Re-search.py

.jse文件是一个编码的JavaScript文件。它与VBE(编码VBScript)相同的编码,可以使用此工具进行解码。

结论

通过寻找字符串ppaction(这个字符串可能被模糊化)来检测潜在的恶意PowerPoint文件,从而滥用此功能相当容易。字符串powershell也是一个很好的候选人搜索,但请注意,PowerShell以外的其他程序可用于执行恶意操作。

源链接

Hacking more

...