本Windows提权漏洞编号为CVE-2019-0797
通告
当Win32k组件无法正确处理内存中的对象时,Windows中存在一个特权提升漏洞。成功利用此漏洞的攻击者可以在内核模式下运行任意代码。然后攻击者可以安装程序; 查看、更改或删除数据; 或创建具有完全用户权限的新帐户。
要利用此漏洞,攻击者首先必须登录系统。然后,攻击者可以运行可以利用此漏洞并控制受影响系统的特制应用程序。
影响版本:
Windows 10 全版本
Windows 8.1
Windows Server 2012 - 2019
本漏洞由卡巴发现并报告给微软,原文链接如下:
https://securelist.com/cve-2019-0797-zero-day-vulnerability/89885/
具体细节
这是卡巴发现的在Windows中连续第四次被利用的Local Privilege Escalation漏洞。
就像CVE-2018-8589一样,这个提权漏洞被FruityArmor和SandCat等组织使用。
虽然FruityArmor曾使用过0day漏洞,但SandCat是卡巴最近才发现的新APT组织。
除了CVE-2019-0797和CHAINSHOT之外,SandCat还使用FinFisher / FinSpy恶意软件框架。
CVE-2019-0797是win32k驱动程序中存在的竞争条件,
由于未记录的系统调用NtDCompositionDiscardFrame
和NtDCompositionDestroyConnection之间没有进行正确的同步,从而导致竞争条件漏洞诞生。
竞争条件是系统中的一种反常现象,由于现代系统中大量使用并发编程,对资源进行共享,如果产生错误的访问模式,便可能产生内存泄露,系统崩溃,数据破坏,甚至安全问题。竞争条件漏洞就是多个进程访问同一资源时产生的时间或者序列的冲突,并利用这个冲突来对系统进行攻击。一个看起来无害的程序如果被恶意攻击者利用,将发生竞争条件漏洞。
出现漏洞的代码如下图所示
NtDCompositionDiscardFrame系统调用的片段(Windows 8.1)
在这个带有NtDCompositionDiscardFrame系统调用的简化了逻辑代码的截图中,
可以看到此代码会去获取与结构DirectComposition :: CConnection中帧(Frame)操作相关的锁(Lock),并尝试查找与给定的ID 对应的帧(Frame),并最终释放帧(见上图)。
可以在下图中观察到此问题:
NtDCompositionDestroyConnection系统调用内部函数的片段(Windows 8.1)
在这个截图中为使用从NtDCompositionDestroyConnection系统调用中调用的函数DiscardAllCompositionFrames的简化版本的逻辑代码,
可以看到它没有获取必要的锁(lock),并调用将释放所有已经分配了帧(frames)的函数DiscardAllCompositionFrames。
而问题在于,当系统同时调用
NtDCompositionDiscardFrame和
NtDCompositionDestroyConnection并执行时,
可以在系统调用函数NtDCompositionDiscardFrame在找或者已经找到了一个要释放的帧的时候,再去执行函数DiscardAllCompositionFrames
这种情况将会导致释放帧再被重新使用的情况 (UAF)。
有趣的是,这是除了CVE-2018-8589和CVE-2018-8611之外,又一组使用的第三种竞争条件0day攻击。
下图应该是0day样本的攻击代码片段
如果模块文件名包含子字符串“chrome.exe”,则停止执行
在野发现的0day漏洞攻击目标是从Windows 8到Windows 10 build 15063的64位操作系统。
所有这些操作系统的漏洞利用程序没有太大差别,并使用堆喷 Palette和Accelerator Table加速键表
执行使用GdiSharedHandleTable和gSharedInfo,从而泄漏其内核地址。
在利用Windows 10 build 14393和更高的windows版本时候,并没有使用Palettes。
除此之外,该漏洞利用程序会检查它是否从谷歌浏览器中运行,若是则并停止执行,因为漏洞CVE-2019-0797是无法在沙箱中被利用,即无法进行沙箱逃逸。
需强调,这与前几天谷歌爆的微软的提权漏洞不是一个洞,前几天那个是
CVE-2019-0808,这个和2019-0797不同,是可以配合谷歌浏览器使用的。
解决方案
更新系统。
声明:本文来自黑鸟,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。