Vai al contenuto

LM hash

Da Wikipedia, l'enciclopedia libera.

L'LM hash o LAN Manager hash è uno dei formati che Microsoft LAN Manager e Microsoft Windows usano per memorizzare password che sono lunghe non più di 14 caratteri. Questo tipo di hash è l'unico metodo per criptare password usato in LAN Manager (da cui il nome dell'hash) e da versioni di Windows fino a Windows Me. È anche supportato da versioni più recenti di Windows per assicurare la retrocompatibilità, anche se in Windows Vista deve essere attivato manualmente.

L'LM hash funziona nel seguente modo[1]

  1. La password dell'utente viene convertita da stringa OEM a tutto maiuscolo.
  2. La password viene anche troncata dopo 14 byte.
  3. La password viene a sua volta divisa in due metà da 7 byte.
  4. Questi valori sono usati per creare due chiavi DES, una per ogni blocco da 7 byte, convertendo i sette byte a un flusso di bit e aggiungendo un bit zero alla fine di ogni sette bit. Questo genera i 64 bit necessari per ogni chiave DES.
  5. Ognuna di queste di chiavi è usata per cifrare con il DES la stringa costante in ASCII “KGS!@#$%”, trasformandola in due valori da 8 byte.
  6. Questi due valori sono concatenati per formare un valore da 16 byte, il quale è l'LM hash.

Sebbene sia basato sul DES, un cifrario a blocchi ben noto e studiato, l'LM hash può essere violato molto facilmente a causa di due debolezze nella sua implementazione. La prima è che le password più lunghe di 7 caratteri sono divise in due ed ogni metà è trattata separatamente. La seconda è che tutte le lettere minuscole della password sono convertite in maiuscolo prima del calcolo dell'hash.

La prima debolezza permette di attaccare separatamente le due metà della password: mentre ci sono differenti password ottenibili da 14 caratteri ASCII stampabili, questi scendono a con i soli 7 caratteri di una metà della password. Riducendo, inoltre, il campo dei caratteri a causa della conversione da minuscolo a maiuscolo, si riducono anche il numero delle possibili combinazioni per ogni metà a . Con un attacco a forza bruta condotto sulle due singole metà, un moderno computer può violare un LM hash in poche ore.

Dato che l'LM hash non include un nonce, vale a dire non include un valore univoco ma utilizza l'hash puro, un attacco di tipo a Rainbow tables porta alla scoperta delle password in pochi secondi. Questo tipo di attacco sfrutta il cosiddetto compromesso tempo-memoria: per accelerare il calcolo della password vengono caricati in memoria milioni di hash precalcolati che vengono confrontati con quello da violare. Un confronto è molto più veloce di un calcolo puro dell'hash. Esistono molti software che integrano la possibilità di sferrare un simile attacco: tra questi abbiamo RainbowCrack, L0phtCrack, Cain & Abel[2], Ophcrack[3]

Per ovviare alle debolezze dell'LM Hash, Microsoft introdusse in Windows NT 3.1 un nuovo algoritmo denominato NTLM, poi aggiornato alla versione 2 con Windows NT 4.0.

  1. ^ Il protocollo LM
  2. ^ Cain & Abel, su oxid.it. URL consultato il 26 settembre 2008 (archiviato dall'url originale il 16 maggio 2019).
  3. ^ Ophcrack, il cracker del compromesso tempo-memoria

Voci correlate

[modifica | modifica wikitesto]

Collegamenti esterni

[modifica | modifica wikitesto]
  • The Shmoo Group offre Rainbow tables precompilate che sono scaricabili via Bit Torrent
  • Tool online per craccare gli hash LM utilizzando Rainbow tables, su LMcrack.com. URL consultato l'11 novembre 2019 (archiviato dall'url originale il 30 ottobre 2018).
  • Sito online per il recovery dell'hash LM[collegamento interrotto] (~11GB di password basate sul dizionario italiano)
  • Servizio online per la decodifica degli hash LM, su decryptyourpass.com. URL consultato il 7 giugno 2019 (archiviato dall'url originale il 17 maggio 2014).