
新版 cleanmgr.exe 包含对 SetProcessMitigationPolicy 函数的调用。


其中 MitigationPolicy 设置为 16,对应 ProcessRedirectionTrustPolicy。

结合微软对 CWE-59: Improper Link Resolution Before File Access ('Link Following') 的描述,我们可以推断 cleanmgr.exe 已启用 Redirection Guard。
在阅读了 Simon Zuckerbraun 和 enigma0x3 的两篇博文之后:
正如 Simon Zuckerbraun 所提到的,SilentCleanup 任务可能拥有足够的权限来删除 C:/Config.msi 文件夹。我们只需要在 SilentCleanup 任务(该任务以最高权限运行 cleanmgr.exe)内部找到一个 Arbitrary Folder Delete/Move/Rename 漏洞,并将其重定向到 C:/Config.msi 文件夹。
运行 SilentCleanup 任务并观察 cleanmgr.exe 的行为。

该进程会检查列出的文件夹是否存在(有趣的是,它不会验证 C:\ESD 是否为 junction,但会检查 Windows 和 Download——这里我们就不深入探讨了)。
创建文件夹 C:\$Windows.~WS、C:\ESD\Windows、C:\ESD\Download,向其中放入一些随机文件,重新运行 SilentCleanup 并再次观察。

我们可以看到 SilentCleanup 删除了 Windows 和 Download 文件夹中的内容。这可以利用 From Folder Contents Delete to SYSTEM EoP 中描述的技术来利用。
C:\$Windows.~WS、C:\ESD\Windows、C:\ESD\Download,放入虚拟的 .txt 文件并暂停。Config.msi。C:\ESD\Windows 重定向到 C:/Config.msi。SilentCleanup 以触发内容清理。osk.exe,然后按 Ctrl-Alt-Delete。https://github.com/user-attachments/assets/d66b43ea-6706-4bce-94c4-ca3a6e97857f