首页 >> 网络安全 >>零日漏洞 >> Windows内核事务管理器中的零日(CVE-2018-8611)
详细内容

Windows内核事务管理器中的零日(CVE-2018-8611)

执行摘要

在2018年10月,我们的AEP(自动漏洞防护)系统检测到试图利用Microsoft Windows操作系统中的漏洞。进一步的分析使我们发现了ntoskrnl.exe中的零日漏洞。我们于2018年10月29日向Microsoft报告了该漏洞。该公司确认了该漏洞并将其分配给CVE-2018-8611。微软刚刚发布了一个补丁,它是12月份更新的一部分,它将这一发现归功于卡巴斯基实验室的研究人员Boris Larin(Oct0xor)和Igor Soumenkov(2igosha)。

1.png

这是我们今年秋天使用我们的技术发现的Windows中连续第三次被利用的Local Privilege Escalation漏洞。与先前报告的win32k.sys(CVE-2018-8589和CVE-2018-8453)中的漏洞不同,CVE-2018-8611是一个特别危险的威胁 - 内核事务管理器驱动程序中的漏洞。它还可用于在现代Web浏览器(包括Chrome和Edge)中转义沙箱,因为系统调用过滤缓解不适用于ntoskrnl.exe系统调用。


就像CVE-2018-8589一样,我们相信这个漏洞被几个威胁演员使用,包括但不限于FruityArmor和SandCat。虽然众所周知FruityArmor曾使用过零天,但SandCat是我们最近才发现的新APT。除了这个零日和CHAINSHOT,SandCat还使用了FinFisher / FinSpy框架。


卡巴斯基实验室产品通过以下技术主动检测到此漏洞:

  1. 端点产品的行为检测引擎和自动漏洞预防

  2. 卡巴斯基反目标攻击平台(KATA)的高级沙盒和反恶意软件引擎


卡巴斯基实验室判断此次攻击和相关攻击中使用的工件是:


  1. HEUR:Exploit.Win32.Generic

  2. HEUR:Trojan.Win32.Generic

  3. PDM:Exploit.Win32.Generic

简要说明 - CVE-2018-8611漏洞

CVE-2018-8611是由于在内核模式下对事务处理文件操作的处理不当而在内核事务管理器中出现的竞争条件。


此漏洞成功绕过了现代流程缓解策略,例如在Microsoft Edge Sandbox中使用的Win32k系统调用过滤以及Google Chrome Sandbox中使用的Win32k锁定策略。例如,与受损的渲染器流程相结合,此漏洞可以在最新的最先进的Web浏览器中生成完整的远程命令执行漏洞利用链。


我们发现了此漏洞的多个漏洞利用版本。最新版本包括更改以反映最新版本的Windows操作系统。

2.png

检查发现时的最新版本:Windows 10 Redstone 4 Build 17133

与CHAINSHOT类似,此漏洞利用很大程度上依赖于使用带有自定义错误代码的C ++异常处理机制。


要滥用此漏洞,首先会创建一个命名管道并将其打开以进行读写。然后它创建一对新的事务管理器对象,资源管理器对象,事务对象,并为我们称之为“事务#2”的内容创建大量的登记对象。Enlistment是一个特殊对象,用于事务和资源管理器之间的关联。当事务状态改变时,KTM通知关联的资源管理器。之后,它只为“Transaction#1”创建了一个登记对象,并提交了此事务中所做的所有更改。

在所有初步准备工作完成后,利用漏洞触发器的第二部分。它创建多个线程并将它们绑定到单个CPU核心。其中一个创建的线程在循环中调用NtQueryInformationResourceManager,而第二个线程尝试执行NtRecoverResourceManager一次。但漏洞本身是在第三个线程中触发的。该线程使用执行技巧NtQueryInformationThread来获取有关第二个线程的最新执行的系统调用的信息。成功执行NtRecoverResourceManager将意味着已发生竞争条件,并且在先前创建的命名管道上进一步执行WriteFile将导致内存损坏。

3.png

概念证明:WriteFile的执行,缓冲区设置为0x41

与往常一样,我们为Microsoft提供了此漏洞的概念证明以及源代码。后来通过Microsoft Active Protections Program(MAPP)共享。

技术支持: 建站ABC | 管理登录