介 绍
卡巴斯基实验室一直以来与厂商们密切合作,一旦发现新的漏洞,我们会及时通知厂商并提供修复所需的所有信息。
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-5119 和 CVE-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 随即会执行下列动作:
- 从 hxxp://89.45.67[.]107/rss/mo.exe 下载 FinSpy 的最终 payload
- 从同一IP下载一个诱饵文件,显示给受害者
- 执行 payload 并显示诱饵文件
Payload – mo.exe
前面提过的,“mo.exe”payload(MD5:4a49135d2ecc07085a8b7c5925a36c0a)是最新版本的 Gamma International 的 FinSpy 恶意软件,这个软件通常卖给国家和其他执法机构,用于合法的监视行动。由于反分析技术的增加,这种新的变体让研究人员分析恶意软件变得十分困难,包括自定义打包程序和虚拟机来执行代码。
虚拟机的PCODE用aplib packer打包了:
部分打包的虚拟机PCODE
拆包后,PCODE 将如下所示:
拆包虚拟机的 PCODE 然后解密:
自定义虚拟机共支持34条指令:
解析的PCODE示例
在本示例中,“1b”指令负责执行在参数字段中指定的本地代码。
一旦 payload 成功执行,它将继续从下列位置中复制文件:
- C:ProgramDataManagerAppAdapterTroubleshooter.exe
- C:ProgramDataManagerApp15b937.cab
- C:ProgramDataManagerAppinstall.cab
- C:ProgramDataManagerAppmsvcr90.dll
- C:ProgramDataManagerAppd3d9.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