← back
CVE-2020-1472mediumunder attackransomware

Netlogon Elevation of Privilege Vulnerability

100Vexday Risk Score

Patch now. It under exploitation confirmed by CISA, has a working public exploit and 6 threat group(s) use it.

ssvc Actcvss 5.5epss 100%
from disclosure to weapon0 days
Published on NVDAug 17
1st PoCAug 9
CISA KEV+443d
exploitation probability
100%top 1% of all CVEs
observed exploitation
yesCISA + VulnCheck
6 group(s)152 public exploit(s)
Action required by CISAfederal deadline: 2022-05-03

Apply updates per vendor instructions.

Summary

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.

Technical detail

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.

How it’s exploited

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.

Versions

Affected
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'.
Fixed in
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.

How to protect

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.

How to detect

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.

Researched and written with AI from the vendor advisory and public analysis, with the sources above. Always confirm the fixed version in the official advisory before acting.
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
public PoCs found152
exploitdbwww.exploit-db.com/exploits/49071unverifiedgithubgithub.com/bvcyber/CVE-2020-14721824githubgithub.com/dirkjanm/CVE-2020-14721314githubgithub.com/risksense/zerologon702githubgithub.com/VoidSec/CVE-2020-1472396githubgithub.com/bb00/zer0dump180githubgithub.com/mstxq17/cve-2020-1472111githubgithub.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/B34MR/zeroscan11githubgithub.com/WiIs0n/Zerologon_CVE-2020-147211githubgithub.com/sv3nbeast/CVE-2020-147210githubgithub.com/thatonesecguy/zerologon-CVE-2020-14728githubgithub.com/YossiSassi/ZeroLogon-Exploitation-Check7githubgithub.com/CPO-EH/CVE-2020-1472_ZeroLogonChecker5githubgithub.com/striveben/CVE-2020-14725githubgithub.com/mods20hh/ZeroLogon-PoC-DC-Pwn4githubgithub.com/NAXG/CVE-2020-14724githubgithub.com/guglia001/MassZeroLogon3githubgithub.com/CanciuCostin/CVE-2020-14722githubgithub.com/shanfenglan/cve-2020-14722githubgithub.com/0xkami/CVE-2020-14722githubgithub.com/wrathfulDiety/zerologon2githubgithub.com/0xcccc666/cve-2020-1472_Tool-collection2githubgithub.com/Akash7350/CVE-2020-14722githubgithub.com/whoami-chmod777/Zerologon-Attack-CVE-2020-1472-POC2githubgithub.com/rhymeswithmogul/Set-ZerologonMitigation2githubgithub.com/Fa1c0n35/SecuraBV-CVE-2020-14721githubgithub.com/mingchen-script/CVE-2020-1472-visualizer1githubgithub.com/murataydemir/CVE-2020-14721githubgithub.com/npocmak/CVE-2020-14721githubgithub.com/b1ack0wl/CVE-2020-14721githubgithub.com/midpipps/CVE-2020-1472-Easy1githubgithub.com/Anonymous-Family/Zero-day-scanning1githubgithub.com/TheJoyOfHacking/dirkjanm-CVE-2020-14721githubgithub.com/hell-moon/ZeroLogon-Exploit1githubgithub.com/Udyz/Zerologon1githubgithub.com/McKinnonIT/zabbix-template-CVE-2020-14721githubgithub.com/jiushill/CVE-2020-14721githubgithub.com/Tobey123/CVE-2020-1472-visualizer0githubgithub.com/metehangelgi/CVE-2020-1472-LAB0githubgithub.com/JolynNgSC/Zerologon_CVE-2020-14720githubgithub.com/blackh00d/zerologon-poc0githubgithub.com/nyambiblaise/Domain-Controller-DC-Exploitation-with-Metasploit-Impacket0githubgithub.com/commit2main/zerologon-lab0githubgithub.com/abdullah50i/internal-penetration-testing-project-using-Metasploit0githubgithub.com/victim10wq3/CVE-2020-14720githubgithub.com/Fa1c0n35/CVE-2020-14720githubgithub.com/FaFcFF41/CVE-2020-14720githubgithub.com/hectorgie/CVE-2020-14720githubgithub.com/johnpathe/zerologon-cve-2020-1472-notes0githubgithub.com/t31m0/CVE-2020-14720githubgithub.com/grupooruss/CVE-2020-14720githubgithub.com/Fa1c0n35/CVE-2020-1472-02-0githubgithub.com/Whippet0/CVE-2020-14720githubgithub.com/maikelnight/zerologon0githubgithub.com/JayP232/The_big_Zero0githubgithub.com/SaharAttackit/CVE-2020-14720githubgithub.com/itssmikefm/CVE-2020-14720githubgithub.com/Anonymous-Family/CVE-2020-14720githubgithub.com/c3rrberu5/ZeroLogon-to-Shell0githubgithub.com/Ken-Abruzzi/cve-2020-14720githubgithub.com/puckiestyle/CVE-2020-14720githubgithub.com/TheJoyOfHacking/SecuraBV-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/carlos55ml/zerologon0githubgithub.com/dr4g0n23/CVE-2020-14720vulncheckvulncheck.com/xdb/b41f543131ccunverifiedvulncheckvulncheck.com/xdb/819d8120f6b4unverifiedvulncheckvulncheck.com/xdb/22611416152eunverifiedvulncheckvulncheck.com/xdb/c5fc872daa6aunverifiedvulncheckvulncheck.com/xdb/25c4330dd5bcunverifiedvulncheckvulncheck.com/xdb/945ac6f44b35unverifiedvulncheckvulncheck.com/xdb/8240eab3ecbaunverifiedvulncheckvulncheck.com/xdb/3ce5076013bbunverifiedvulncheckvulncheck.com/xdb/141011b9f610unverifiedvulncheckvulncheck.com/xdb/f31d61268a71unverifiedvulncheckvulncheck.com/xdb/0f6d43740f56unverifiedvulncheckvulncheck.com/xdb/aab99fa8bb77unverifiedvulncheckvulncheck.com/xdb/ef4224f7e535unverifiedvulncheckvulncheck.com/xdb/4266c54f6888unverifiedvulncheckvulncheck.com/xdb/6f61ec3202abunverifiedvulncheckvulncheck.com/xdb/082957aab268unverifiedvulncheckvulncheck.com/xdb/907edaa608a7unverifiedvulncheckvulncheck.com/xdb/cf64e2ea741funverifiedvulncheckvulncheck.com/xdb/baa1d498a5f5unverifiedvulncheckvulncheck.com/xdb/6869949be286unverifiedvulncheckvulncheck.com/xdb/21a822495611unverifiedvulncheckvulncheck.com/xdb/b802c327864bunverifiedvulncheckvulncheck.com/xdb/7e3fb5cd52b5unverifiedvulncheckvulncheck.com/xdb/d5db0229692dunverifiedvulncheckvulncheck.com/xdb/273d08fc4891unverifiedvulncheckvulncheck.com/xdb/4cc91a55dad4unverifiedvulncheckvulncheck.com/xdb/b3e7553472c0unverifiedvulncheckvulncheck.com/xdb/d3b02f321a67unverifiedvulncheckvulncheck.com/xdb/11534d8099c0unverifiedvulncheckvulncheck.com/xdb/f6d507143d13unverifiedvulncheckvulncheck.com/xdb/fc4cb42e3317unverifiedvulncheckvulncheck.com/xdb/20af17b721b6unverifiedvulncheckvulncheck.com/xdb/614d9bc21087unverifiedvulncheckvulncheck.com/xdb/dcd5b16f0af2unverifiedvulncheckvulncheck.com/xdb/47718882bf35unverifiedvulncheckvulncheck.com/xdb/1b38ed7bf92eunverifiedvulncheckvulncheck.com/xdb/5ec098e97c2bunverifiedvulncheckvulncheck.com/xdb/5063a30af753unverifiedvulncheckvulncheck.com/xdb/65af2cf69e5funverifiedvulncheckvulncheck.com/xdb/cc70b2cf77c2unverifiedvulncheckvulncheck.com/xdb/44550fddd054unverifiedvulncheckvulncheck.com/xdb/983f39e3a57eunverifiedvulncheckvulncheck.com/xdb/d4088276b3d3unverifiedvulncheckvulncheck.com/xdb/de09f764488aunverifiedvulncheckvulncheck.com/xdb/0878132c0998unverifiedvulncheckvulncheck.com/xdb/7a9717baaae0unverifiedvulncheckvulncheck.com/xdb/992b98c5b3a6unverifiedvulncheckvulncheck.com/xdb/743025db6559unverifiedvulncheckvulncheck.com/xdb/85bb14853591unverifiedvulncheckvulncheck.com/xdb/ec3302cc4035unverifiedvulncheckvulncheck.com/xdb/1561d5b8edd9unverifiedvulncheckvulncheck.com/xdb/2b2746cff079unverifiedvulncheckvulncheck.com/xdb/15295a0728a1unverifiedvulncheckvulncheck.com/xdb/91a82e32aebbunverifiedvulncheckvulncheck.com/xdb/f2386616a5f6unverifiedvulncheckvulncheck.com/xdb/dd4ae8009961unverifiedvulncheckvulncheck.com/xdb/ffa521c6d50dunverifiedvulncheckvulncheck.com/xdb/a89dd51de0e3unverifiedvulncheckvulncheck.com/xdb/7d0ea12835e6unverifiedvulncheckvulncheck.com/xdb/9da3143dc5c2unverifiedvulncheckvulncheck.com/xdb/a1b9b1f814a4unverifiedvulncheckvulncheck.com/xdb/e6e9f7eb96c4unverifiedvulncheckvulncheck.com/xdb/981d68eb93dcunverifiedvulncheckvulncheck.com/xdb/869e2256552cunverifiedvulncheckvulncheck.com/xdb/e4924536cdc3unverifiedvulncheckvulncheck.com/xdb/56246df0d671unverifiedvulncheckvulncheck.com/xdb/3b5ca9efeca2unverifiedvulncheckvulncheck.com/xdb/ded3b5e316deunverifiedvulncheckvulncheck.com/xdb/295e771989c2unverifiedvulncheckvulncheck.com/xdb/353c73914cecunverifiedcve_referencepacketstormsecurity.com/files/159190/Zerologon-Proof-Of-Concept.htmlunverifiedcve_referencepacketstormsecurity.com/files/160127/Zerologon-Netlogon-Privilege-Escalation.htmlunverifiedvulncheckvulncheck.com/xdb/f88c04d9cebcunverifiedvulncheckvulncheck.com/xdb/6e88a70c6522unverifiedvulncheckvulncheck.com/xdb/3a3831402e0bunverifiedvulncheckvulncheck.com/xdb/63187fa77a30unverified
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.