漏洞开发人员SandboxEscaper在微软最近一次安全更新之后的一周,放出了一个Windows操作系统的0day漏洞。该漏洞于去年8月份出现,能够使外部攻击者获取本地权限以及允许访客用户取得SYSTEM和TrustInstaller等全权限用户的文件。
格式错误的任务文件
此次漏洞出现在Task Scheduler程序中(即任务计划进程),可通过该漏洞从其他系统中倒入遗留任务。早在Windows XP时代,该任务就可以以.JOB格式存在,至今,仍然可以将其添加到新的操作系统中。
导入之后会发生什么?当Task Scheduler导入任意具有DACL(自主访问控制列表)控制权限当JOB文件时,在缺少DACL的情况下,系统会授予任何用户对文件的完全访问权限。
对此,研究人员解释,通过将遗留任务文件导入Windows 10上的任务计划进程中时,从旧系统中复制可执行文件“schtasks.exe”和“schedsvc.dll”并运行,便可导致远程过程调用(RPC)到“_SchRpcRegisterTask”中,这是一种任务调度程序服务公开向服务器注册任务的方法。
SandboxEscaper表示,这个漏洞能够让攻击者以有限权限开始,并以SYSTEM权限结束,为了证明其真实性,她放出了一段视频,演示了如何在x86的Windows系统上运行:
CERT/CC的漏洞分析师Will Dormann对此表示了肯定。他表示这是利用了Windows 10任务调度程序中的漏洞,其在旧版导入的任务上设置了SetSecurityInfo()。该漏洞调用代码一次,随后删除该文件,然后使用NTFS硬连接再次调用,指向获取使用SetSecurityInfo()破坏权限的文件。
Dormann确认了漏洞利用代码,并且表示它在2019年5月更新之后的Windows 10 x86系统上无需任何修改即可使用,成功率为100%。
若想在64位的Windows 10上实现,则需要重新编译第一个代码,但记录的结果相同,就像Server 2016和2019的区别。唯一无法复现这段代码的操作系统是Windows 8和Windows 7。
还有更多的0day
SandboxEscaper在其博客上发布,表示仍然还有四个未公开的0day漏洞,其中三个是导致代码执行本地权限升级(LPE)的漏洞,第四个则是沙盒逃逸。
目前,她似乎倾向于将0day卖给非西方的买家,并且对每个LPE开价至少60000,不过暂时对其使用的货币种类还不清楚。
“如果有非西方人想买LPE,请联系我。(仅限于Windows LPE)价格60k起。我不欠社会任何事,指向帮你致富。”
据悉,此人此前有过发布0day攻击的历史。当时其发布的第一个0day漏洞也是针对Task Scheduler的;第二个发布于2018年10月,是一个允许系统任何用户删除任何文件的漏洞;第三个发布于圣诞节前,攻击者能够通过系统访问来读取系统内任何文件;第四个则在新年前一天发布,内容是允许攻击者用任意数据覆盖系统内文件。
*参考来源:bleepingcomputer,Karunesh91编译,转载请注明来自FreeBuf.COM