← voltar
CVE-2020-1472mediumsob ataqueransomware

Netlogon Elevation of Privilege Vulnerability

100Vexday Risk Score

Corrija agora. Ela está sob exploração confirmada pelo CISA, tem exploit funcional público e 6 grupo(s) de ameaça a utilizam.

ssvc Actcvss 5.5epss 100%
da publicação à arma0 dias
Publicada no NVD17 de ago.
1ª PoC9 de ago.
CISA KEV+443d
probabilidade de exploração
100%top 1% das CVEs
exploração observada
simCISA + VulnCheck
6 grupo(s)152 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2022-05-03

Apply updates per vendor instructions.

Resumo

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.

Detalhamento 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.

Como é explorada

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.

Versões

Afetadas
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'.
Corrigidas em
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.

Como se proteger

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.

Como 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.

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.
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/49071não 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/b41f543131ccnão verificadocve_referencepacketstormsecurity.com/files/159190/Zerologon-Proof-Of-Concept.htmlnão verificadocve_referencepacketstormsecurity.com/files/160127/Zerologon-Netlogon-Privilege-Escalation.htmlnão verificadovulncheckvulncheck.com/xdb/819d8120f6b4não verificadovulncheckvulncheck.com/xdb/22611416152enão verificadovulncheckvulncheck.com/xdb/c5fc872daa6anão verificadovulncheckvulncheck.com/xdb/25c4330dd5bcnão verificadovulncheckvulncheck.com/xdb/945ac6f44b35não verificadovulncheckvulncheck.com/xdb/8240eab3ecbanão verificadovulncheckvulncheck.com/xdb/3ce5076013bbnão verificadovulncheckvulncheck.com/xdb/141011b9f610não verificadovulncheckvulncheck.com/xdb/f31d61268a71não verificadovulncheckvulncheck.com/xdb/0f6d43740f56não verificadovulncheckvulncheck.com/xdb/aab99fa8bb77não verificadovulncheckvulncheck.com/xdb/ef4224f7e535não verificadovulncheckvulncheck.com/xdb/4266c54f6888não verificadovulncheckvulncheck.com/xdb/6f61ec3202abnão verificadovulncheckvulncheck.com/xdb/082957aab268não verificadovulncheckvulncheck.com/xdb/907edaa608a7não verificadovulncheckvulncheck.com/xdb/cf64e2ea741fnão verificadovulncheckvulncheck.com/xdb/baa1d498a5f5não verificadovulncheckvulncheck.com/xdb/6869949be286não verificadovulncheckvulncheck.com/xdb/21a822495611não verificadovulncheckvulncheck.com/xdb/b802c327864bnão verificadovulncheckvulncheck.com/xdb/7e3fb5cd52b5não verificadovulncheckvulncheck.com/xdb/d5db0229692dnão verificadovulncheckvulncheck.com/xdb/273d08fc4891não verificadovulncheckvulncheck.com/xdb/4cc91a55dad4não verificadovulncheckvulncheck.com/xdb/b3e7553472c0não verificadovulncheckvulncheck.com/xdb/d3b02f321a67não verificadovulncheckvulncheck.com/xdb/11534d8099c0não verificadovulncheckvulncheck.com/xdb/f6d507143d13não verificadovulncheckvulncheck.com/xdb/fc4cb42e3317não verificadovulncheckvulncheck.com/xdb/20af17b721b6não verificadovulncheckvulncheck.com/xdb/614d9bc21087não verificadovulncheckvulncheck.com/xdb/dcd5b16f0af2não verificadovulncheckvulncheck.com/xdb/47718882bf35não verificadovulncheckvulncheck.com/xdb/1b38ed7bf92enão verificadovulncheckvulncheck.com/xdb/5ec098e97c2bnão verificadovulncheckvulncheck.com/xdb/5063a30af753não verificadovulncheckvulncheck.com/xdb/65af2cf69e5fnão verificadovulncheckvulncheck.com/xdb/cc70b2cf77c2não verificadovulncheckvulncheck.com/xdb/44550fddd054não verificadovulncheckvulncheck.com/xdb/983f39e3a57enão verificadovulncheckvulncheck.com/xdb/d4088276b3d3não verificadovulncheckvulncheck.com/xdb/de09f764488anão verificadovulncheckvulncheck.com/xdb/0878132c0998não verificadovulncheckvulncheck.com/xdb/7a9717baaae0não verificadovulncheckvulncheck.com/xdb/992b98c5b3a6não verificadovulncheckvulncheck.com/xdb/743025db6559não verificadovulncheckvulncheck.com/xdb/85bb14853591não verificadovulncheckvulncheck.com/xdb/ec3302cc4035não verificadovulncheckvulncheck.com/xdb/1561d5b8edd9não verificadovulncheckvulncheck.com/xdb/2b2746cff079não verificadovulncheckvulncheck.com/xdb/15295a0728a1não verificadovulncheckvulncheck.com/xdb/91a82e32aebbnão verificadovulncheckvulncheck.com/xdb/f2386616a5f6não verificadovulncheckvulncheck.com/xdb/dd4ae8009961não verificadovulncheckvulncheck.com/xdb/ffa521c6d50dnão verificadovulncheckvulncheck.com/xdb/a89dd51de0e3não verificadovulncheckvulncheck.com/xdb/7d0ea12835e6não verificadovulncheckvulncheck.com/xdb/9da3143dc5c2não verificadovulncheckvulncheck.com/xdb/a1b9b1f814a4não verificadovulncheckvulncheck.com/xdb/e6e9f7eb96c4não verificadovulncheckvulncheck.com/xdb/981d68eb93dcnão verificadovulncheckvulncheck.com/xdb/869e2256552cnão verificadovulncheckvulncheck.com/xdb/e4924536cdc3não verificadovulncheckvulncheck.com/xdb/56246df0d671não verificadovulncheckvulncheck.com/xdb/3b5ca9efeca2não verificadovulncheckvulncheck.com/xdb/ded3b5e316denão verificadovulncheckvulncheck.com/xdb/295e771989c2não verificadovulncheckvulncheck.com/xdb/353c73914cecnão verificadovulncheckvulncheck.com/xdb/f88c04d9cebcnão verificadovulncheckvulncheck.com/xdb/6e88a70c6522não verificadovulncheckvulncheck.com/xdb/3a3831402e0bnão verificadovulncheckvulncheck.com/xdb/63187fa77a30não verificado
⚠ Recursos públicos, para você avaliar a exposição de sistemas que controla ou está autorizado a testar. Teste apenas com autorização.