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。。。。。

918博天堂(中国游)最新官方网站

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


918博天堂(中国游)最新官方网站


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

918博天堂(中国游)最新官方网站


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

918博天堂(中国游)最新官方网站


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


918博天堂(中国游)最新官方网站 

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


修复建议


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


参考链接


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