原文地址:BlackOasis APT and new targeted attacks leveraging zero-day exploit
译者:Serene

介绍

卡巴斯基实验室一直以来与厂商们密切合作,一旦发现新的漏洞,我们会及时通知厂商并提供修复所需的所有信息。

2017年10月10日,卡巴斯基实验室高级漏洞利用防御系统确认了一个新的 Adobe Flash 0day 漏洞,该漏洞利用通过 Microsoft Office 文档传送,最终 payload 是最新版本的 FinSpy 恶意软件。我们将这个漏洞报告给了 Adobe,Adobe 颁发了CVE-2017-11292并随后发布了一个补丁

到目前为止,我们只在客户群中监测到了一次攻击,因此我们认为这次攻击的次数很少,并且有很强的针对性。

通过对 payload 的分析,我们将这次攻击与所追踪的“BlackOasis”相联系起来,同时认为,BlackOasis 也与另一个由 FireEye 在9月发现的 0day 漏洞(CVE-2017-8759)相关。当前攻击(CVE-2017-11292)中使用的 FinSpy payload,与 FireEye 发现的CVE-2017-8759中所使用的 payload 共享相同的 C&C 服务器。

BlackOasis背景

我们最开始在2016年5月就注意到 BlackOasis 的活动,当时是在探究另一个 Adobe Flash 0day。在2016年5月10日,Adobe警告有一个影响 Flash Player 21.0.0.226版本,以及 Windows、Macintosh、Linux 和 Chrome OS 早期版本的漏洞(CVE-2016-4117)。这个漏洞已经被广泛地利用于攻击中。

卡巴斯基实验室在2016年5月8日就确认一个利用此漏洞上传到多扫描系统的示例样本,样本以 RTF 文档的形式利用CVE-2016-4117从远程 C&C 服务器下载并安装程序。尽管攻击的确切 payload 已经不在 C&C 服务器上了,但同一台服务器正在托管多个 FinSpy 安装包。

利用卡巴斯基安全网络的数据,我们确定了 BlackOasis 在2015年6月使用的另外两个类似的利用链,这在当时是0day,包括CVE-2015-5119CVE-2016-0984,我们分别在2015年7月和2016年2月发布了补丁。这些利用链也被传送到了 FinSpy 安装包中。

自从发现 BlackOasis 的利用网以来,为了更好地了解其操作和目标,我们就一直在跟踪这个威胁情报,并且已看到了几十个新的攻击。在这些攻击中所使用的一些诱饵文档如下所示:

BlackOasis攻击使用的诱饵文件

总的来说,我们看到自从2015年6月 BlackOasis 利用了至少5个0day:

  • CVE-2015-5119 – 2015年6月
  • CVE-2016-0984 – 2015年6月
  • CVE-2016-4117 – 2016年5月
  • CVE-2017-8759 – 2017年9月
  • CVE-2017-11292 – 2017年10月

攻击利用 CVE-2017-11292

攻击利用 Office 文档,以电子邮件作为载体发送,文档中嵌入包含 Flash 漏洞的 ActiveX 对象。

.docx文件中的Flash对象,以非压缩格式存储

Flash 对象包含了一个 ActionScript,它负责使用在其他 FinSpy 漏洞中看到的自定义打包程序来提取漏洞。

例行打开SWF漏洞

这个漏洞利用的是存在于“com.adobe.tvsdk.mediacore.BufferControlParameters”类中的内存损坏漏洞。如果利用成功,它将在内存中获得任意读/写操作,从而允许它执行第二阶段的 shellcode。

第一阶段的 shellcode 包含一个有趣的有替代说明的 NOP sled,这很有可能是设计用来避开杀毒软件对 Flash 文件中大型 NOP 块的检测的:

NOP sled由0x90和0x91操作码组成

初始 shellcode 的主要目的是从 hxxp://89.45.67[.]107/rss/5uzosoff0u.iaf下载第二阶段的 shellcode。

第二阶段 shellcode

第二阶段 shellcode 随即会执行下列动作:

  1. hxxp://89.45.67[.]107/rss/mo.exe下载 FinSpy 的最终 payload
  2. 从同一IP下载一个诱饵文件,显示给受害者
  3. 执行 payload 并显示诱饵文件

Payload – mo.exe

前面提过的,“mo.exe”payload(MD5:4a49135d2ecc07085a8b7c5925a36c0a)是最新版本的 Gamma International 的 FinSpy 恶意软件,这个软件通常卖给国家和其他执法机构,用于合法的监视行动。由于反分析技术的增加,这种新的变体让研究人员分析恶意软件变得十分困难,包括自定义打包程序和虚拟机来执行代码。

虚拟机的PCODE用aplib packer打包了:

部分打包的虚拟机PCODE

拆包后,PCODE 将如下所示:

拆包虚拟机的 PCODE 然后解密:

自定义虚拟机共支持34条指令:

解析的PCODE示例

在本示例中,“1b”指令负责执行在参数字段中指定的本地代码。

一旦 payload 成功执行,它将继续从下列位置中复制文件:

  • C:\ProgramData\ManagerApp\AdapterTroubleshooter.exe
  • C:\ProgramData\ManagerApp\15b937.cab
  • C:\ProgramData\ManagerApp\install.cab
  • C:\ProgramData\ManagerApp\msvcr90.dll
  • C:\ProgramData\ManagerApp\d3d9.dll

“AdapterTroubleshooter.exe”文件是一个合法的二进制文件,它被用来使用著名的DLL搜索劫持技术。“d3d9.dll”文件是恶意的,在执行时通过合法的二进制文件加载到内存中。一旦加载,DLL 将会将 FinSpy 注入到 Winlogon 进程中。

部分在Winlogon进程中注入的代码

payload 调出三个C&C服务器,以进一步控制和传出数据。我们已经监测到其中两个与其他 FinSpy payload 一起使用。最近,这些 C&C 服务器中的一个与CVE-2017-8759一同被用于2017年9月 FireEye 报告的攻击中。这些IP和其他之前的样本与 FinSpy 活动的 BlackOasis APT 密切相关。

攻击目标和受害者

BlackOasis 的利益涵盖广泛,涉及中东的政治诉求。这其中包括联合国、反对派宣扬者和活动家,以及区域新闻记者的杰出人物。在2016年期间,我们观察到它在安哥拉的极大利益,以诱饵文件为例,目标涉嫌与石油、洗钱和其他非法活动有关。在国际活动家和智囊团中也有利益相关。

BlackOasis 的受害者包含以下国家:俄罗斯,伊拉克,阿富汗,尼日利亚,利比亚,约旦,突尼斯,沙特阿拉伯,伊朗,荷兰,巴林,英国和安哥拉。

结论

我们估计2015年年中对 HackingTeam 的攻击在监控工具市场上留下了空白,现在其它公司正在努力填补。其中之一就是 Gamma International,他们的产品是 FinFisher 工具套件。尽管 Gamma International 自己曾在2014年被 Phineas Fisher攻击,但这个裂缝并不像 HackingTeam 那样严重。另外,Gamma 从攻击中恢复过来已经有两年时间,并正在加快前进的步伐。

我们认为,依靠 FinFishe r软件并利用0day漏洞的攻击次数将会持续增长。

这对每个人来说意味着什么?如何防范这种攻击,包括0day利用的攻击?

对于CVE-2017-11292和其他类似的漏洞,可以使用组织内 Flash 的 killbit,来禁用任何允许该漏洞的应用程序。但不幸的是,在系统范围内执行这个操作并不容易,因为 Flash 对象可以加载在可能不遵循 killbit 的应用程序中。另外,这可能会破坏依赖 Flash 的其他必要资源,并且 killbit 并不会防止其他第三方软件的漏洞利用。

部署包括访问政策、防病毒、网络监控和白名单的多层次方法,可以帮助确保客户免受诸如此类的威胁。卡巴斯基产品的用户也免受以下威胁:

  • PDM:Exploit.Win32.Generic
  • HEUR:Exploit.SWF.Generic
  • HEUR:Exploit.MSOffice.Generic

参考

Adobe Bulletin https://helpx.adobe.com/security/products/flash-player/apsb17-32.html


Paper 本文由 Seebug Paper 发布,如需转载请注明来源。本文地址:https://paper.seebug.org/418/