这是 Container Manager 服务中任意目录创建漏洞的 PoC。
此 PoC 未经全面测试,因此大多数时候可能甚至无法工作(但它足以让 msrc 确认该漏洞)。
为了利用此漏洞,Windows 主机上必须安装 Windows 沙盒功能。
安装 Windows 沙盒功能后,会在 c:\programdata 目录中创建一组目录。 其中一个目录是 C:\ProgramData\Microsoft\Windows\Containers\BaseImages\<GUID>\BaseLayer。 该目录的特殊之处在于,它向 Authenticated Users 组授予对所有子对象的修改权限。

如果 BaseLayer 目录为空,或其中的某些目录被删除,下次启动 Windows 沙盒时,cmimageworker.exe 进程将重新创建这些目录/文件,并且不检查符号链接,同时设置允许经过身份验证的用户修改它们的 DACL。

我创建了一个 PoC,利用此漏洞在 c:\windows\system32 目录内创建具有宽松 DACL 的 pwn 目录,如下所示:

攻击者可以通过滥用 SxS 程序集加载,利用此漏洞在具有 SYSTEM 权限的进程中执行代码。