PPLwindow 是一个 PPL 绕过技术的概念验证,影响 Windows 10 1809 至 Windows 11 23H2。来自 win32kfull.sys 驱动的 NtUserGetWindowProcessHandle 系统调用在上述 Windows 版本中未正确检查进程是否为受保护进程。这可被滥用以从未受保护的进程获取对受保护进程的进程句柄,权限包括 PROCESS_QUERY_LIMITED_INFORMATION | PROCESS_VM_OPERATION | PROCESS_VM_READ | PROCESS_VM_WRITE | PROCESS_DUP_HANDLE。
目标受保护进程需要有一个窗口,此绕过才能生效。该 PoC 利用 WerFaultSecure.exe 并实现 PP-WinTcb。此绕过不需要管理员权限。该漏洞已在 Windows 11 24H2 中修复。
我看到了 James Forshaw 的这篇帖子:https://infosec.exchange/@tiraniddo/115539156769921108 我的第一反应是:等等。我知道这个。我在 2023 年与 CVE-2023-41772 一起发现了这个问题,但未能找到有效的受保护进程作为目标。所以感谢 James Forshaw 找到了一个好的目标(WerFaultSecure.exe)。在我报告 CVE-2023-41772 时,我已告知微软此事。这可能就是它在 Windows 11 24H2 中被修复的原因。
对于 Windows 10 1809 / Windows Server 2019,你可以使用来自 Windows 10 21H2 / Windows Server 2022 的 WerFaultSecure.exe 和 wer.dll 二进制文件。将这两个二进制文件放在一个文件夹中,并将 WerFaultSecure.exe 的路径作为第一个命令行参数提供给 PPLwindow。
