
Preuve de concept de contournement PPL exploitant l'appel système NtUserGetWindowProcessHandle pour obtenir un handle vers des processus Windows protégés sans privilèges administrateur.
PPLwindow est une preuve de concept pour un contournement de PPL qui affecte Windows 10 1809 à Windows 11 23H2. L'appel système NtUserGetWindowProcessHandle du pilote win32kfull.sys ne vérifie pas correctement si un processus est un processus protégé sur les versions de Windows mentionnées. Cela peut être exploité pour obtenir un handle de processus avec PROCESS_QUERY_LIMITED_INFORMATION | PROCESS_VM_OPERATION | PROCESS_VM_READ | PROCESS_VM_WRITE | PROCESS_DUP_HANDLE vers un processus protégé depuis un processus non protégé.
Le processus protégé cible a besoin d'une fenêtre pour que ce contournement fonctionne. Le PoC exploite WerFaultSecure.exe et obtient PP-WinTcb. Pour ce contournement, aucun privilège administrateur n'est requis. Il a été corrigé dans Windows 11 24H2.
J'ai vu ce post de James Forshaw : https://infosec.exchange/@tiraniddo/115539156769921108 Ma première réaction a été : Attends une seconde. Je connais ça. Je l'ai déjà trouvé en 2023 avec CVE-2023-41772, mais je n'ai pas pu trouver de processus protégé comme cible valide. Donc merci à James Forshaw d'avoir trouvé une bonne cible (WerFaultSecure.exe). J'en ai parlé à Microsoft lorsque j'ai signalé CVE-2023-41772. C'est peut-être la raison pour laquelle cela a été corrigé dans Windows 11 24H2.
Pour Windows 10 1809 / Windows Server 2019, vous pouvez utiliser les binaires WerFaultSecure.exe et wer.dll de Windows 10 21H2 / Windows Server 2022. Placez les deux binaires dans un dossier et fournissez le chemin vers WerFaultSecure.exe comme premier argument de ligne de commande à PPLwindow.
