← volver
CVE-2020-1472mediumbajo ataqueransomware

Netlogon Elevation of Privilege Vulnerability

100Vexday Risk Score

Corrige ahora. Ella está bajo explotación confirmada por CISA, tiene exploit funcional público y 6 grupo(s) de amenaza la utilizan.

ssvc Actcvss 5.5epss 100%
de la publicación al arma0 días
Publicada en NVD17 ago
1ª PoC9 ago
CISA KEV+443d
probabilidad de explotación
100%top 1% de las CVE
explotación observada
CISA + VulnCheck
6 grupo(s)152 exploit(s) público(s)
Acción exigida por CISAplazo federal: 2022-05-03

Apply updates per vendor instructions.

Resumen

Zerologon é uma falha criptográfica no protocolo Netlogon Remote Protocol (MS-NRPC), usado por controladores de domínio Active Directory para autenticar contas de computador. Um atacante sem qualquer credencial, com acesso de rede a um domain controller, pode se autenticar como qualquer máquina do domínio — inclusive como o próprio DC — e a partir daí zerar a senha da conta de computador do DC, abrindo caminho para admin de domínio completo. O CVSS 5.5 informado aqui reflete apenas um vetor específico e subestima o impacto real; o próprio MSRC classificou a falha original como crítica (9.3) e a CISA a mantém no catálogo KEV por exploração ativa confirmada, inclusive por operadores de ransomware.

Detalle técnico

A causa é uso indevido de AES-CFB8 na função ComputeNetlogonCredential do MS-NRPC: o protocolo usa um vetor de inicialização (IV) fixo, de 16 bytes zero, em toda autenticação de conta de computador. AES-CFB8 só é seguro com IV aleatório e único por sessão; com IV zero e uma mensagem toda de zeros (challenge e credential escolhidos pelo atacante como zero), há 1 chance em 256 de o texto cifrado resultante também sair todo zero — condição em que a autenticação é aceita como válida. Isso corresponde a um CWE-330 (uso de valor insuficientemente aleatório) na camada criptográfica do protocolo, não a um bug de implementação: qualquer stack que siga a especificação MS-NRPC corretamente reproduz a falha, o que inclui o Samba.

A pesquisa da Secura (Tom Tervoort) que descobriu a falha demonstrou que, repetindo a tentativa de autenticação um número pequeno de vezes (estatisticamente, em torno de algumas centenas), o atacante eventualmente acerta a combinação e é autenticado como o computador de sua escolha — incluindo a conta de máquina do domain controller. A partir desse ponto, o atacante controla os parâmetros das chamadas RPC subsequentes no canal Netlogon, o que basta para invocar operações privilegiadas de gerenciamento de conta de máquina.

O atacante não controla dados de aplicação nem precisa de qualquer credencial prévia: controla apenas os campos client challenge e client credential enviados nas chamadas NetrServerReqChallenge/NetrServerAuthenticate3, que ele pode fixar em zero à vontade.

Cómo se explota

O vetor é puramente de rede: o atacante precisa apenas de conectividade RPC (interface Netlogon, tipicamente via porta 135/TCP e uma porta dinâmica de RPC) até um domain controller — não precisa estar autenticado, não precisa de interação de usuário e não depende de nenhuma configuração fora do padrão. Isso normalmente significa acesso à rede interna (segmento onde o DC está exposto), algo que um atacante já obtém após comprometer qualquer host dentro do perímetro, tornando a falha extremamente valiosa para escalação lateral e domain takeover em intrusões já em andamento.

Depois de autenticar-se falsamente como conta de computador — inclusive personificando o próprio DC — o atacante pode chamar operações de troca de senha do canal Netlogon para zerar a senha da conta de máquina do DC no Active Directory. Com isso, consegue autenticar-se como o DC e extrair hashes de todas as contas do domínio (via DRSUAPI/replicação), obtendo efetivamente domain admin. A prova de conceito pública (Secura) e o módulo Metasploit tornaram a exploração trivial e amplamente automatizada; o CISA KEV registra exploração ativa, e a falha foi usada por operadores de ransomware (relatos ligados a campanhas Ryuk, entre outras) logo após a divulgação em setembro de 2020.

A complexidade técnica de descoberta foi alta (exigiu pesquisa criptográfica), mas a complexidade de exploração, uma vez publicada a PoC, é baixa: script, alguns segundos a poucos minutos de tentativas, sem necessidade de qualquer credencial válida.

Versiones

Afectadas
Microsoft Windows Server 2008 R2 Service Pack 1 (e Server Core); Windows Server 2012 (e Server Core); Windows Server 2012 R2 (e Server Core); Windows Server 2016 (e Server Core) — sem as atualizações de segurança de agosto de 2020 e sem o modo de imposição (enforcement) habilitado. Implementações de terceiros do protocolo MS-NRPC, como o Samba atuando como controlador de domínio Active Directory, também são afetadas quando não configuradas com 'server schannel = yes'.
Corregidas en
Atualizações de segurança da Microsoft de agosto de 2020 (fase 1, que adicionam suporte a RPC seguro e logging) combinadas com o enforcement mode habilitado — automático a partir de 9 de fevereiro de 2021 (fase 2) — corrigem a falha nas versões de Windows Server listadas. Para Samba, a correção está disponível a partir das versões corrigidas por cada branch suportada (ex.: 4.12.7 conforme atualização Fedora 32; Debian 9 'stretch' corrigido em samba 2:4.5.16+dfsg-1+deb9u3 via DLA-2463-1); além disso, garantir 'server schannel = yes' em smb.conf é necessário para proteção completa em qualquer versão.

Cómo protegerse

A correção definitiva é aplicar as atualizações da Microsoft. O rollout foi em duas fases: a fase 1 (agosto de 2020) adiciona suporte a RPC seguro obrigatório no Netlogon e passa a registrar em log conexões que usariam o comportamento vulnerável; a fase 2, com enforcement automático habilitado a partir de 9 de fevereiro de 2021, passou a exigir RPC seguro por padrão em todos os DCs, mesmo sem intervenção do administrador. Ambientes ainda em Windows Server sem essas atualizações — nas versões listadas (2008 R2 SP1 até 2016, conforme afetadas) — continuam vulneráveis à técnica original de força bruta contra o handshake Netlogon.

Como paliativo antes do enforcement automático, o próprio guia da Microsoft (KB4557222, referenciado na advisory oficial) permite habilitar manualmente o modo de imposição via chave de registro específica para forçar RPC seguro em contas de computador, DCs e trusts, mas isso pode quebrar dispositivos legados (impressoras, appliances, NAS) que ainda usam Netlogon sem canal seguro — nesses casos é preciso mapear e atualizar/substituir esses dispositivos ou adicioná-los a exceções explícitas, o que tem custo operacional real. Para ambientes com Samba atuando como DC, a mitigação equivalente é garantir 'server schannel = yes' em smb.conf — padrão desde Samba 4.8 (2018), mas ambientes com 'server schannel = auto' ou versões antigas continuam expostos e devem corrigir a configuração imediatamente, além de atualizar para uma versão com o patch (ex.: 4.12.7 e correspondentes em outras branches, conforme distribuições aplicaram).

O que não funciona como mitigação: apenas monitorar ou logar não impede a exploração — a fase 1 registra tentativas mas não bloqueia por padrão até a fase 2/enforcement. Segmentação de rede que não isole completamente o acesso RPC ao DC também não é suficiente, já que qualquer host com rota até a porta de RPC do controlador de domínio pode tentar a exploração.

Cómo detectar

No log de eventos do sistema dos domain controllers, após a atualização de agosto de 2020, ficam registradas tentativas de conexão Netlogon que usariam o comportamento vulnerável (conforme o guia oficial referenciado na advisory), permitindo distinguir dispositivos legados incompatíveis de tentativas de ataque. Em tráfego de rede, o padrão característico é um volume anômalo de chamadas RPC repetidas contra a interface Netlogon do DC (NetrServerReqChallenge / NetrServerAuthenticate3) partindo de um mesmo host em curto intervalo de tempo — comportamento incomum para autenticação legítima de máquina, que normalmente ocorre uma vez por sessão. Não há uma assinatura de payload único a procurar, já que o ataque manipula apenas campos criptográficos zerados em chamadas RPC estruturalmente válidas; a detecção depende de análise de frequência/comportamento, não de matching de conteúdo.

Investigado y redactado con IA a partir del advisory del fabricante y análisis públicos, con las fuentes citadas. Verifica siempre la versión corregida en el advisory oficial antes de actuar.
An elevation of privilege vulnerability exists when an attacker establishes a vulnerable Netlogon secure channel connection to a domain controller, using the Netlogon Remote Protocol (MS-NRPC). An attacker who successfully exploited the vulnerability could run a specially crafted application on a device on the network. To exploit the vulnerability, an unauthenticated attacker would be required to use MS-NRPC to connect to a domain controller to obtain domain administrator access. Microsoft is addressing the vulnerability in a phased two-part rollout. These updates address the vulnerability by modifying how Netlogon handles the usage of Netlogon secure channels. For guidelines on how to manage the changes required for this vulnerability and more information on the phased rollout, see How to manage the changes in Netlogon secure channel connections associated with CVE-2020-1472 (updated September 28, 2020). When the second phase of Windows updates become available in Q1 2021, customers will be notified via a revision to this security vulnerability. If you wish to be notified when these updates are released, we recommend that you register for the security notifications mailer to be alerted of content changes to this advisory. See Microsoft Technical Security Notifications.
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N/E:P/RL:O/RC:C
PoCs públicas encontradas152
exploitdbwww.exploit-db.com/exploits/49071no verificadogithubgithub.com/bvcyber/CVE-2020-14721824githubgithub.com/dirkjanm/CVE-2020-14721313githubgithub.com/risksense/zerologon700githubgithub.com/VoidSec/CVE-2020-1472396githubgithub.com/bb00/zer0dump180githubgithub.com/mstxq17/cve-2020-1472112githubgithub.com/Rvn0xsy/ZeroLogon84githubgithub.com/zeronetworks/zerologon61githubgithub.com/k8gege/CVE-2020-1472-EXP58githubgithub.com/cube0x0/CVE-2020-147238githubgithub.com/Privia-Security/ADZero22githubgithub.com/sho-luv/zerologon18githubgithub.com/WiIs0n/Zerologon_CVE-2020-147211githubgithub.com/B34MR/zeroscan11githubgithub.com/sv3nbeast/CVE-2020-147210githubgithub.com/thatonesecguy/zerologon-CVE-2020-14728githubgithub.com/YossiSassi/ZeroLogon-Exploitation-Check7githubgithub.com/striveben/CVE-2020-14725githubgithub.com/CPO-EH/CVE-2020-1472_ZeroLogonChecker5githubgithub.com/NAXG/CVE-2020-14724githubgithub.com/guglia001/MassZeroLogon3githubgithub.com/mods20hh/ZeroLogon-PoC-DC-Pwn3githubgithub.com/Akash7350/CVE-2020-14722githubgithub.com/shanfenglan/cve-2020-14722githubgithub.com/wrathfulDiety/zerologon2githubgithub.com/rhymeswithmogul/Set-ZerologonMitigation2githubgithub.com/whoami-chmod777/Zerologon-Attack-CVE-2020-1472-POC2githubgithub.com/0xkami/CVE-2020-14722githubgithub.com/CanciuCostin/CVE-2020-14722githubgithub.com/0xcccc666/cve-2020-1472_Tool-collection2githubgithub.com/Anonymous-Family/Zero-day-scanning1githubgithub.com/jiushill/CVE-2020-14721githubgithub.com/McKinnonIT/zabbix-template-CVE-2020-14721githubgithub.com/Fa1c0n35/SecuraBV-CVE-2020-14721githubgithub.com/midpipps/CVE-2020-1472-Easy1githubgithub.com/hell-moon/ZeroLogon-Exploit1githubgithub.com/murataydemir/CVE-2020-14721githubgithub.com/npocmak/CVE-2020-14721githubgithub.com/b1ack0wl/CVE-2020-14721githubgithub.com/mingchen-script/CVE-2020-1472-visualizer1githubgithub.com/Udyz/Zerologon1githubgithub.com/TheJoyOfHacking/dirkjanm-CVE-2020-14721githubgithub.com/t31m0/CVE-2020-14720githubgithub.com/grupooruss/CVE-2020-14720githubgithub.com/carlos55ml/zerologon0githubgithub.com/Fa1c0n35/CVE-2020-1472-02-0githubgithub.com/Tobey123/CVE-2020-1472-visualizer0githubgithub.com/Anonymous-Family/CVE-2020-14720githubgithub.com/itssmikefm/CVE-2020-14720githubgithub.com/maikelnight/zerologon0githubgithub.com/Ken-Abruzzi/cve-2020-14720githubgithub.com/puckiestyle/CVE-2020-14720githubgithub.com/TheJoyOfHacking/SecuraBV-CVE-2020-14720githubgithub.com/SaharAttackit/CVE-2020-14720githubgithub.com/likeww/MassZeroLogon0githubgithub.com/logg-1/0logon0githubgithub.com/TuanCui22/ZerologonWithImpacket-CVE2020-14720githubgithub.com/PakwanSK/Simulating-and-preventing-Zerologon-CVE-2020-1472-vulnerability-attacks.0githubgithub.com/tdevworks/CVE-2020-1472-ZeroLogon-Demo-Detection-Mitigation0githubgithub.com/100HnoMeuNome/ZeroLogon-CVE-2020-1472-lab0githubgithub.com/abdullah50i/internal-penetration-testing-project-using-Metasploit0githubgithub.com/commit2main/zerologon-lab0githubgithub.com/nyambiblaise/Domain-Controller-DC-Exploitation-with-Metasploit-Impacket0githubgithub.com/victim10wq3/CVE-2020-14720githubgithub.com/Whippet0/CVE-2020-14720githubgithub.com/blackh00d/zerologon-poc0githubgithub.com/JolynNgSC/Zerologon_CVE-2020-14720githubgithub.com/metehangelgi/CVE-2020-1472-LAB0githubgithub.com/Fa1c0n35/CVE-2020-14720githubgithub.com/JayP232/The_big_Zero0githubgithub.com/FaFcFF41/CVE-2020-14720githubgithub.com/c3rrberu5/ZeroLogon-to-Shell0githubgithub.com/dr4g0n23/CVE-2020-14720githubgithub.com/hectorgie/CVE-2020-14720githubgithub.com/johnpathe/zerologon-cve-2020-1472-notes0vulncheckvulncheck.com/xdb/b41f543131ccno verificadocve_referencepacketstormsecurity.com/files/159190/Zerologon-Proof-Of-Concept.htmlno verificadocve_referencepacketstormsecurity.com/files/160127/Zerologon-Netlogon-Privilege-Escalation.htmlno verificadovulncheckvulncheck.com/xdb/819d8120f6b4no verificadovulncheckvulncheck.com/xdb/22611416152eno verificadovulncheckvulncheck.com/xdb/c5fc872daa6ano verificadovulncheckvulncheck.com/xdb/25c4330dd5bcno verificadovulncheckvulncheck.com/xdb/945ac6f44b35no verificadovulncheckvulncheck.com/xdb/8240eab3ecbano verificadovulncheckvulncheck.com/xdb/3ce5076013bbno verificadovulncheckvulncheck.com/xdb/141011b9f610no verificadovulncheckvulncheck.com/xdb/f31d61268a71no verificadovulncheckvulncheck.com/xdb/0f6d43740f56no verificadovulncheckvulncheck.com/xdb/aab99fa8bb77no verificadovulncheckvulncheck.com/xdb/ef4224f7e535no verificadovulncheckvulncheck.com/xdb/4266c54f6888no verificadovulncheckvulncheck.com/xdb/6f61ec3202abno verificadovulncheckvulncheck.com/xdb/082957aab268no verificadovulncheckvulncheck.com/xdb/907edaa608a7no verificadovulncheckvulncheck.com/xdb/cf64e2ea741fno verificadovulncheckvulncheck.com/xdb/baa1d498a5f5no verificadovulncheckvulncheck.com/xdb/6869949be286no verificadovulncheckvulncheck.com/xdb/21a822495611no verificadovulncheckvulncheck.com/xdb/b802c327864bno verificadovulncheckvulncheck.com/xdb/7e3fb5cd52b5no verificadovulncheckvulncheck.com/xdb/d5db0229692dno verificadovulncheckvulncheck.com/xdb/273d08fc4891no verificadovulncheckvulncheck.com/xdb/4cc91a55dad4no verificadovulncheckvulncheck.com/xdb/b3e7553472c0no verificadovulncheckvulncheck.com/xdb/d3b02f321a67no verificadovulncheckvulncheck.com/xdb/11534d8099c0no verificadovulncheckvulncheck.com/xdb/f6d507143d13no verificadovulncheckvulncheck.com/xdb/fc4cb42e3317no verificadovulncheckvulncheck.com/xdb/20af17b721b6no verificadovulncheckvulncheck.com/xdb/614d9bc21087no verificadovulncheckvulncheck.com/xdb/dcd5b16f0af2no verificadovulncheckvulncheck.com/xdb/47718882bf35no verificadovulncheckvulncheck.com/xdb/1b38ed7bf92eno verificadovulncheckvulncheck.com/xdb/5ec098e97c2bno verificadovulncheckvulncheck.com/xdb/5063a30af753no verificadovulncheckvulncheck.com/xdb/65af2cf69e5fno verificadovulncheckvulncheck.com/xdb/cc70b2cf77c2no verificadovulncheckvulncheck.com/xdb/44550fddd054no verificadovulncheckvulncheck.com/xdb/983f39e3a57eno verificadovulncheckvulncheck.com/xdb/d4088276b3d3no verificadovulncheckvulncheck.com/xdb/de09f764488ano verificadovulncheckvulncheck.com/xdb/0878132c0998no verificadovulncheckvulncheck.com/xdb/7a9717baaae0no verificadovulncheckvulncheck.com/xdb/992b98c5b3a6no verificadovulncheckvulncheck.com/xdb/743025db6559no verificadovulncheckvulncheck.com/xdb/85bb14853591no verificadovulncheckvulncheck.com/xdb/ec3302cc4035no verificadovulncheckvulncheck.com/xdb/1561d5b8edd9no verificadovulncheckvulncheck.com/xdb/2b2746cff079no verificadovulncheckvulncheck.com/xdb/15295a0728a1no verificadovulncheckvulncheck.com/xdb/91a82e32aebbno verificadovulncheckvulncheck.com/xdb/f2386616a5f6no verificadovulncheckvulncheck.com/xdb/dd4ae8009961no verificadovulncheckvulncheck.com/xdb/ffa521c6d50dno verificadovulncheckvulncheck.com/xdb/a89dd51de0e3no verificadovulncheckvulncheck.com/xdb/7d0ea12835e6no verificadovulncheckvulncheck.com/xdb/9da3143dc5c2no verificadovulncheckvulncheck.com/xdb/a1b9b1f814a4no verificadovulncheckvulncheck.com/xdb/e6e9f7eb96c4no verificadovulncheckvulncheck.com/xdb/981d68eb93dcno verificadovulncheckvulncheck.com/xdb/869e2256552cno verificadovulncheckvulncheck.com/xdb/e4924536cdc3no verificadovulncheckvulncheck.com/xdb/56246df0d671no verificadovulncheckvulncheck.com/xdb/3b5ca9efeca2no verificadovulncheckvulncheck.com/xdb/ded3b5e316deno verificadovulncheckvulncheck.com/xdb/295e771989c2no verificadovulncheckvulncheck.com/xdb/353c73914cecno verificadovulncheckvulncheck.com/xdb/f88c04d9cebcno verificadovulncheckvulncheck.com/xdb/6e88a70c6522no verificadovulncheckvulncheck.com/xdb/3a3831402e0bno verificadovulncheckvulncheck.com/xdb/63187fa77a30no verificado
⚠ Recursos públicos, para evaluar la exposición de sistemas que controlas o estás autorizado a probar. Prueba solo con autorización.