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