CVE-2021-1675 es una vulnerabilidad crítica de ejecución remota de código y escalada de privilegios locales denominada "PrintNightmare".
Se han lanzado exploits de prueba de concepto (Python, C++) para la capacidad de ejecución remota de código y una versión de C# para la escalada de privilegios local. No habíamos visto una implementación nativa en PowerShell puro y queríamos intentar perfeccionar y rediseñar el exploit.
Este script de PowerShell realiza una escalada de privilegios local (LPE) con la técnica de ataque PrintNightmare.
Esto se ha probado en Windows Server 2016 y Windows Server 2019.
Agregue un nuevo usuario al grupo de administradores locales de forma predeterminada:
Módulo de importación .cve-2021-1675.ps1 Invoke-Nightmare # agrega el usuario `adm1n`/`P@ssw0rd` en el grupo de administración local de forma predeterminadaInvoke-Nightmare -DriverName "Xerox" -NewUser "deb" -NewPassword "SuperSecure"
Proporcione una carga útil DLL personalizada para hacer cualquier otra cosa que desee.
Módulo de importación .cve-2021-1675.ps1 Invoke-Nightmare -DLL "C:absolutepathtoyourbindshell.dll"
La técnica LPE no necesita funcionar con RPC o SMB remotos, ya que solo funciona con las funciones de Print Spooler.
Este script incorpora una carga útil codificada en Base64 con GZIP para una DLL personalizada, que se parchea según sus argumentos, para agregar fácilmente un nuevo usuario al grupo de administradores locales.
Este script incorpora métodos de PowerSploit/PowerUp para acceder de forma reflexiva 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 adecuada.