首页
社区
课程
招聘
[原创]Adobe Flash零日漏洞(cve-2018-4878)在野攻击完全分析报告
发表于: 2018-2-11 11:39 6161

[原创]Adobe Flash零日漏洞(cve-2018-4878)在野攻击完全分析报告

2018-2-11 11:39
6161

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安全卫士无需升级就能完美防御此次漏洞攻击。在此期间,360核心安全高级威胁应对团队迅速反应,率先截获了该漏洞的在野攻击并发布分析预警。在官方发布漏洞补丁,零日漏洞得到妥善解决后,本次我们发布在野攻击的完全分析报告,帮助大家从不同角度推知此次高级威胁攻击的全貌。


图1

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


图2

图 诱饵文档内容

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

 

图3 包含在文档中的ActiveX对象文件

打开文档后ActiveX对象会自动播放flash内容,允许播放后将从云端实施下一步攻击。

图4

诱饵文档中的flash播放后,下一步将请求远程URL decK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3c8&6L8r3u0G2K9h3I4W2M7W2)9J5k6h3y4G2i4K6u0W2K9%4u0Q4x3V1k6S2k6r3#2A6L8X3y4W2L8Y4c8W2M7W2)9J5c8X3k6A6L8r3g2K6i4K6u0r3j5X3!0S2k6q4)9J5c8U0c8Q4x3V1k6E0j5h3&6S2k6$3g2J5i4K6u0W2M7r3S2H3

图4.1

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

图5

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

图6

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

图7

我们对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技巧类似,相关代码已经开源就不再详述。

图13

进一步我们对该漏洞进行调试分析,将var_13 = new class_8();代码注释掉将会触发空指针访问崩溃。

eax=6906d8e9 ebx=00000000 ecx=00000000 edx=00000000 esi=08055d28 edi=0685b020

eip=6850e148 esp=024fd5c0 ebp=024fd5f0 iopl=0         nv up ei pl nz ac po nc

cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00210212

Flash32_28_0_0_137!DllUnregisterServer+0x14ecda:

6850e148 8b4904          mov     ecx,dword ptr [ecx+4] ds:0023:00000004=????????

回溯发现地址数据来自esi+0c位置

6850e142 8b4e0c          mov     ecx,dword ptr [esi+0Ch]

6850e145 8b4908          mov     ecx,dword ptr [ecx+8]

6850e148 8b4904          mov     ecx,dword ptr [ecx+4]

0:005> dd 066e4100

066e4100  066e4f60 00000000 00000000 00000000

066e4110  00000000 00000000 00000000 00000000

由于这里我们已经把var_13创建代码注释了,说明还有其他对象被错误的释放了,LocalConnection().connect会主动调用gc释放没有的引用的内存,所以这里我们再把这部分注释,并在 6850e142 8b4e0c          mov     ecx,dword ptr [esi+0Ch] 处设置断点,观察被释放的数据内容。

图14

断点命中后,可以发现数据其实是class_8对象的内容,也就是var_16的内存。

eax=67c1d8e9 ebx=00000000 ecx=0607b2e0 edx=00000000 esi=04785d28 edi=0626b020

eip=670be148 esp=022fcfc0 ebp=022fcff0 iopl=0         nv up ei pl nz ac po nc

cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00200212

Flash32_28_0_0_137!DllUnregisterServer+0x14ecda:

670be148 8b4904          mov     ecx,dword ptr [ecx+4] ds:0023:0607b2e4=060ba4c0

0:005> dd 0618e100

0618e100  67c51a88 00000002 0607b2e0 07d98040

0618e110  00001111 00002222 00003333 00004444

0618e120  00005555 00006666 00007777 00008888

0618e130  00009999 0000aaaa 00001111 00002222

最终分析确认cve-2018-4878零日漏洞是drmManager.initialize没有正确的处理所持有的对象导致UAF漏洞。

接下来,漏洞触发执行的shellcode会通过进程名,判断用户是否安装了AhnLab、ViRobot APT Shield和360三款中韩常用的安全软件,以采取不同的方案进行攻击。

图15

l  三款安全软件,任意一款存在的环境

直接调用wininet系列函数下载4afK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6e0p5#2z5o6S2Q4x3X3b7J5x3o6b7H3i4K6u0W2j5$3!0Q4x3X3g2C8M7W2)9J5c8X3y4G2L8X3k6Q4x3V1k6H3M7X3!0V1N6h3y4@1i4K6g2X3L8$3I4V1i4K6u0W2K9Y4m8Y4i4@1f1$3i4K6R3&6i4K6R3H3i4@1f1#2i4@1q4r3i4@1t1&6i4@1f1#2i4@1u0m8i4K6V1@1i4@1f1%4i4K6W2m8i4K6R3@1i4@1f1$3i4K6R3I4i4@1t1$3i4@1f1$3i4K6R3@1i4K6S2r3i4@1f1^5i4K6S2p5i4@1t1%4i4@1f1^5i4@1u0p5i4@1u0p5i4@1f1$3i4K6R3&6i4@1p5%4i4@1f1^5i4@1p5I4i4K6S2o6i4@1f1K6i4K6R3H3i4K6R3J5

l  未安装三款安全软件,或可能存在其他未知安全软件的环境


[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 1
支持
分享
最新回复 (1)
雪    币: 1491
活跃值: (985)
能力值: (RANK:860 )
在线值:
发帖
回帖
粉丝
2
精彩!谢谢楼主的分享
2018-2-12 21:52
0
游客
登录 | 注册 方可回帖
返回