导语:近期,思科Talos观察到利用Office应用程序的开放文档格式(OpenDocument,ODT)来绕过防病毒引擎的攻击行为。ODT是一个ZIP存档,其中包含Microsoft Office等软件使用的基于XML的文件。
近期,思科Talos观察到利用Office应用程序的开放文档格式(OpenDocument,ODT)来绕过防病毒引擎的攻击行为。ODT是一个ZIP存档,其中包含Microsoft Office等软件使用的基于XML的文件。
杀毒引擎往往将ODT文件视为标准归档文件,并且没有应用与Office文档相同的规则,另外还有一些沙箱也无法分析ODT文档,因为它被认为是归档文件,并且沙箱不会以Microsoft Office文件的形式打开它,因此攻击者可以使用ODT文件来传递通常会被传统杀毒软件阻止的恶意软件。
我们只找到几个使用这种文件格式的示例。大多数使用恶意文档的活动仍然依赖于Microsoft Office文件格式,但是这些案例表明,在未来使用ODT文件格式进行攻击的成功率更高。在这篇文章中,我们将介绍三种使用OpenDocument的情况。前两个案例针对的是Microsoft Office,而第三个案例只针对OpenOffice和LibreOffice用户。我们现在还不知道这些样本是攻击者用于测试还是出于一些特定的恶意目的。
案例研究1:带有OLE对象和HTA脚本的ODT
第一起案例使用了带有嵌入式OLE对象的恶意ODT文档,用户必须单击提示才能执行嵌入对象。如下图所示,攻击者同时了针对说阿拉伯语和英语的用户。
两种情况下,OLE对象都会部署了一个HTA文件并执行:
两个HTA脚本都从ttop4top[.]net上下载一个文件,该网站是一个流行的阿拉伯文件托管平台:
下载的文件都是一个远程管理工具(RAT)。就阿拉伯语而言,payload是NJRAT恶意软件,C2服务器是amibas8722[.]ddns[.]net,指向阿尔及利亚ISP:
就英语而言,其payload是RevengeRAT,C2服务器隐藏在portmap平台(wh-32248[.]portmap[.]io)中。 PE存储在注册表中,并使用计划任务和PowerShell脚本执行:
案例2:带有OLE对象和嵌入式恶意软件的ODT
在这种情况下,ODT文件还包含一个OLE对象:
$ unzip -l 80c62c646cce264c08deb02753f619da82b27d9c727e854904b9b7d88e45bf9e Archive: 80c62c646cce264c08deb02753f619da82b27d9c727e854904b9b7d88e45bf9e Length Date Time Name --------- ---------- ----- ---- 39 1980-01-01 00:00 mimetype 1540 1980-01-01 00:00 settings.xml 805 1980-01-01 00:00 META-INF/manifest.xml 1026 1980-01-01 00:00 meta.xml 491520 1980-01-01 00:00 Object 1 17784 1980-01-01 00:00 ObjectReplacements/Object 1 3354 1980-01-01 00:00 content.xml 6170 1980-01-01 00:00 styles.xml --------- ------- 522238 8 files
同样,此文档需要用户交互。OLE执行将非法二进制文件“ Spotify.exe”写入受害机器,这个. net二进制文件压缩了作为资源存储的新二进制文件。新的PE包含大量不同的封装器,例如Goliath,babelfor.NET和9rays。
所有层解压后,最终的payload为AZORult。我们可以在最终的二进制文件中看到它的典型字符串:
案例研究3:StarSuite Basic的ODT
这次的攻击目标是针对OpenOffice和LibreOffice而不是Microsoft Office。攻击者在StarOffice Basic中使用了Microsoft Office文档中的宏。StarOffice Basic的代码位于ODT存档中的Basic/Standard/ repository:
$ unzip -l 525ca043a22901923bac28bb0d74dd57 Archive: 525ca043a22901923bac28bb0d74dd57 Length Date Time Name --------- ---------- ----- ---- 0 2019-08-19 12:53 Thumbnails/ 728 2019-08-19 12:52 Thumbnails/thumbnail.png 10843 2019-08-19 12:52 styles.xml 0 2019-08-19 12:53 Basic/ 0 2019-08-19 13:22 Basic/Standard/ 1317 2019-08-19 13:00 Basic/Standard/Module1.xml 348 2019-08-19 12:52 Basic/Standard/script-lb.xml 338 2019-08-19 12:52 Basic/script-lc.xml 8539 2019-08-19 12:52 settings.xml 0 2019-08-19 12:53 Configurations2/ 0 2019-08-19 12:53 Configurations2/accelerator/ 0 2019-08-19 12:52 Configurations2/accelerator/current.xml 0 2019-08-19 12:53 META-INF/ 1390 2019-08-19 12:52 META-INF/manifest.xml 899 2019-08-19 12:52 manifest.rdf 1050 2019-08-19 12:52 meta.xml 39 2019-08-19 12:52 mimetype 3297 2019-08-19 12:52 content.xml --------- ------- 28788 18 files
此段代码下载并执行一个称为“ plink”的二进制文件。创建SSH通信的IP是本地网络IP,而不是Internet上可用的IP,这点很有趣,因为我们确定的其他文档都是从本地网络下载的可执行文件,不知道它是一个测试,还是渗透测试框架,还是在特定的环境中使用。攻击者有可能利用它在已经受损的环境中进行横向移动。
下载Metasploit payload:
一些混淆的版本使用WMI执行下载的payload:
这些样本仅针对使用OpenOffice和StarSuite的用户,最终payload当前尚不清楚。
结论
Microsoft Office是一个经常受到攻击的平台,就像微软的Windows操作系统一样,因其广泛的受众群体使其成为威胁行动者的首要目标。
ODT文件格式的使用表明,攻击者乐于尝试不同的感染机制,既是为了了解这些文档是否具有更高的感染率,也是为了逃避检测。正如我们上面所指出的,一些AV引擎和沙箱并不处理这些文件格式,因此在某些情况下它们会被“忽略”。尽管使用这些软件的人较少,但由于检测率低,攻击者可能还是具有较高的成功率。通过使用较少使用的文件格式,针对特定目标的攻击的可能性也会增加。
IOCs
Case #1
ODT Documents:
de8e85328b1911084455e7dc78b18fd1c6f84366a23eaa273be7fbe4488613dd
f24c6a56273163595197c68abeab7f18e4e2bedd6213892d83cdb7a191ff9900
PE:
02000ddf92ceb363760acc1d06b7cd1f05be7a1ca6df68586e77cf65f4c6963e
19027327329e2314b506d9f44b6871f2613b8bb72aa831004e6be873bdb1175d
C2 servers:
wh-32248[.]portmap[.]io
amibas8722[.]ddns[.]net
Payload storage:
top4top[.]net
Case #2
ODT document: 80c62c646cce264c08deb02753f619da82b27d9c727e854904b9b7d88e45bf9e
PE: 20919e87d52b1609bc35d939695405212b8ca540e50ce8bece01a9fccfa70169
Case #3
2f4aa28974486152092669c85d75232098d32446adefeeef3a94ad4c58af0fc8
d099eac776eabf48f55a75eb863ad539a546202da02720aa83d88308be3ce4ca
84cb192cc6416b20293dfb8c621267e1584815a188b67757fa0d1af29a7cfdcd
b2b51864fa2f80f8edbdaf6721a6780e15a30291a748c2dfc52d574de0d8c3ed
f9138756639104e2c392b085cc5a98b1db77f0ed6e3b79eacac9899001ed7116
efb81fb8095319f5ee6fd4d6741b80386a824b9df05460d16d22cad1d6bbb35d
f5194cc197d98ed9078cceca223e294c5ec873b86cbeff92eb9eaca17fc90584
429d270195bed378495349cf066aee649fd1c8c450530d896844b1692ddddc77