
Proof-of-Concept-PPL-Bypass, der den NtUserGetWindowProcessHandle-Syscall missbraucht, um ohne Administratorrechte ein Handle auf geschützte Windows-Prozesse zu erhalten.
PPLwindow ist ein Proof-of-Concept für einen PPL-Bypass, der Windows 10 1809 bis Windows 11 23H2 betrifft. Der NtUserGetWindowProcessHandle-Syscall aus dem win32kfull.sys-Treiber prüft auf den genannten Windows-Versionen nicht ordnungsgemäß, ob ein Prozess ein geschützter Prozess ist. Dies kann ausgenutzt werden, um von einem ungeschützten Prozess aus ein Prozess-Handle mit PROCESS_QUERY_LIMITED_INFORMATION | PROCESS_VM_OPERATION | PROCESS_VM_READ | PROCESS_VM_WRITE | PROCESS_DUP_HANDLE auf einen geschützten Prozess zu erhalten.
Der Zielprozess muss über ein Fenster verfügen, damit dieser Bypass funktioniert. Der PoC nutzt WerFaultSecure.exe aus und erreicht PP-WinTcb. Für diesen Bypass sind keine Administratorrechte erforderlich. Er wurde in Windows 11 24H2 behoben.
Ich habe diesen Beitrag von James Forshaw gesehen: https://infosec.exchange/@tiraniddo/115539156769921108 Meine erste Reaktion war: Moment mal. Das kenne ich. Ich habe das bereits 2023 zusammen mit CVE-2023-41772 entdeckt, konnte aber keinen geschützten Prozess als gültiges Ziel finden. Also danke an James Forshaw für das Finden eines guten Ziels (WerFaultSecure.exe). Ich habe Microsoft darüber informiert, als ich CVE-2023-41772 gemeldet habe. Das könnte der Grund sein, warum dies in Windows 11 24H2 behoben wurde.
Für Windows 10 1809 / Windows Server 2019 können Sie die WerFaultSecure.exe- und wer.dll-Binärdateien aus Windows 10 21H2 / Windows Server 2022 verwenden. Legen Sie beide Binärdateien in einen Ordner und übergeben Sie den Pfad zu WerFaultSecure.exe als erstes Kommandozeilenargument an PPLwindow.
