SAM: Credential Dumping

SAM: Credential Dumping

1024 683 Nicola Montemurro

Il credential dumping tramite SAM è una tecnica fondamentale nel post-exploit, che consente ad un aggressore di estrarre gli hash delle password dal database Security Account Manager (SAM) dei sistemi Windows. Questo vettore di attacco rappresenta una delle vie per ottenere il controllo completo del computer.

Cos'è SAM

SAM è l’acronimo di Security Account Manager, che gestisce tutti gli account utente e le relative password. Funziona come un database. Tutte le password vengono sottoposte a hash e quindi memorizzate in SAM. È responsabilità dell’LSA (Local Security Authority) verificare l’accesso degli utenti confrontando le password con il database gestito in SAM. Le password sottoposte a hashing vengono salvate nel file SAM che si trova in C:\Windows\System32\config, ma è accessibile anche dal registro di sistema in HKEY_LOCAL_MACHINE\SAM.

Come vengono archiviate le password in Windows?

LM authentication

LAN Manager (LM), sviluppato da IBM per OS/2 e poi adottata da Microsoft per i sistemi operativi Windows, oggi è considerato obsoleto ed estremamente vulnerabile. il metodo adottato consisteva nel crittografare la password suddividendola in due blocchi di sette caratteri ciascuno, convertendo l’intera stringa in caratteri maiuscolo e poi calcolandone l’hash; qualora la password fosse stata più lunga di 14 caratteri l’hash non veniva calcolato. Un attacco di tipo brute force o dizionario, può evitare del tutto la possibilità di considerare i caratteri minuscoli. La chiave utilizzata per la crittografia è DES a 56 bit.

NTLM authentication

L’autenticazione NTLM (NT Lan Manager) è stato sviluppato in quanto LM all’epoca si era rivelato insicuro. Il metodo utilizzato si basa su un meccanismo di challenge-response (sfida-risposta) che utilizza tre componenti: challenge (sfida), response (risposta) e message (messaggio di autenticazione).

Prima che la password NTLM sia salvata, viene crittografata e ne viene calcolato l’hash che sarà poi effettivamente salvato in SAM.

Client-Server challenge-response:

Il client invia il nome utente al server, il quale risponde generando una stringa numerica casuale di 16 byte chiamata nonce che rinvia al client, Il client calcola, dal nonce e dalla password utente, un hash e lo invia come risposta. Questo passaggio è noto come risposta.  Il controller di dominio recupera l’hash della password dal database SAM, controlla il nonce e la risposta e se corrispondono, l’autenticazione ha esito positivo.

Il funzionamento di NTLM v1 e NTLM v2 è simile, sebbene ci siano alcune differenze importanti, ad esempio, NTLM v1 usa MD4 per l’hashing, mentre NTLM v2 usa MD5; inoltre, NTLM v1 ha una lunghezza C/R (challenge-response) di 56 bit + 56 bit + 16 bit, mentre NTLM v2 usa 128 bit. Per quanto riguarda l’Algoritmo crittografia, NTLM v1 usa DES (modalità ECB), mentre NTLM v2 si basa su HMAC-MD5.

NOTA: A partire da Windows 10 versione 1607, Microsoft ha sostituito il codice RC4 con AES rendendo obsoleti molti strumenti di estrazione che si trovano in rete. Alcuni di questi sono stati aggiornati e gestiscono correttamente il nuovo metodo di crittografia, altri invece non sono stati al passo.

Preferenze Privacy

Quando visiti il nostro sito web, possono essere memorizzate alcune informazioni, di servizi specifici, tramite il tuo browser, di solito sotto forma di cookie. Qui puoi modificare le tue preferenze sulla privacy. Il blocco di alcuni cookie può influire sulla tua esperienza sul nostro sito Web e sui servizi che offriamo.

Click to enable/disable Google Analytics tracking code.
Click to enable/disable Google Fonts.
Click to enable/disable Google Maps.
Click to enable/disable video embeds.
Il nostro sito web utilizza cookie, principalmente di terze parti. Personalizza le preferenze sulla privacy e/o acconsenti all'utilizzo dei cookie.