Adobe漏洞遇上Microsoft漏洞?擦出的可不是火花
Posted 行长叠报
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Adobe漏洞遇上Microsoft漏洞?擦出的可不是火花相关的知识,希望对你有一定的参考价值。
复联3的上映热度未散
就听说漫威要联合跑男啦
听到这个消息
小编我搓了搓手手,好期待~
不久前,ESET的研究人员发现了一个有趣的恶意PDF样本。该样本利用了两个0 DAY漏洞:
Adobe Reader中的远程代码执行漏洞
(CVE-2018-4990)
Microsoft Windows中的权限提升漏洞
(CVE-2018-8120)
这两个漏洞组合使用可以说非常强大了,它允许攻击者以最高权限对攻击目标执行任意代码,并且只需进行最少量的用户交互。听起来是不是像召唤神龙一样厉害?接下来,小编为你详细扒一扒这个恶意样本的技术细节及其利用。
背景
PDF是一种用于电子文档的文件格式,攻击者可以利用它向受害者的计算机发送恶意软件。为了执行恶意代码,攻击者必须要查找并利用PDF阅读器中的漏洞。
Adobe Reader是大多数人常用的一个阅读器,它具备了沙箱的安全特性,在阅读器中也称为“保护模式”(关于沙箱实现的详细技术已在Adobe的博客页面上发布)。
沙箱使攻击过程变得更加困难,因为即使代码执行完成,攻击者仍然要绕过沙箱的保护,才能攻击运行Adobe Reader的计算机。通常情况下,沙箱绕过是通过利用操作系统本身的漏洞来实现的。
CVE-2018-4990-Adobe Reader中的远程代码执行漏洞
此恶意PDF样本嵌入了控制整个攻击过程的javascript代码。一旦打开PDF文件,就会执行JavaScript代码。
随着攻击进行,JavaScript代码开始操纵Button1对象。此对象包含特制的JPEG2000映像,该映像触发Adobe Reader中的双重释放漏洞。
操纵Button1对象的JavaScript代码
JavaScript使用堆喷射技术来破坏内部数据结构。在经过所有操作之后,攻击者实现了他们的主要目标:从JavaScript代码中读取和写入内存。
用于读写内存的JavaScript代码
构建ROP链的恶意JavaScript
作为最后一步,shellcode初始化了嵌入在PDF中的PE文件,并将执行传递给它。
CVE-2018-8120-MicrosoftWindows中的权限提升漏洞
利用Adobe Reader漏洞后,攻击者必须破坏沙箱。这正是我们讨论第二次开发的目的。
先前未知漏洞的根本原因起源于win32k Windows内核组件的NtUserSetImeInfoEx函数。 尤其是,NtUserSetImeInfoEx的SetImeInfoEx子例程不验证数据指针,允许空指针取消引用。
分解SetImeInfoEx例程
如图所示,SetImeInfoEx函数需要一个指向初始化的WINDOWSTATION对象的指针作为第一个参数。 如果攻击者创建一个新的窗口对象并将其分配给用户模式下的当前进程,那么spklList可以等于零。
由于攻击者有任意的写入函数,他们可以使用不同的技术,但在这种情况下,攻击者可以选择使用Ivanlef0u和Mateusz“j00ru”Jurczyk、Gynvael Coldwin描述的技术。
然后利用CALL FAR指令执行特权级别的调用。
反汇编的CALL FAR指令
一旦以内核模式执行代码,漏洞利用系统令牌替换当前进程的令牌。
结论及建议
最初,在将PDF样本上传到恶意样本的公共存储库时,ESET研究人员发现了它。 该样本不包含最终有效载荷,这表明它可能是在其早期发展阶段被捕获的。 尽管如此,还是有人展示了在漏洞发现和利用编写方面的高水平技能。
Adobe和Microsoft的补丁程序和建议可在以下站点获得:
APSB18-09
CVE-2018-8120
受影响的版本:
妥协指标(IoC)
更多精彩
*IDEA值得分享 | 转载注明出处
以上是关于Adobe漏洞遇上Microsoft漏洞?擦出的可不是火花的主要内容,如果未能解决你的问题,请参考以下文章
Adobe Flash cve-2018-4878 的漏洞复现