🏢Active DirectoryGPOComplianceNetworkMonitoring

PrintNightmare, Point-and-Print, GPO Endurecimento, Active Directory: A Correção de Dois Valores que Quase Ninguém Terminou

Parar o spooler nos seus DCs removeu um alvo privilegiado e deixou o caminho de instalação de drivers aberto em todas as estações de trabalho. O PrintNightmare é uma correção de dois valores — eis a metade que a maioria dos ambientes nunca terminou.

Younes AZABARPor Younes AZABAR17 min de leitura
PrintNightmare, Point-and-Print, GPO Endurecimento, Active Directory: A Correção de Dois Valores que Quase Ninguém Terminou

PrintNightmare Point-and-Print GPO Endurecimento Active Directory: O Que Isso Cobre

Em julho de 2021, o setor convergiu para uma única instrução: parar o Print Spooler nos controladores de domínio. Esse conselho estava correto — e incompleto. O controle que realmente fecha a brecha é PrintNightmare Point-and-Print GPO Endurecimento Active Directory, e ele se resume a dois valores de registro que a maioria dos ambientes nunca auditou em conjunto. A própria orientação da Microsoft para a CVE-2021-34527 responde a duas perguntas em sequência. "Os controladores de domínio são conhecidos por serem afetados pela vulnerabilidade? Os controladores de domínio são afetados se o serviço de spooler de impressão estiver habilitado." E logo em seguida: "Sistemas cliente e servidores membros que não são controladores de domínio são conhecidos por serem afetados pela vulnerabilidade? Sim. Todas as edições do Windows são afetadas." Parar um serviço em três ou quatro DCs removeu um alvo privilegiado e deixou o caminho de instalação de drivers intacto em cada estação de trabalho e servidor membro que você possui.

PrintNightmare é o nome público da CVE-2021-34527, uma falha de execução remota de código no Print Spooler que a Microsoft classifica como Crítica, com pontuação base CVSS 3.1 de 8,8 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H). No momento da publicação, a avaliação de explorabilidade da Microsoft registrava: Publicly Disclosed: Yes; Exploited: Yes. A CISA a adicionou ao catálogo de Vulnerabilidades Conhecidas Exploradas em 03/11/2021, com prazo de remediação em 03/05/2022, e a marca com knownRansomwareCampaignUse: Known. Não se trata de um achado teórico.

Ela também é frequentemente confundida com a CVE-2021-1675, corrigida pela atualização de 8 de junho de 2021. A resposta da Microsoft no FAQ dessa CVE é direta: "Esta é a vulnerabilidade que foi publicamente chamada de PrintNightmare? Não, a Microsoft atribuiu a CVE-2021-34527 ao PrintNightmare. A CVE-2021-1675 é semelhante, mas distinta da CVE-2021-34527." Ambas constam no catálogo CISA KEV e ambas estão sinalizadas para uso conhecido em ransomware.

⚠️

⚠️ Aviso: O patch é uma pré-condição, não o controle. A Microsoft afirma claramente na KB5005010 que, após instalar a atualização, é preciso "confirmar" um estado específico de registro e de Política de Grupo. Um ambiente totalmente corrigido com a política errada continua sendo um ambiente vulnerável.

Como Funciona: Dois Valores de Registro, Um Veredito

Ambos os valores ficam sob a mesma chave, documentada na KB5005010 e na KB5005652:

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrint

ValorTipoEstado seguroO que o outro estado significa
RestrictDriverInstallationToAdministratorsREG_DWORD1, ou não definido / não presente0 permite que não administradores instalem drivers assinados e não assinados em um servidor de impressão
NoWarningNoElevationOnInstallREG_DWORD0, ou não definido1 "torna o seu sistema vulnerável por design" (MSRC)
UpdatePromptSettingsREG_DWORD0, ou não definidoValores diferentes de zero "tornam vulneráveis os dispositivos nos quais você instalou a atualização da CVE-2021-34527" (KB5005010)

A interação entre os dois primeiros é a parte que costuma passar despercebida, e a KB5005652 a documenta com precisão.

Definir RestrictDriverInstallationToAdministrators como 1 — ou deixá-lo indefinido — "exigirá privilégio de administrador para instalar qualquer driver de impressora ao usar o Point and Print. Esta chave de registro substitui todas as configurações de Política de Grupo de Restrições do Point and Print."

Defini-lo como 0 "permite que não administradores instalem drivers assinados e não assinados em um servidor de impressão, mas não substitui as configurações de Política de Grupo do Point and Print."

Ou seja, a substituição funciona apenas em um sentido. Enquanto o valor for 1, uma política de Point and Print malfeita não consegue reabrir a instalação de drivers. No momento em que alguém a define como 0 — e a KB5005652 descreve explicitamente administradores fazendo exatamente isso, "para permitir que não administradores instalem e atualizem drivers" — a GPO de Restrições do Point and Print passa a ser a única barreira entre um usuário comum e um driver instalado como SYSTEM.

O resumo da Microsoft sobre essa troca é uma frase repetida duas vezes na KB5005652: "Não existe combinação de mitigações equivalente a definir RestrictDriverInstallationToAdministrators como 1."

O padrão mudou, e as atualizações não o impõem

Duas datas importam aqui, ambas da KB5005652:

  • Atualizações lançadas em 6 de julho de 2021 ou depois vieram com padrão 0 (desabilitado) para RestrictDriverInstallationToAdministrators.
  • Atualizações lançadas em 10 de agosto de 2021 ou depois vieram com padrão 1 (habilitado).

Essa é a boa notícia. A pegadinha está no mesmo artigo: "As atualizações do Windows não definirão nem alterarão a chave de registro." Um dispositivo que teve 0 gravado explicitamente em julho ou agosto de 2021 — por um script, uma baseline ou um item de registro GPP escrito para desbloquear a impressão — mantém esse 0 em todas as atualizações cumulativas subsequentes, indefinidamente. O padrão só protege hosts em que ninguém escreveu o valor.

A Cadeia de Ataque

O caminho vulnerável é o de instalação de drivers, não o de impressão. A KB5005010 traça essa linha explicitamente: as correções "não afetam diretamente o cenário padrão de instalação de driver via Point and Print para um dispositivo cliente que está se conectando e instalando um driver para uma impressora de rede compartilhada... Esse cenário é diferente do cenário vulnerável, no qual um invasor tenta instalar um driver malicioso no próprio servidor de impressão, seja local ou remotamente."

Etapa 1 – Encontrar um host cujo spooler aceite instalação de drivers

Todo host Windows que executa spoolsv.exe é um candidato — não apenas servidores de impressão, e não apenas DCs. O próprio FAQ da Microsoft confirma que servidores membros e clientes estão no escopo. Um invasor com qualquer credencial de domínio enumera hosts em que o spooler é acessível — o que, em um parque de estações de trabalho configurado por padrão, é a maioria delas. Observe o vetor CVSS: PR:L, privilégios baixos exigidos. Uma conta de usuário padrão é suficiente.

Etapa 2 – Verificar se os avisos foram removidos

Se o alvo tiver RestrictDriverInstallationToAdministrators = 0 e NoWarningNoElevationOnInstall = 1, a instalação do driver prossegue sem um prompt de elevação. Esses são exatamente os dois valores que a KB5005010 manda confirmar, e exatamente o estado que a MSRC descreve como vulnerável por design.

Etapa 3 – Instalar o driver

O serviço de spooler "executa operações de arquivo privilegiadas de forma inadequada" (descrição da MSRC para a CVE-2021-34527). Um driver instalado por esse caminho é executado no contexto do spooler. Segundo a mesma descrição da MSRC, um invasor "poderia executar código arbitrário com privilégios SYSTEM... instalar programas; visualizar, alterar ou excluir dados; ou criar novas contas com direitos de usuário completos."

Etapa 4 – Converter SYSTEM local em alcance de domínio

SYSTEM em uma estação de trabalho é o início de uma cadeia de movimento lateral, não o fim de um incidente — contê-la é exatamente a função de uma fronteira de tier que realmente se sustenta. É por isso que a remediação restrita aos DCs é tão enganosa: um invasor não precisa do spooler do seu controlador de domínio se todo notebook do parque concede SYSTEM a qualquer usuário autenticado. Os grupos delegados que costumavam ser donos da impressão valem a pena ser auditados ao mesmo tempo — antes das atualizações de julho de 2021, segundo a KB5005010, "o grupo de segurança dos operadores de impressão podia instalar drivers de impressora assinados e não assinados em um servidor de impressão", e esses grupos de operadores carregam privilégio permanente que ninguém revisa.

🚨 Perigo: O spooler continuou produzindo bugs críticos mesmo após a correção de julho. Só em agosto de 2021 vieram a CVE-2021-36936 (Crítica, CVSS 8,8, divulgada publicamente) e a CVE-2021-36958 (Importante, CVSS 7,8, divulgada publicamente). Trate o spooler como superfície de ataque a ser removida onde for possível, não como um componente para corrigir e esquecer.

A GPO Que o Reabre Silenciosamente

Aqui está a parte que transforma um problema resolvido de volta em um problema ativo, e não é hipotética — está na própria documentação atual da Microsoft.

O Microsoft Learn publica um artigo de solução de problemas, "Point and Print Restrictions policies are ignored in Windows" (originalmente KB 2307161), para um sintoma operacional familiar: "Você aplica as políticas de Restrições do Point and Print. Um usuário padrão tenta instalar uma impressora de rede. Nesse cenário, as políticas de Restrições do Point and Print são ignoradas, e o usuário é solicitado a fornecer credenciais administrativas."

A causa declarada já é, por si só, um achado útil: "O Windows ignora as políticas de Restrições do Point and Print quando elas são implementadas no contexto de política de usuário." A política foi movida de User Configuration\Policies\Administrative Templates\Control Panel\Printers para Computer Configuration\Policies\Administrative Templates\Printers. Se a sua auditoria lê o local do lado do usuário, você está lendo uma configuração que o Windows descarta.

Mas leia as etapas de resolução. Em "Como permitir que os usuários se conectem apenas a servidores de impressão específicos e confiáveis", o artigo instrui: "Na caixa When installing drivers for a new connection, selecione Do not show warning or elevation prompt." E a observação final vai mais longe: "você pode desabilitar as mensagens de aviso e os prompts de elevação da instalação de driver desabilitando completamente as políticas de Restrições do Point and Print. Essa ação desabilita a segurança aprimorada de instalação de driver de impressora."

Essa orientação é o espelho da KB5005010, que manda definir as duas caixas de prompt como "Show warning and elevation prompt", de modo que os valores de confirmação fiquem NoWarningNoElevationOnInstall = 0 e UpdatePromptSettings = 0. Uma página da Microsoft endurece os prompts; outra, ainda com data de revisão em 2026, conduz um administrador a desligá-los para fazer a implantação de impressoras funcionar.

Ninguém precisa agir de má-fé para que isso aconteça. Um chamado de helpdesk relata que os usuários não conseguem adicionar a impressora do terceiro andar. Alguém encontra o artigo de solução de problemas, define o prompt como "Do not show warning or elevation prompt" e vincula a GPO. A impressão funciona. Seis meses depois, o ambiente está de volta à configuração que a MSRC chama de vulnerável por design, e nenhum ciclo de patch jamais sinalizará isso — porque os hosts estão totalmente corrigidos. Essa é a mesma classe de deriva que torna as configurações incorretas de GPO um vetor de ataque tão duradouro.

O veredito da KB5005010 sobre o estado combinado não deixa margem para interpretação: se os valores de registro estiverem em 0/indefinidos e a GPO de Restrições do Point and Print estiver não configurada, "então você não está vulnerável à CVE-2021-34527 e nenhuma outra ação é necessária. Se qualquer uma das condições não for verdadeira, você está vulnerável."

Detecção

A detecção aqui tem duas metades: capturar a tentativa de exploração no log de eventos e capturar o desvio de configuração antes que alguém tente.

Detecção no log de eventos

A análise da equipe de pesquisa de ameaças da Splunk, I Pity the Spool: Detecting PrintNightmare CVE-2021-34527, documenta os canais e IDs de evento que vale a pena ingerir:

IndicadorID de EventoCanalO que informa
Adição de um driver de impressora316Microsoft-Windows-PrintService/OperationalRegistra o driver adicionado e as DLLs referenciadas — o artefato direto do caminho de instalação de drivers
Falha do Print Spooler ao carregar um módulo de plug-in808Microsoft-Windows-PrintService/AdminDispara em tentativas de carregamento malsucedidas, onde surgem as explorações sem êxito
Falha de carregamento de módulo de plug-in (variante)4909Microsoft-Windows-PrintService/AdminMesma classe de falha, registrada em algumas builds sob este ID
DLL gravada em spool\drivers\x64\n/a (eventos de arquivo/imagem)Sysmon ImageLoaded / CallTracespoolsv.exe gravando ou carregando DLLs a partir do caminho de spool de drivers

O ponto operacional, nas palavras da própria Splunk, é que "os logs do serviço de impressão podem não estar habilitados por padrão." Um alerta que você nunca escreveu porque o canal estava vazio não é uma detecção. Verifique e habilite o canal — /e:<Enabled> no wevtutil set-log "habilita ou desabilita um log", segundo a referência do wevtutil:

wevtutil gl Microsoft-Windows-PrintService/Operational
wevtutil sl Microsoft-Windows-PrintService/Operational /e:true

Se você está ampliando a cobertura de logs de forma mais geral, o mesmo raciocínio vale para todo canal que suas detecções pressupõem existir — veja as categorias de política de auditoria que ninguém habilita antes de precisar dos logs e os IDs de evento de segurança do AD que realmente importam.

Detecção de configuração

Essa é a metade de maior retorno, porque encontra a exposição, não a exploração. Leia os três valores em cada host. A ausência da chave é o estado seguro em atualizações a partir de 10 de agosto de 2021, portanto um retorno vazio com -ErrorAction SilentlyContinue é uma aprovação, não um erro:

$key = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrint'
Get-ItemProperty -Path $key -ErrorAction SilentlyContinue |
    Select-Object RestrictDriverInstallationToAdministrators,
                  NoWarningNoElevationOnInstall,
                  UpdatePromptSettings

Sinalize um host quando RestrictDriverInstallationToAdministrators for 0, ou quando NoWarningNoElevationOnInstall ou UpdatePromptSettings for diferente de zero. Execute contra estações de trabalho e servidores membros, não apenas servidores de impressão e DCs — esse erro de escopo é o assunto inteiro deste artigo.

Separadamente, confirme se o spooler está em execução. Este é o primeiro passo do próprio workaround da Microsoft para a CVE-2021-34527:

Get-Service -Name Spooler

Em controladores de domínio especificamente, um spooler em execução é um achado próprio, independente da política de instalação de drivers — coberto em nossa checklist de higiene de rede de controladores de domínio.

Remediation

💡

💡 Dica: Nenhuma das duas alterações de registro abaixo exige reinicialização. KB5005652: "Nenhuma reinicialização é necessária ao criar ou modificar este valor de registro." KB5005010: "Esta alteração de política não exige reinicialização do dispositivo ou do serviço de spooler de impressão após aplicar essas configurações."

1. Defina RestrictDriverInstallationToAdministrators como 1 em todos os lugares. Este é o controle mais forte isoladamente, e o que substitui todo o resto. O comando abaixo é citado literalmente da KB5005652 e deve ser executado em um prompt elevado:

reg add "HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint" /v RestrictDriverInstallationToAdministrators /t REG_DWORD /d 1 /f

2. Prefira a via de Política de Grupo para escala de parque. Após instalar atualizações lançadas em 12 de outubro de 2021 ou depois, a KB5005652 documenta uma política nativa: vá a Computer Configuration > Administrative Templates > Printers e defina Limits print driver installation to Administrators como "Habilitado". A Microsoft afirma que isso "definirá o valor de registro de RestrictDriverInstallationToAdministrators como 1."

3. Corrija a política de Restrições do Point and Print no escopo de Computador. Segundo a KB5005010, em Computer Configuration > Administrative Templates > Printers, defina Point and Print Restrictions como "Habilitado" e, em seguida, defina tanto When installing drivers for a new connection quanto When updating drivers for an existing connection como "Show warning and elevation prompt". Depois, verifique se NoWarningNoElevationOnInstall = 0 e UpdatePromptSettings = 0. Configurar isso "não desabilita o recurso Point and Print" — a impressão continua funcionando.

4. Audite a armadilha do escopo de usuário. Como o Windows ignora essas políticas no contexto de política de usuário, verifique se alguma GPO legada ainda as define em User Configuration\Policies\Administrative Templates\Control Panel\Printers e está lhe dando uma falsa sensação de segurança.

5. Se você realmente não puder usar o padrão, combine as mitigações parciais — e saiba que elas são parciais. A KB5005652 as lista para ambientes que precisam operar com RestrictDriverInstallationToAdministrators = 0, repetindo que nenhuma combinação equivale a defini-lo como 1:

  • Verifique se RpcAuthnLevelPrivacyEnabled é 1 ou não está definido em HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print. Este é o modo de imposição da CVE-2021-1678, documentada na KB4599464; sua fase de imposição começou em 14 de setembro de 2021, e um valor 0 é documentado como "Não recomendado... seus dispositivos não estão protegidos."
  • Habilite Users can only point and print to these servers na política de Restrições do Point and Print e liste os servidores de impressão confiáveis pelo nome totalmente qualificado, separados por ponto e vírgula.
  • Habilite Package Point and Print - Approved servers para restringir os clientes a drivers com reconhecimento de pacote de servidores nomeados.

6. Remova o spooler onde ele não for necessário. O workaround da MSRC para a CVE-2021-34527 continua válido, e em um controlador de domínio a resposta costuma ser remover o serviço por completo:

Stop-Service -Name Spooler -Force
Set-Service -Name Spooler -StartupType Disabled

Se você precisa de impressão local, mas não de serviço de impressão de entrada, a Opção 2 da MSRC é desabilitar a política "Allow Print Spooler to accept client connections" em Computer Configuration / Administrative Templates / Printers. Diferentemente das alterações de registro acima, "é necessário reiniciar o serviço de spooler de impressão para que a política de grupo entre em vigor."

⚠️

⚠️ Aviso: Sequencie suas atualizações. Segundo a KB5005652, antes de instalar em servidores de impressão as atualizações lançadas em 14 de setembro de 2021 ou depois, os clientes de impressão já precisam ter uma atualização lançada em 12 de janeiro de 2021 ou depois — caso contrário, esses clientes deixarão de imprimir. Se os usuários forem solicitados a fornecer credenciais em todo trabalho de impressão, em vez de apenas na instalação de driver, a KB5005652 atribui isso a um problema de fuso horário corrigido pelas atualizações de 12 de outubro de 2021, ou a uma incompatibilidade de nome/versão de arquivo de driver entre o cliente e o servidor de impressão.

Onde isso se encaixa em uma fila de remediação mais ampla está coberto em nosso guia sobre o que bloquear primeiro no Active Directory e como validar isso, e no passo a passo mais amplo sobre como auditar a segurança do Active Directory e comprovar a remediação.

Como o EtcSec Detecta Isso

O EtcSec verifica essa configuração como três achados distintos, porque eles falham de forma independente e são corrigidos por equipes diferentes.

PRINTNIGHTMARE_VULNERABLE (Crítico) avalia se o prompt de elevação está desabilitado em toda a GPO — o estado de NoWarningNoElevationOnInstall — em vez de depender apenas do nível de patch. PA038_POINT_AND_PRINT_ELEVATION_OFF (Alto) lê o mesmo valor de registro pela lente de conformidade ANSSI PA-038: falha quando nenhuma GPO no escopo impõe a elevação, sinalizando exatamente a configuração que a MSRC descreve como vulnerável por design. DC_SPOOLER_ACCESSIBLE (Alto) cobre o problema mais restrito e conhecido de um Print Spooler ainda em execução em um controlador de domínio.

O motivo de os três existirem é a lacuna com a qual este artigo começou. Um ambiente pode passar na verificação de DC e falhar nas outras duas — spooler parado em quatro controladores de domínio, prompts de elevação desabilitados em quatro mil estações de trabalho. O etc-collector lê os valores efetivos a partir do escopo de Computer Configuration (Machine\Registry.pol) em todo host dentro do escopo, de modo que uma política que o Windows ignora silenciosamente no contexto de usuário não é lida como conforme.

ℹ️

ℹ️ Nota: O EtcSec verifica automaticamente essa vulnerabilidade em toda auditoria de AD/Azure. Execute uma auditoria gratuita para verificar o seu ambiente.

Fontes

Cada afirmação técnica acima é extraída das seguintes fontes, cada uma verificada contra a fonte ao vivo:

Explore as paginas de identidade que sustentam este tema