内容简介:概览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月份的更新中修复了该漏洞。
这是研究人员今年秋天以来发现的第三个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执行
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。