Password in chiaro WDigest: Rubare più di un hash
Oct 11, 2022
Cos'è WDigest?
L'autenticazione Digest è un protocollo di sfida/risposta che veniva utilizzato principalmente in Windows Server 2003 per l'autenticazione LDAP e basata sul web. Utilizza scambi di Hypertext Transfer Protocol (HTTP) e Simple Authentication Security Layer (SASL) per autenticare.
A livello generale, un client richiede l'accesso a qualcosa, il server di autenticazione sfida il client e il client risponde alla sfida criptando la sua risposta con una chiave derivata dalla password. La risposta criptata viene confrontata con una risposta memorizzata sul server di autenticazione per determinare se l'utente ha la password corretta. Microsoft fornisce una spiegazione molto più approfondita di WDigest.
Qual è il rischio per la sicurezza introdotto da WDigest?
WDigest memorizza le password in chiaro nella memoria. Pertanto, se un avversario che ha accesso a un endpoint può utilizzare uno strumento come Mimikatz per ottenere non solo gli hash memorizzati nella memoria, ma anche le password in chiaro. Di conseguenza, non saranno limitati ad attacchi come Pass-the-Hash; sarebbero anche in grado di accedere a Exchange, siti web interni e altre risorse che richiedono l'inserimento di un ID utente e password.
Ad esempio, supponiamo che l'utente “TestA” abbia utilizzato il desktop remoto per accedere a una macchina, lasciando la propria password nella memoria. Lo screenshot qui sotto illustra cosa vedrebbe un attaccante quando estrae le credenziali dalla memoria di quella macchina usando Mimikatz. Come puoi vedere, ottengono sia l'hash della password NTLM dell'account sia la password in chiaro “Password123”.
Cosa si può fare per mitigare questo rischio?
Fortunatamente, Microsoft ha rilasciato un aggiornamento di sicurezza (KB2871997) che permette alle organizzazioni di configurare un'impostazione del registro per impedire a WDigest di memorizzare password in chiaro nella memoria. Tuttavia, ciò renderà WDigest incapace di funzionare, quindi Microsoft raccomanda di verificare prima se l'autenticazione Digest è utilizzata nel proprio ambiente. Controlla i log degli eventi sui tuoi server per l'ID evento 4624 e verifica i log del controller di dominio per l'ID evento 4776 per vedere se qualche utente ha effettuato l'accesso con 'Pacchetto di Autenticazione: WDigest'. Una volta che sei sicuro che non ci siano tali eventi, puoi apportare la modifica al registro senza impattare sul tuo ambiente.
Windows 7, Windows 8, Windows Server 2008 R2 e Windows Server 2012
Per Windows 7, Windows 8, Windows Server 2008 R2 e Windows Server 2012, installare l'aggiornamento KB2871997 e poi impostare la seguente chiave di registro a 0:
Il modo più semplice per farlo è tramite Group Policy, ma funzionerà anche lo script seguente:
reg add
HKLMSYSTEMCurrentControlSetControlSecurityProvidersWDigest /v
UseLogonCredential /t REG_DWORD /d 0
Versioni successive di Windows e Windows Server
Le versioni successive di Windows e Windows Server non richiedono l'aggiornamento di sicurezza e il valore del registro è impostato su 0 per impostazione predefinita. Tuttavia, dovresti verificare che il valore non sia stato modificato manualmente utilizzando lo script seguente:
reg query
HKLMSYSTEMCurrentControlSetControlSecurityProvidersWDigest /v
UseLogonCredential
Risultati
Una volta impostato questo valore del registro a 0, un attaccante che effettua il dump delle credenziali dalla memoria non otterrebbe la password in chiaro; invece, vedrebbe questo:
Tabella di riferimento
Ecco una tabella per aiutarti a determinare se devi intervenire sui tuoi endpoint:
Riepilogo rapido
WDigest memorizza le credenziali in chiaro nella memoria, dove un avversario potrebbe rubarle. L'aggiornamento di sicurezza di Microsoft KB2871997 risolve il problema sulle versioni più vecchie di Windows e Windows Server consentendoti di impostare un valore nel registro, e le versioni più recenti hanno il valore appropriato per impostazione predefinita.
Controllare questa impostazione del registro su tutti i tuoi endpoint Windows dovrebbe essere una priorità, poiché il furto di credenziali può portare alla perdita di informazioni sensibili. Un modo per farlo è eseguire query da riga di comando su tutti i tuoi host; un'opzione più rapida è automatizzare il processo con una soluzione di auditing che fornisce i risultati in un rapporto facile da consultare.
Come può Netwrix aiutare?
Netwrix Access Analyzer può aiutarti a migliorare la sicurezza della tua infrastruttura Windows e a ridurre il rischio di una violazione dei dati. Ti consente di:
- Individuate vulnerabilità che possono essere sfruttate dagli attaccanti per compromettere i sistemi Windows e accedere ai vostri dati.
- Applica politiche di sicurezza e operative attraverso l'analisi della baseline configuration.
- Esegui l'audit e governa gli account privilegiati.
- Dimostrate la conformità più facilmente con report predefiniti e completa trasparenza del sistema.
Netwrix Access Analyzer
Condividi su
Scopri di più
Informazioni sull'autore
Kevin Joyce
Direttore della Product Management
Direttore di Product Management presso Netwrix. Kevin ha una passione per la sicurezza informatica, in particolare per comprendere le tattiche e le tecniche che gli aggressori utilizzano per sfruttare gli ambienti delle organizzazioni. Con otto anni di esperienza nel product management, concentrandosi su Active Directory e la sicurezza di Windows, ha trasformato quella passione nell'aiutare a costruire soluzioni per le organizzazioni per proteggere le loro identità, infrastrutture e dati.
Scopri di più su questo argomento
Come creare, modificare e testare le password utilizzando PowerShell
Utilizzando Windows Defender Credential Guard per proteggere le credenziali Privileged Access Management
Cos'è Microsoft LAPS: Come puoi migliorarne la sicurezza?
Utilizzo del gruppo Protected Users contro le minacce
Cos'è il Kerberos PAC?