Quando un utente digita la propria password di autenticazione in Windows questa viene generalmente gestita utilizzando NTLM (NT LAN Manager), un protocollo di autenticazione proprietario che è stato introdotto nei sistemi operativi Microsoft negli anni ’90 e che è ormai considerato superato e intrinsecamente insicuro.
La password inserita dall’utente viene trasformata in hash con un certo algoritmo. L’hash è una rappresentazione cifrata della password di partenza ed è l’algoritmo usato che funge da garante: mentre è possibile passare dalla password al suo hash non è possibile invertire la funzione ovvero tornare alla password in chiaro (a meno di vulnerabilità presenti nell’algoritmo stesso).
Gli hash NT vengono archiviati in memoria da Windows con una procedura che è gestita dal processo di sistema LSASS (Local Security Authority Subsystem Service): Microsoft Defender contribuisce a ridurre la superficie d’attacco evitando l’estrazione dei dati dalla memoria locale.
Se l’utente è un account locale, il relativo hash NT viene confrontato con quello archiviato localmente nel database SAM (Security Accounts Manager). Se entrambi gli hash corrispondono, l’autenticazione ha esito positivo e all’utente viene accordato l’accesso richiesto.
Se un utente utilizza un account Active Directory, il relativo hash NT viene utilizzato nell’autenticazione Kerberos avvalendosi del controller di dominio.
Al termine dell’autenticazione attraverso Active Directory, viene emesso un Ticket Granting Ticket (TGT) Kerberos, memorizzato nella cache dei ticket.
Il TGT può quindi essere utilizzato per richiedere token di accesso aggiuntivi da parte del Ticket Granting Service (TGS) al fine della concessione dell’accesso a una particolare risorsa di rete. È possibile utilizzare il comando klist tickets
per ottenere informazioni dalla cache dei ticket Kerberos.
Gli hash NT delle password sono vulnerabili: è quindi sempre consigliabile utilizzare l’autenticazione Kerberos quando possibile.
Cos’è il Gruppo di sicurezza utenti protetti
Il Gruppo di sicurezza utenti protetti è stato introdotto con Windows Server 2012 R2 con Microsoft che ha continuato a prevederne e anzi a consigliarne caldamente l’utilizzo nelle successive versioni del sistema operativo.
Si tratta di un gruppo di utenti che è stato progettato per fornire una migliore protezione contro gli attacchi informatici che mirano al furto delle credenziali.
I client collegati con il sistema Windows Server devono essere, a loro volta, almeno Windows Server 2012 R2 o Windows 8.1 e versioni successive, quindi ad esempio anche Windows 10 e 11.
I membri del Gruppo di sicurezza utenti protetti (Protected Users Group in inglese) non possono utilizzare NTLM o altre forme di autenticazione meno sicure; inoltre, tra le varie cose, la fase di preautenticazione con Kerberos non può servirsi di RC4 o DES (abbiamo parlato dell’attacco Kerberoasting), le credenziali non vengono più conservate nella cache e l’accesso remoto è permesso solo con protocolli come RDP (Remote Desktop Protocol) con autenticazione a due fattori abilitata.
Il gruppo di sicurezza speciale introdotto in Windows Server 2012 R2 fornisce quindi un livello aggiuntivo di protezione per gli account utente di alto profilo (ad esempio amministratori di sistema, account di servizio critici e account di amministratori del dominio) ed è studiato per proteggere gli account utente da attacchi di tipo pass-the-hash e pass-the-ticket, che rappresentano una minaccia concreta per la sicurezza delle credenziali di autenticazione degli utenti e, di conseguenza, per la riservatezza e l’integrità dei dati aziendali.
Il comando PowerShell seguente permette di verificare quali account sono stati eventualmente assegnati al gruppo speciale:
Il seguente comando, invece, permette di aggiungere un utente al gruppo effettuando le opportune sostituzioni:
Attacchi pass-the-hash e pass-the-ticket: cosa sono e come funzionano
Gli attacchi pass-the-hash e pass-the-ticket sono due tecniche di attacco sfruttate comunemente dagli utenti malintenzionati per guadagnare l’accesso sui sistemi Windows senza alcuna autorizzazione.
L’attacco pass-the-hash sfrutta l’hash della password: una volta che l’aggressore ha ottenuto l’hash della password di un account utente, può utilizzarlo per autenticarsi scavalcando la necessità di conoscere la password effettivamente impostata.
Pass-the-ticket, invece, sfrutta un token di autenticazione emesso da Kerberos, protocollo di autenticazione utilizzato in Windows a livello aziendale. Una volta che l’hacker ha ottenuto il token di autenticazione, può impersonare l’utente autenticato e accedere ai sistemi e ai dati dell’utente senza conoscere la password reale.
Attacchi di questo tipo sono sempre più frequenti tanto che gruppi di criminali informatici li hanno utilizzati per attaccare aziende di elevato profilo ed enti pubblici prima ancora che Microsoft rilasciasse una patch correttiva. Uno degli ultimi esempi è la falla CVE-2023-23397 che Microsoft ha risolto a marzo 2023 in Outlook ed Exchange Server: in assenza della patch, un criminale informatico può eseguire codice dannoso semplicemente inviando un’email a un client Outlook senza la necessità di alcuna interazione da parte dell’utente.
Il test con Mimikatz
Definibile come un dumper di credenziali, Mimikatz è un software open source che permette di eseguire il cracking delle password e il recupero delle credenziali di autenticazione dai sistemi Windows. Il software è stato progettato per dimostrare la debolezza di alcune funzionalità di sicurezza in Windows e per aiutare gli amministratori di sistema a valutare la sicurezza della propria configurazione.
Mimikatz è in grado di usare diverse tecniche per recuperare le credenziali di autenticazione degli utenti, compresi gli hash delle password memorizzati in Windows, le password in chiaro dalla cache e quelle memorizzate nella memoria attiva. Il programma può essere inoltre sfruttato per ottenere token di autenticazione ed eseguire attacchi pass-the-hash o pass-the-ticket.
Se da un lato Mimikatz è uno strumento utile per gli amministratori di sistema al fine di verificare la sicurezza del proprio ambiente, è largamente utilizzato anche da criminali informatici e malware per aggredire i sistemi Windows, rastrellare credenziali di accesso e muoversi all’interno delle reti aziendali altrui.
Utilizzando Mimikatz per recuperare l’hash della password di un account utente amministratore, ci si accorge facilmente che ciò non è possibile se l’account è appunto parte del Gruppo di sicurezza utenti protetti.