← voltar
CVE-2021-42287highsob ataqueransomware

Active Directory Domain Services Elevation of Privilege Vulnerability

100Vexday Risk Score

Priorize a correção. Ela está sob exploração confirmada pelo CISA e tem prova de conceito pública.

ssvc Actcvss 7.5epss 74%
da publicação à arma31 dias
Publicada no NVD10 de nov.
1ª PoC+31d
CISA KEV+152d
probabilidade de exploração
74%top 1% das CVEs
exploração observada
simCISA + VulnCheck
10 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2022-05-02

Apply updates per vendor instructions.

Resumo

CVE-2021-42287 é a segunda metade da cadeia conhecida como 'noPac' (ou sAMAccountName spoofing), que permite a um usuário de domínio comum escalar para privilégios de Domain Admin explorando como o KDC do Active Directory resolve nomes de contas de máquina no Kerberos. Combinada com CVE-2021-42278, ela vira um dos caminhos mais diretos e confiáveis de comprometimento total de domínio já documentados, e por isso está no catálogo KEV da CISA com exploração confirmada. O impacto é crítico, mas a exploração exige que a política padrão de MachineAccountQuota (permitir que usuários comuns criem contas de computador) não tenha sido restringida — condição que existe por padrão na maioria dos domínios que nunca foi endurecida.

Detalhamento técnico

A falha (CWE-269, gestão inadequada de privilégios) está na forma como o Key Distribution Center (KDC) do Active Directory Domain Services valida a identidade de uma entidade ao montar o Privilege Attribute Certificate (PAC) durante a emissão de tickets Kerberos. Contas de computador no AD normalmente têm um sAMAccountName terminado em '$' (ex.: DC01$), o que as diferencia de contas de usuário. A vulnerabilidade irmã, CVE-2021-42278, permite renomear o sAMAccountName de uma conta de computador para um valor sem o '$', inclusive coincidindo com o nome de um Domain Controller existente (ex.: 'DC01' em vez de 'DC01$').

CVE-2021-42287 entra na segunda etapa: quando o atacante solicita um Ticket Granting Ticket (TGT) para essa conta renomeada e, em seguida, restaura o nome original da conta (ou apaga a conta de computador criada), o KDC — ao processar a requisição de ticket de serviço subsequente — falha em revalidar corretamente que a entidade referenciada no PAC ainda existe com aquele SID e nome. Isso permite que o ticket resultante seja tratado como pertencente à conta de máquina do Domain Controller original, efetivamente impersonando o próprio DC dentro do protocolo Kerberos.

O atacante controla três elementos: a criação de uma conta de computador arbitrária (via privilégio padrão de MachineAccountQuota), o valor do sAMAccountName dessa conta (renomeável para se sobrepor ao nome de um DC) e a sequência de chamadas Kerberos (S4U2Self/TGT request, rename, TGS request) que explora a janela de inconsistência entre nome e SID no KDC. Não é necessário controlar código, driver ou serviço — é abuso de lógica de protocolo, não corrupção de memória.

Como é explorada

O pré-requisito real é autenticação de domínio com qualquer conta de usuário comum — não é necessário nenhum privilégio administrativo — combinada com a configuração padrão de MachineAccountQuota (tipicamente 10 no AD out-of-the-box), que permite a qualquer usuário autenticado criar até dez objetos de computador no domínio. Sem essa cota disponível (organizações que zeraram MachineAccountQuota, prática recomendada há anos, ou que já usaram a cota), o vetor descrito não funciona diretamente, embora um atacante que já controle qualquer conta de computador existente ainda possa tentar variantes do ataque.

Na prática, o fluxo é: o atacante cria uma conta de computador, renomeia seu sAMAccountName para coincidir com o nome de um Domain Controller do ambiente (sem o sufixo '$'), solicita um TGT nesse estado, depois desfaz a renomeação (ou remove a conta), e usa o ticket resultante para pedir um Service Ticket a serviços como o próprio LDAP/DRSUAPI do domínio. O ticket obtido carrega o contexto de segurança de uma conta de máquina de DC, o que abre caminho para operações como DCSync (extração de hashes de todas as contas do domínio, incluindo krbtgt) ou emissão de tickets com privilégios equivalentes a Domain Admin.

Existem ferramentas públicas de prova de conceito amplamente distribuídas (implementações batizadas de 'noPac' e variantes construídas sobre o framework Impacket), o que reduz a complexidade prática de exploração a um nível baixo para quem já tem uma credencial de domínio válida — mesmo a de menor privilégio, como uma conta de serviço ou usuário comum comprometido por phishing. A presença no catálogo KEV da CISA confirma exploração ativa observada fora de laboratório.

Versões

Afetadas
Microsoft Windows Server 2008 Service Pack 2 (e Server Core installation); Windows Server 2008 R2 Service Pack 1 (e Server Core installation); Windows Server 2012; Windows Server 2012 R2 (e Server Core installation).
Corrigidas em
Atualizações de segurança da Microsoft referentes ao Patch Tuesday de novembro de 2021, aplicáveis a cada uma das versões listadas em versions_affected. Números de KB específicos por versão não foram confirmados nas fontes consultadas; verificar o advisory oficial da Microsoft (MSRC) para o KB correspondente à build exata em uso.

Como se proteger

A correção primária é aplicar a atualização de segurança da Microsoft de novembro de 2021 (Patch Tuesday) nos Domain Controllers das versões afetadas listadas — Windows Server 2008 SP2, 2008 R2 SP1, 2012 e 2012 R2 (incluindo instalações Server Core). A Microsoft trata essa CVE junto com CVE-2021-42278 na mesma leva de patches; aplicar apenas uma das duas atualizações não neutraliza a cadeia completa, então os dois boletins devem ser instalados em conjunto.

Se o patch não puder ser aplicado imediatamente, o controle compensatório mais eficaz e de baixo custo é reduzir o atributo ms-DS-MachineAccountQuota para 0 em nível de domínio, impedindo que usuários comuns criem novas contas de computador — isso quebra o vetor de criação de conta usado pela cadeia noPac, embora não corrija a falha de validação do KDC em si (um atacante que já controle uma conta de computador existente continua com superfície de ataque). Monitorar e auditar quem tem permissão delegada de criar objetos de computador em OUs específicas também reduz exposição residual.

Não funciona como mitigação: apenas trocar senhas de contas privilegiadas ou reforçar políticas de senha — a falha é de lógica de protocolo Kerberos/AD, não de força de credencial. Isolamento de rede também não resolve, já que a exploração ocorre via tráfego Kerberos/LDAP legítimo dentro do próprio domínio, indistinguível em nível de rede de operações normais de junção de máquina ao domínio.

Como detectar

Nos logs de segurança de Domain Controllers, procurar por sequências anômalas de Event ID 4741 (criação de conta de computador) seguidas rapidamente por Event ID 4742 (modificação de conta, especificamente alteração do atributo sAMAccountName) onde o novo nome se assemelha a um Domain Controller existente do ambiente, e depois uma reversão do nome em curto intervalo de tempo. Também vale correlacionar com Event ID 4768/4769 (emissão de TGT/TGS) associados a contas de computador criadas fora do processo normal de provisionamento de máquinas (imaging, GPO de junção ao domínio).

Não há assinatura de rede única e confiável, já que o tráfego usa Kerberos/LDAP padrão; a detecção depende quase inteiramente de correlação de eventos de auditoria do AD e de ferramentas de threat hunting específicas para AD (ex.: consultas voltadas a criação/renomeação de objetos computer fora de padrão). Ferramentas públicas de exploração (variantes 'noPac') costumam gerar esse padrão de criação-renome-renome-reverso em janela de segundos, o que é o indicador mais forte disponível.

Pesquisado e redigido com IA a partir do advisory do fornecedor e de análises públicas, com as fontes acima. Confira sempre a versão corrigida no advisory oficial antes de agir.
Active Directory Domain Services Elevation of Privilege Vulnerability
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C
⚠ Recursos públicos, para você avaliar a exposição de sistemas que controla ou está autorizado a testar. Teste apenas com autorização.