微软近日对外披露了两个0day漏洞详情,其中一个漏洞存在Adobe阅读器中,可被利用导致任意代码执行;另一个漏洞则允许任意代码在Windows kernel内存中提权执行。
 
微软称由于该漏洞利用目前还处于初期阶段,且官方都已发布了补丁,建议大家及时进行安装,赶在被大规模利用前修复,未雨绸缪。同时,建议排查初期样本的IOC(文末附修复补丁链接和IOC)。
 
CVE CVE-2018-4990 CVE-2018-8120
类型 远程代码执行 本地提权
官方评级 Critical Important
ASP站长网影响产品 Acrobat  DCAcrobat  Reader DC Windows  7Windows  Server 2008
POC样本 有 有
在野攻击 暂无 暂无
这两个漏洞利用样本最早是由ESET分析人员在今年3月发现并报告给了微软,在ESET和微软的共同努力下发现了以上两个0day漏洞。以下漏洞利用分析过程是基于以下样本进行:
 
SHA-256:4b672deae5c1231ea20ea70b0bf091164ef0b939e2cf4d142d31916a169e8e01
 
漏洞利用概况
 
Adobe Acrobatand Reader漏洞存在于PDF文档中,伪装成暗含JavaScript漏洞利用代码的恶意JPEG 2000图像,漏洞利用路径如下图所示:
 
 
 
图1. 漏洞利用流程图
 
如上图所示,漏洞利用过程分以下阶段:
 
1.JavaScript枚举堆喷射(heap spray)内存;
 
2.恶意JPEG 2000图片触发一个越界访问操作;
 
3.一旦堆喷射枚举越界内存,就会调用访问操作;
 
4.访问操作导致vftable进程崩溃;
 
5.已崩溃的vftable进程将代码执行转移至返回导向编程(ROP)链;
 
6.ROP链将代码执行转移到shellcode;
 
7.通过反射DLL加载来进行EoP模块加载;
 
8.PE模块启动已加载完成的Win32k EoP漏洞利用程序;
 
9.一旦EoP漏洞利用成功,就会在Startup文件夹中释放一个名为.vbs的文件,作为下载其他payloads的PoC恶意软件。
 
恶意JPEG 2000图片
 
恶意图片中被嵌入了以下恶意标签,如图:
 
 
 
图2. 恶意JPEG 2000图片
 
下图所示的CMAP & PCLR标签中均含有恶意值,CMAP数组(0xfd)的长度小于PCLR标记中引用的索引值(0xff),从而导致了越界内存释放漏洞的利用。
 
 
 
图3. CMAP数组的越界索引
 
结合JavaScript中的堆喷射技术,越界漏洞利用就会导致vftable进程的崩溃。
 
 
 
图4. ROP链中的vftable进程崩溃导致代码执行
 
JavaScript中的编码包含了shellcode和PE模块。
 
 
 
图5. JavaScript中的shellcode
 
反射DLL加载进程
 
Shellcode(以下提到的伪代码)通过反射DLL加载PE模块,这是高级攻击活动里试图在内存中躲避检测时的常用技巧。Shellcode搜索PE初始记录,解析PE分区,并将它们复制到新分配的内存区域,然后将控制权传递给PE模块中的入口点。

dawei

【声明】:九江站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。