
原标题:Adobe Flash零日漏洞(cve-2018-4878)在野攻击完全分析报告
导语:2月1日, Adobe官方发布了Adobe Flash Player系列产品的安全通告(APSA18-01),一个最新的Adobe Flash零日漏洞被发现针对韩国地区的人员发起攻击,本篇为针对该漏洞利用的详细分析。
背景
2018年1月31日,韩国计算机应急响应小组发布了一则关于Adobe Flash Player的 0day 漏洞警告,并称早在2017年11月中旬,就有黑客利用该漏洞实施有针对性的攻击。
2018年2月1日, Adobe官方发布了Adobe Flash Player系列产品的安全通告(APSA18-01),一个最新的Adobe Flash零日漏洞被发现针对韩国地区的人员发起攻击,该0day漏洞编号为CVE-2018-4878。
2018年2月5日,Adobe官方发布漏洞补丁,修复CVE-2018-4878零日漏洞
在CVE-2018-4878零日漏洞的补丁真空期,360核心安全高级威胁应对团队迅速反应,率先截获了该漏洞的在野攻击并发布分析预警。在官方发布漏洞补丁,零日漏洞得到妥善解决后,本次我们发布在野攻击的完全分析报告,帮助大家从不同角度推知此次高级威胁攻击的全貌。

图1
漏洞文档攻击流程分析
攻击者对相关人员精心策划了社会工程学攻击,通过即时聊天工具和邮箱向相关人员发送包含漏洞及恶意代码的excel诱饵文档,诱骗受害者打开中招。

图2 诱饵文档内容
诱饵文档中包含了一个ActiveX对象,该对象对应的是一个swf文件。

图3 包含在文档中的ActiveX对象文件
打开文档后ActiveX对象会自动播放flash内容,允许播放后将从云端实施下一步攻击。被调用过程

图4
诱饵文档中的flash播放后,下一步将请求远程URL

图4.1
url请求参数包含id(唯一标识符)、fp_vs(flash版本)、os_vs(系统信息)

图5
诱饵文档中的flash将解密远程URL地址返回的加密文件流,动态执行包含cve-2018-4878漏洞的flash内容。

图6
cve-2018-4878漏洞荷载所在网站是一个正规的韩国公司网站,疑似该网站已经被攻击者入侵并完全控制,攻击者可以在网站上添加任意的恶意代码。

图7
CVE-2018-4878零日漏洞分析
我们对cve-2018-4878漏洞文件流进行分析,发现样本通过操作Flash的com.adobe.tvsdk包中的DRMManager对象进行攻击。
该部分漏洞的关键代码存在于method_3方法中,该方法new了一个class_8的对象,并传给drmManager.initialize,然后将var_16置空。

图8
在class_2的构造函数中 LocalConnection().connect会主动调用gc释放没有的引用的内存,而第二次的LocalConnection().connect调用会产生异常,异常处理过程中又会new一个class_8的对象赋值给var_13。

图9
之后创建了一个定时器,定时器处理函数中,判断var_13.a1成员的值是否被修改。

图10
如果发现值被修改了,则调用flash_24/25方法。

图11
在flash_25方法中又会new 一个class_7的 ByteArray对象赋值给var_17。

图12
var_17是个ByteArray对象,通过修改ByteArray对象的Length可以完成任意内存读写,该处的漏洞利用技巧和hacking team的flash exploit技巧类似,相关代码已经开源就不再详述。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-74231-1.html
经济上