Win10外地提权0day误差清静通告

宣布时间 2018-08-29

误差编号和级别


CVE编号:无,危险级别:高,CVSS分值:官方未评定


影响版本


Windows 10 32/64位操作系统


误差概述


2018年8月27日,清静研究职员在github上宣布了最新的win10x64版的外地提权误差,并且在推特上对其提权的demo举行了演示。在github上的SandboxEscaper上有着完整的误差使用程序以及demo,并且被其他清静研究专家证实该误差可以在最近的win10上复现。


该误差的缘故原由在于win10系统的使命调理服务中有alpc的挪用接口,该接口导出了SchRpcSetSecurity函数,该函数正是本次误差使用到的函数。该函数的原型如下:


long _SchRpcSetSecurity(
[in][string] wchar_t* arg_1, //Task name
[in][string] wchar_t* arg_2, //Security Descriptor string

[in]long arg_3);


当恣意权限的用户挪用该函数时,该函数会检测 c:\windows\tasks目录下是否保存一个后缀为job的文件,若是该文件保存会向该文件写入指定的DACL数据。本次误差使用的方法即通过硬链接的方法将该job文件指定链接到特定的dll上,这样当用户挪用该函数时会向特定的dll写入数据,而特定的dll往往是系统级别的dll。在github上宣布的误差使用程序则会向printconfig.dll写入提权代码,并通过启动打印服务spoolsv.exe来执行提权代码,从而实现内核提权。


误差验证


本次复现使用了win10x64版,首先使用github上提供的误差使用工具,审查其详细用法。该误差使用工具的主要方法是通过dll注入的方法向低权限的历程注入可以实现整套提权攻击的shellcode。

尊龙凯时 - 人生就是搏!

随后使用ie浏览器举行测试时发明无法使用乐成,虽然误差使用的dll已经被写入到spoolsv.exe中,但却没有实现误差真正的效果。接下来凭证演示demo中的操作,翻开一个notepad程序,并对notepad程序举行注入。


尊龙凯时 - 人生就是搏!


随后审查spoolsv.exe下的所有子历程,发明该notepad.exe程序被spoolsv.exe程序重新翻开,和github上的误差使用的demo中的效果一致,可以确定误差使用乐成。

尊龙凯时 - 人生就是搏!


接下来审查spoolsv.exe中的第三方动态库,可以看到我们使用误差所修改的dll

尊龙凯时 - 人生就是搏!


而该dll的修改时间也显示是刚刚误差使用的时间,至此误差复现乐成。


尊龙凯时 - 人生就是搏! 

Poc:https://github.com/SandboxEscaper/randomrepo


修复建议


厂商尚未宣布相关补丁,审慎执行未经审核泉源对的程序。


参考链接


https://thehackernews.com/2018/08/windows-zero-day-exploit.html
https://github.com/SandboxEscaper/randomrepo