CVE-2020-1472 alias Zerologon Exploit POC

Cos'è?
NetLogon (MS-NRPC) può stabilire un canale di sicurezza vulnerabile per il controllo inter-dominio.
È possibile azzerare la password per l'account macchina sui controller di dominio.
Note:
- Il DC sarà semi-danneggiato mentre la password è azzerata, tuttavia questo programma ripristina la password al termine.
- Potrebbe causare problemi DNS con il DC (risolvibili con un riavvio).
- I ticket Kerberos hanno una durata di 10 ore prima della scadenza.
- Richiede l'ultima versione di impacket da GitHub con le strutture netlogon aggiunte.
- Tieni presente che per impostazione predefinita questo cambia la password dell'account di sistema del controller di dominio e poi la ripristina. Sì, questo ti consente di fare DCSync, ma rompe anche la comunicazione con gli altri controller di dominio per un breve periodo, quindi fai attenzione!
Ricerca:
Dipendenze richieste
- Richiede l'ultima versione di impacket da GitHub con le strutture netlogon aggiunte.
Verifica se vulnerabile:
- Il comportamento predefinito dello script è verificare la vulnerabilità senza modificare nulla!
Utilizzo di zerologon.py
- Leggi il blog/whitepaper sopra per sapere cosa stai facendo.
- Questo script verificherà i controller di dominio per CVE-2020-1472.
- Se viene fornita l'opzione -exploit, farà:
- Azzererà la password di sistema del controller di dominio
- Chiamerà secretsdump DRSUAPI con la password zero per ottenere gli hash ntds
- Analizzerà i dati dump per ottenere l'account amministratore di dominio con rid :500: e chiamerà di nuovo secretsdump per ottenere i segreti LSA
- Analizzerà il secondo dump per il valore plain_password_hex
- chiamerà lo script di ripristino con il valore hex per ripristinare la password di sistema del DC al valore originale
python zerologon.py
usage: zerologon.py [-h] [-exploit] dc_name dc_ip
Tests whether a domain controller is vulnerable to the Zerologon attack. Resets the DC account password to an empty string
when vulnerable.
positional arguments:
dc_name The (NetBIOS) computer name of the domain controller.
dc_ip IP Address of the domain controller.
optional arguments:
-h, --help show this help message and exit
-exploit Zero out the computer's hash
Rilevamento:
- Evento 4661 con richiesta di privilegi per SetPassword (senza conoscenza della vecchia password) (screenshot allegato)
- Evento 4723 per un tentativo di cambiare la password di un account
- Evento 4738 per un account utente modificato per il valore Password Last Set
Patch:
Sistemi interessati:
- Windows Server 2008 R2 for x64-based Systems Service Pack 1
- Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)
- Windows Server 2012
- Windows Server 2012 (Server Core installation)
- Windows Server 2012 R2
- Windows Server 2012 R2 (Server Core installation)
- Windows Server 2016
- Windows Server 2016 (Server Core installation)
- Windows Server 2019
- Windows Server 2019 (Server Core installation)
- Windows Server, version 1903 (Server Core installation)
- Windows Server, version 1909 (Server Core installation)
- Windows Server, version 2004 (Server Core installation)