近期,研究人员在Windows任务计划程序的一个API中发现了一个安全漏洞,这个漏洞是由于API函数没有对请求权限进行检验所导致的,而该漏洞将允许任何一名本地攻击者实现提权。

Windows任务计划程序被曝存在0 day漏洞-RadeBit瑞安全

研究人员表示,这个0 day漏洞位于微软的Windows任务计划程序中,该漏洞将允许攻击者在目标主机上实现提权。

该漏洞存在于Windows 10和Windows Server 2016 64位操作系统任务计划程序的高级本地程序调用(ALPC)接口之中,这两个版本的操作系统中ALPC的API函数没有对请求权限进行正确的验证,因此任何本地攻击者都将可以对请求数据进行修改。

根据CERT发布的安全公告:“研究人员已经确认,公开的漏洞利用代码可以在64位的Windows 10和WindowsServer 2016操作系统上正常运行。除此之外,在对现有的公开漏洞利用代码进行修改之后,也有可能适用于其他版本的Windows操作系统。”

漏洞利用代码及PoC获取地址:【传送门

漏洞利用代码分析

研究人员Kevin Beaumont表示,这份漏洞利用代码利用了SchRpcSetSecurity来修改API权限,并允许攻击者创建硬链接,然后使用XPS printer来调用打印任务(从Windows XP SP2起自带该功能),最后通过Spooler进程以SYSTEM权限调用劫持的恶意DLL。

计划任务是微软Windows操作系统的一个功能,该功能允许用户设定程序的启动时间。该功能的ALPC接口实际上是Windows操作系统组件用于实现消息传输时所使用的一个进程通信功能。在这个接口中,SchRpcSetSecurity是开放访问的,因此任何人都可以不受限制地访问控制列表,这也就意味着他们可以随意设置本地文件权限。

Windows任务计划程序被曝存在0 day漏洞-RadeBit瑞安全

不过该漏洞的成功利用也有一定的限制,为了实现提权,攻击者需要是本地用户,并且需要拿到代码执行的高优先级。除此之外,如果想要将这份漏洞利用代码应用到32位操作系统上的话,还需要对代码进行一定的修改。而且该漏洞利用代码还硬编码了prnms003驱动,而类似Windows 7之类的其他版本操作系统使用的却是prnms001。

研究人员Will Dormann还表示,根据他的测试结果来看,这份漏洞利用代码还适用于最新版本的64位Windows 10操作系统。

CVSS测评系统将该漏洞的威胁评分设定为6.4至6.8分,因此该漏洞属于一个“中危漏洞”。

在本文发稿之时,该漏洞仍未修复。

* 参考来源:threatpost