欢迎来到 无奈人生 安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

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

来源: 作者: 时间:2019-02-24 19:29 点击: 我要投稿
广告位API接口通信错误,查看德得广告获取帮助

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

这是研究人员今年秋天以来发现的第三个Windows本地权限提升漏洞。与之前报告的win32k.sys中的CVE-2018-8589和CVE-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操作系统最新版本的变化。

检查最新的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会导致内存破坏。

PoC:WriteFile执行
 

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

这是研究人员今年秋天以来发现的第三个Windows本地权限提升漏洞。与之前报告的win32k.sys中的CVE-2018-8589和CVE-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框架。

copyright 无奈人生


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操作系统最新版本的变化。

检查最新的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会导致内存破坏。

PoC:WriteFile执行
  无奈人生安全网

。 (责任编辑:admin)
【声明】:无奈人生安全网(http://www.wnhack.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱472701013@qq.com,我们会在最短的时间内进行处理。