I ricercatori di Akamai hanno individuato una falla che potrebbe agevolare attacchi ad Active Directory.
Autore: Redazione SecurityOpenLab
Microsoft Active Directory è da tempo uno degli obiettivi più appetibili per i criminali informatici, che sviluppano di continuo nuove tecniche per attaccarlo in maniera efficace. Una particolarmente insidiosa è quella che è stata scoperta dai ricercatori di Akamai e che sfrutta la configurazione predefinita del server DHCP (Dynamic Host Configuration Protocol) di Microsoft. Un attacco riuscito permetterebbe ai cyber criminali di falsificare i record DNS sensibili, con conseguenze che andrebbero dal furto di credenziali alla compromissione completa del dominio Active Directory. Questi attacchi non richiedono alcuna credenziale e funzionano con la configurazione predefinita del server DHCP Microsoft.
Quanto indicato è già di per sé molto grave, ma per avere un quadro completo bisogna tenere conto anche della potenziale portata di questi attacchi, che è ampissima se si considera che i server DHCP Microsoft sono estremamente diffusi, e che Microsoft non ha al momento previsto alcuna correzione.
Sopra abbiamo accennato alla conseguenza primaria dell’attacco simulato da Akamai: la capacità di falsificare i record DNS. Non tutti sanno che è un obiettivo molto importante per gli attaccanti perché può portare a conseguenze potenzialmente devastanti, tra cui l'esposizione di dati sensibili, la compromissione delle credenziali e l'esecuzione di codice remoto.
Active Directory si appoggia al DNS per il suo funzionamento. Ogni dominio necessita di un server DNS, che ospita una Active Directory Integrated DNS (ADIDNS) utilizzata per ospitare i record DNS per tutti i computer aggiunti a un dominio e i diversi servizi in Active Directory. I record nelle ADI vengono gestiti utilizzando la funzionalità DNS Dynamic Updates che consente a ciascun client di essere responsabile del proprio record: quando deve creare o modificare il proprio record DNS, il client invia una richiesta DNS con i dati che devono essere modificati sul server. Il server che la riceve, modifica di conseguenza i record del client.
Una delle funzionalità importanti di Dynamic Updates è Secure Updates, progettato per controllare chi può modificare ciascun record DNS. Senza questo componente il server DNS obbedirebbe ciecamente a qualsiasi richiesta di aggiornamento, permettendo agli eventuali attaccanti di sovrascrivere i record esistenti. Con Secure Updates, invece, tutte le richieste di aggiornamento ricevute dal server vengono autenticate e autorizzate. Ci sono tuttavia alcune entità che non necessitano di tali autorizzazioni per le modifiche ai record DNS, e qui veniamo al problema rilevato da Akamai.
Oltre a Dynamic Updates, però, esiste anche un’altra funzione denominata DHCP DNS Dynamic Updates. La differenza semantica è minima, ma importantissima: consente a un server DHCP di registrare i record DNS per conto dei propri client. In pratica, ogni volta che a un client viene assegnato un indirizzo IP dal server DHCP, quest'ultimo può contattare il server DNS e aggiornare il record DNS del client. Lo fa usando i Dynamic Updates e non necessita di autorizzazioni.
Ora, i client Windows moderni (Windows 2000 e versioni successive) non usano più questa funzionalità, però tutti i server DHCP Microsoft la hanno abilitata per impostazione predefinita, il che significa che il server DHCP registrerà un record DNS per qualsiasi client che lo richieda.
È qui che entra in gioco l’attacco, che tecnicamente è definito di spoofing ADIDNS e che di fatto costituisce un miglioramento del noto attacco di spoofing LLMNR/NBNS. In sostanza, dopo aver identificato i tentativi di risoluzione dei nomi non riusciti, l’attaccante registra un nome nella zona ADI e fa in modo che i futuri tentativi di risoluzione dei nomi puntino al computer da lui controllato. Al contrario del vecchio attacco, questo nuovo non necessita di credenziali valide perché al cyber criminale basta inviare un aggiornamento dinamico DNS DHCP per qualsiasi FQDN che non esiste nella zona ADI, e il server DHCP lo creerà per suo conto.
Non è finita, perché usando la stessa tecnica i ricercatori sono riusciti anche a sovrascrivere record esistenti, sempre senza bisogno di autenticazione. La tecnica impiegata viene chiamata DHCP DNS overwrite e serve per ottenere la sovrascrittura dei record gestiti (quelli creati da DHCP) grazie al fatto che un server DHCP non verifica la proprietà del record DNS e invia un aggiornamento DNS per qualsiasi FQDN richiesto.
Ultimo passaggio è la sovrascrizione dei record presenti in qualsiasi zona ADI. Virtualmente non dovrebbe essere possibile perché questi record sono di proprietà delle macchine che li hanno creati e la modifica richiederebbe l’autenticazione utilizzando l'account macchina del server DHCP. Ma questo non vale per il record DNS del server DHCP. Quando il server DHCP crea il proprio record DNS, l'account del computer diventa il proprietario del record. E i ricercatori sono riusciti a fare in modo che il server DHCP esegua la sovrascrittura DNS DHCP su se stesso: fornendo il nome del server DHCP come FQDN, il server DHCP invierà un aggiornamento DNS per il proprio record client e questa sovrascrittura avrà esito positivo.
Nel post sul blog ufficiale di Akamai ci sono tutti i dettagli tecnici di questi attacchi e un dettagliato elenco di best practice per configurare in modo sicuro il server DHCP Microsoft per mitigare tali attacchi.