Una vulnerabilità critica riguardante i sistemi Windows, soprannominata Zerologon, permette di diventare amministratore di un dominio
Scoperta da Secura, un azienda di sicurezza informatica, era già stata segnalata e risolta con il Patch Tuesday di Agosto (CVE-2020-1472), ma Tom Tevoort esperto di sicurezza di Secura ha scovato una seconda vulnerabilità ancora più insidiosa della precedente.
La vulnerabilità CVE-2020-1472, era legata all’acquisizione di privilegi più elevati (EoP, Elevation of Privilege) ed utilizzava una falla del protocollo MS-NRPC (Netlogon Remote Protocol).
Come avevamo visto sull’articolo riguardante il Patch Tuesday di Agosto, la patch CVE-2020-1472 risolveva un problema riguardante la modalità con cui Netlogon (il servizio che si occupa di gestire la fase di autenticazione sui sistemi Windows) eseguiva la gestione dei canali protetti utilizzati per l’autenticazione dei client all’interno di un Dominio Microsoft Windows.
Ma cosa rende Zerologon più insidiosa rispetto alla precedente vulnerabilità?
Zerologon: vulnerabilità sul protocollo di crittografia
La vulnerabilità soprannominata Zerologon, colpisce direttamente il protocollo di crittografia utilizzato da Netlogon, AES-CFB8, permettendo a qualunque macchina presente all’interno della rete locale di reimpostare la password del Controller di Dominio assumendone il controllo.
Per cifrare la comunicazione che viene instaurata tra il client ed il controller di dominio in fase di autenticazione, è stato utilizzato da Microsoft il protocollo AES-CFB8.
L’autenticazione operata dal servizio Netlogon esegue i seguenti step utilizzando il protocollo MS-NRPC:
- Il Client effettua una richiesta di verifica ed autenticazione al Server di Dominio.
- Il Server di Dominio risponde al Cliente per stabilire un canale protetto tramite l’interfaccia Netlogon RPC.
- Per definire il canale protetto viene eseguita una negoziazione che genera una chiave di sessione (una chiave di sessione è un codice temporaneo che viene generato in modo casuale ed utilizzato come chiave di codifica per cifrare il messaggio) su RPC non protetto.
- Definita la chiave viene crittografato il canale di comunicazione RPC, utilizzando il protocollo AES-CFB8, tra le due macchine.
- Il Client comunica le credenziali di accesso al Server di Dominio.
- Il Server di Dominio verifica le credenziali e in caso di esito positivo utilizza la chiave di sessione, come valore per gestire le chiamate Netlogon.
Windows: vulnerabilità del protocollo AES-CFB8
Cerchiamo di capire come funziona questo protocollo scomponendolo nelle varie parti.
L’algoritmo di crittografia AES, utilizza una modalità di funzionamento a blocchi, mediante una chiave simmetrica, ciò significa che per crittografare e decrittografare il messaggio viene utilizzata la stessa chiave di sessione.
La modalità CFB (Cipher Feedback) è stata ideata per convertire una cifratura a blocchi in una cifratura a flusso.
AES di base richiede un input di 16 byte e restituisce un output di uguale dimensione, nel protocollo utilizzato dalla funzione di autenticazione di Windows (ComputeNetlogonCredential), ne trasforma solo 8 byte.
Attraverso dei tentativi di attacco al protocollo di crittografia, Tom Tevoort esperto di sicurezza di Secura, è riuscito a trovare una incoerenza sulla gestione della stessa chiave di sicurezza. Il protocollo AES-CFB8 stabilisce che per garantire la sicurezza dell’informazione, durante la fase di inizio crittografia i byte iniziali devono avere un valore casuale, mentre nella versione implementata su Windows, i byte iniziali sono fissi e costituiti da 16 byte a zero.
Il risultato è che per 1 chiave su 256, l’applicazione di crittografia AES-CFB8 ha un testo in chiaro tutto zero e un testo cifrato tutto zero.
Poiché gli account non vengono bloccati dopo tentativi di accesso non validi, sfruttando l’incongruenza rilevata si è riusciti a rilevare la chiave contenente tutto a zero dopo 256 tentativi in circa tre secondi.
Ottenendo la chiave si riesce ad avare accesso al Server di Dominio falsificando le credenziali del Client e ad reimpostare la password amministrativa del Controller di Dominio stesso.
La dinamica dell’exploit non è semplice da comprendere a livello teorico, ma in pratica si traduce in singolo clic.
Secura ha reso pubblico un software di test per verificare se il nostro Controller di Dominio è vulnerabile a questo tipo di attacco su Github.
Windows vulnerabilità critica Zerologon: unica soluzione aggiornare il sistema
La vulnerabilità è sfruttabile solo all’interno della stessa rete (LAN), ma per la semplicità con cui può essere eseguita e per la sua pericolosità è necessario aggiornare Windows, per chi non avesse ancora fatto, con la patch rilasciata tramite i canali ufficiali.
Inoltre Microsoft consiglia di monitorare eventuali tentativi di accesso effettuati tramite la versione vulnerabile del protocollo Netlogon e di identificare i dispositivi che non supportano la nuova versione per predisporne l’aggiornamento.
Lascia un commento