Due ricercatori italiani, Antonio Cocomazzi (Sentinel LABS) e Andrea Pierini, mesi fa hanno scoperto una vulnerabilità di sicurezza in Windows e in particolare nell’insieme di protocolli di autenticazione Microsoft NTLM.
Nell’analisi pubblicata in questa pagina si spiega che utilizzando un attacco NTLM relay un aggressore può acquisire privilegi più elevati e passare da utente normale ad amministratore di dominio.
NTLM relaying è una tecnica ampiamente conosciuta della quale malintenzionati e criminali informatici hanno abusato nel corso del tempo per aggredire i sistemi Windows.
NTLM (NT LAN Manager) è una suite di protocolli di sicurezza Microsoft utilizzati per autenticare gli utenti: ne esistono due versioni e anche quella più recente (si fa per dire perché la sua introduzione risale al lancio di Windows NT 4.0 SP4) non offre un livello di sicurezza paragonabile ad esempio a Kerberos.
Nelle reti che devono offrire elevati standard di sicurezza è sconsigliabile usare NTLM o è bene impedirne complementamente l’utilizzo.
Abbiamo più volte visto in passato che le password degli utenti non sono neppure difficili da ricostruire partendo da hash NTLMv2 tanto che i criminali informatici si servono di attività di brute forcing per scoprire le credenziali altrui.
Di norma, per sottrarre le credenziali altrui e impersonificare un altro utente, è necessario un intervento attivo della vittima nelle configurazioni che utilizzano NTLM. Cocomazzi e Pierini hanno però scoperto che è possibile acquisire privilegi più elevati sfruttando alcuni servizi di sistema senza quindi un coinvolgimento diretto della vittima.
I ricercatori hanno dimostrato come, sfruttando proprio l’implementazione imperfetta di NTLM, un utente dotato di privilegi limitati possa eseguire codice arbitrario all’interno della sessione di lavoro di un altro utente. L’hash NTLM dell’utente può inoltre essere automaticamente trasmesso a un indirizzo IP di un host gestito dall’aggressore.
Perché il problema di sicurezza possa essere sfruttato è necessario che qualche utente con privilegi superiori sia connesso allo stesso computer Windows nello stesso momento in cui avviene l’attacco. Si tratta di una situazione ovviamente poco comune sulle singole workstation (a meno che non si utilizzi la funzione Cambia utente) ma assai diffusa in ambito server. In questo secondo caso qualsiasi utente connesso da remoto potrebbe attaccare ogni altro utente collegato con la stessa macchina senza usare tecniche di ingegneria sociale e senza che la vittima debba fare alcunché.
Microsoft ha deciso di non risolvere questo problema perché secondo l’azienda di Redmond gli attacchi NTLM relay dovrebbero essere correttamente prevenuti attraverso la configurazione NTLM o non utilizzando più questo strumento. Il fatto è che NTLM in ambito aziendale resta una realtà ancora oggi.
Gli autori di 0patch, una soluzione che permette di applicare aggiornamenti di sicurezza sui sistemi Windows in modalità in-memory quindi usando patch che vengono caricate in memoria e non necessitano neppure del riavvio del sistema, hanno criticato la posizione di Microsoft: “perché Windows permette ad un utente con pochi privilegi di far lanciare qualsiasi cosa in una sessione diversa dalla propria?”, si legge in una nota da poco pubblicata. “Sfortunatamente non siamo riusciti a trovare la risposta e nemmeno a fare qualche ipotesi. Un comportamento del genere, però, appare subito sospetto a qualsiasi ricercatore di sicurezza e non è una sorpresa che qualcuno abbia deciso di approfondire” individuando una vulnerabilità sfruttabile all’atto pratico.
Così, viste le dichiarazioni di Microsoft che ha preferito non risolvere la lacuna di sicurezza, gli sviluppatori di 0patch l’hanno voluto fare in proprio e con gli ultimi aggiornamenti dell’applicazione anche la falla scoperta da Cocomazzi e Pierini è stata corretta.
Il risultato è visibile in questo video: quando 0patch non è in esecuzione il codice exploit funziona; diversamente il tentativo di attacco viene subito bloccato.
In un altro articolo abbiamo visto come applicare aggiornamenti Windows senza riavviare il sistema con 0patch.