Windows 10 X64本地提权漏洞

2018-08-27 16:41:33
漏洞曝光时间:2018-08-27漏洞风险程度:高危漏洞曝光程度:已经存在野外利用受漏洞影响操作系统以及版本: Windows 10 X64/ Windows server 2016缓解或修复方案: 建议用户安装电脑管家等终端防护软件来拦截此类攻击。漏洞描述: HRESULT SchRpcSetSecurity( [in, string] const wchar_t* sddl, //安全描述符
漏洞曝光时间:2018-08-27
漏洞风险程度:高危
漏洞曝光程度:已经存在野外利用
受漏洞影响操作系统以及版本:

Windows 10 X64/ Windows server 2016

缓解或修复方案:
建议用户安装电脑管家等终端防护软件来拦截此类攻击。
漏洞描述:

    在Windows 10的任务调度服务(Schedule)中,暴露了ITaskSchedulerService(86D35949-83C9-4044-B424-DB363231FD0C)接口,用于管理系统中已有的计划任务,例如添加计划任务、重命名、控制开始、停止等等,任意用户都有权限调用这个接口。其中有这样一个方法:

HRESULT SchRpcSetSecurity(

[in, string] const wchar_t* path, //任务名字

[in, string] const wchar_t* sddl, //安全描述符

[in] DWORD flags

);

它可以用来设置一个任务的安全属性,在实现过程中,它会检测C:\Windows\Tasks目录下是不是存在同名的.job文件,如果存在,会根据传入的安全描述符修改.job文件的访问控制列表。

但它并没有检测是不是一个合法的.job文件,这里就导致了这样一个漏洞:由于任意用户都可以在C:\Windows\Tasks目录下创建文件,攻击者可以在里面创建一个硬链接,以.job结尾,链接到另外一个系统DLL,这个系统DLL攻击者没有权限修改,但是通过SchRpcSetSecurity接口,可以修改硬链接.job的访问控制列表,也就修改了对应的系统DLL的访问控制列表,从而获取到了系统DLL的完全控制权限,可以任意修改这个系统DLL的文件内容了。

在github上发布的漏洞利用程序,通过这个漏洞获取到了C:\Windows\System32\DriverStore\FileRepository\prnms003.inf_amd64_4592475aca2acf83\Amd64\PrintConfig.dll的完全控制权限,它是Windows自带的XPS文档虚拟打印机的DLL,修改了它的文件内容为自己的恶意代码,这样当启动打印一个XPS文档时,PrintConfig.dll会被打印机进程spoolsv.exe加载,恶意代码也因此被执行。由于spoolsv.exe以system权限运行,这样就实现了从任意低权限用户,提升到了system。

link:

1、https://github.com/SandboxEscaper/randomrepo

2、https://msdn.microsoft.com/en-us/library/cc248452.aspx

最新资讯