
CVE-2021-34527 es una vulnerabilidad crítica de ejecución remota de código y escalada de privilegios local denominada "PrintNightmare".
CVE-2021-34527 es una vulnerabilidad crítica de ejecución remota de código y escalada de privilegios local denominada "PrintNightmare".
Se han publicado exploits de prueba de concepto (Python, C++) para la capacidad de ejecución remota de código, y una versión en C# para escalada de privilegios local. No había visto una implementación nativa en PowerShell puro, y quería intentar refinar y reelaborar el exploit.
Este script de PowerShell realiza escalada de privilegios local (LPE) con la técnica de ataque PrintNightmare.
Ha sido probado en Windows Server 2016 y Windows Server 2019.
Añadir un nuevo usuario al grupo de administradores locales por defecto:
Invoke-Nightmare # add user `adm1n`/`P@ssw0rd` in the local admin group by default
Invoke-Nightmare -DriverName "Xerox" -NewUser "K1LL9" -NewPassword "SuperSecure1o1"
Proporcione un payload DLL personalizado para hacer cualquier otra cosa que desee.
Import-Module .\cve-2021-34527.ps1
Invoke-Nightmare -DLL "C:\absolute\path\to\your\bindshell.dll"
La técnica LPE no necesita funcionar con RPC o SMB remotos, ya que solo trabaja con las funciones de Print Spooler. Este script incrusta un payload comprimido con GZIP codificado en Base64 para un DLL personalizado, que se parchea según sus argumentos, para añadir fácilmente un nuevo usuario al grupo de administradores locales. Este script incrusta métodos de PowerSploit/PowerUp para acceder reflexivamente a las API de Win32. Este método no recorre todos los controladores de impresora para encontrar la ruta DLL adecuada -- simplemente toma el primer controlador y determina la ruta apropiada.