CVE-2018-8611 Windows kernel事务管理器0 day漏洞分析

栏目: 编程工具 · 发布时间: 7年前

内容简介:概览2018年10月,Kaspersky的AEP(Automatic Exploit Prevention,自动漏洞利用预防)系统检测到攻击者尝试利用Windows操作系统漏洞的情况。研究人员进一步分析发现了一个ntoskrnl.exe中的一个0 day漏洞。研究人员于10月29日将该漏洞报告给微软,微软确认后分配了CVE编号

概览

2018年10月,Kaspersky的AEP(Automatic Exploit Prevention,自动漏洞利用预防)系统检测到攻击者尝试利用Windows操作系统漏洞的情况。研究人员进一步分析发现了一个ntoskrnl.exe中的一个0 day漏洞。研究人员于10月29日将该漏洞报告给微软,微软确认后分配了CVE编号 CVE-2018-8611 。微软在12月份的更新中修复了该漏洞。

CVE-2018-8611 Windows kernel事务管理器0 day漏洞分析

这是研究人员今年秋天以来发现的第三个Windows本地权限提升漏洞。与之前报告的win32k.sys中的 CVE-2018-8589CVE-2018-8453 漏洞不同的是,CVE-2018-8611是kernel事务管理器(Transaction Manager)驱动中的漏洞,所以带来的威胁更大。因为syscall过滤缓解方案没有应用到ntoskrnl.exe系统调用中,因此该漏洞可以被用来绕过包括Chrome和Edge在内的主流web浏览器的沙箱。

与CVE-2018-8589类似,研究人员认为包括FruityArmor和SandCat在内的威胁单元都在使用该漏洞利用。FruityArmor之前就利用过0 day漏洞,而SandCat是研究人员最近新发现的APT。除了该0 day和CHAINSHOT外,SandCat还使用FinFisher / FinSpy框架。

Kaspersky实验室发现该攻击和相关攻击活动中还使用了:

·HEUR:Exploit.Win32.Generic

·HEUR:Trojan.Win32.Generic

·PDM:Exploit.Win32.Generic

CVE-2018-8611漏洞详情

CVE-2018-8611是在kernel模式下对文件操作的不适当处理造成 Kernel Transaction Manager 中产生竞争条件(race condition)。该漏洞成功绕过了主流的进程缓解策略,比如Microsoft Edge沙箱中使用的 Win32k System call Filtering 和Google Chrome沙箱使用的 Win32k Lockdown Policy 。加上被入侵的renderer进程,该漏洞会导致最新的web浏览器中的完全远程代码执行利用链。

研究人员发现了该漏洞的很多利用版本。其中最新的包括反映Windows操作系统最新版本的变化。

CVE-2018-8611 Windows kernel事务管理器0 day漏洞分析

检查最新的build: Windows 10 Redstone 4 Build 17133

与CHAINSHOT类似,该漏洞利用非常依赖使用C++异常处理机制和定制的错误代码。

为了滥用该漏洞利用,首先要创建一个命名pipe,并以读写权限打开。然后创建应对新事务管理器对象、资源管理器对象、事务对象,并为Transaction #2创建大量的enlistment object。Enlistment是用来关联事务和资源管理器的特殊对象。当事务状态改变时,KTM就会通知相关联的资源管理器。然后为Transaction #1创建一个enlistment对象,并commit事务过程中的所有改变。

这些完成后,进入漏洞利用的第二部分。创建多个线程,并绑定到一个CPU内核中。其中创建的一个线程会循环调用 NtQueryInformationResourceManager ,第二个线程会尝试执行 NtRecoverResourceManager 1次。但是漏洞本身是在第三个漏洞中触发的。该漏洞会用 NtQueryInformationThread 执行来获取第二个线程系统调用的信息。 NtRecoverResourceManager 成功执行意味着竞争条件产生了,之后在之前创建的命名pipe上执行 WriteFile 会导致内存破坏。

CVE-2018-8611 Windows kernel事务管理器0 day漏洞分析

PoC:WriteFile执行


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

测试驱动开发

测试驱动开发

Kent Beck / 孙平平、张小龙 / 中国电力出版社 / 2004-4-1 / 28.00元

《测试驱动开发》(中文版)设想把编程看成是转动曲柄从井里提一桶水上来的过程。如果水桶比较小,那么仅需一个能自由转动的曲柄就可以了。如果水桶比较大而且装满水,那么还没等水桶全部被提上来你就会很累了。你需要一个防倒转的装置,以保证每转一次可以休息一会儿。水桶越重,防倒转的棘齿相距越近。测试驱动开发中的测试程序就是防倒转装置上的棘齿。一旦我们的某个测试程序能工作了,你就知道,它从现在开始并且以后永远都可......一起来看看 《测试驱动开发》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具