Hashed passwords - Quante variazioni delle tabelle arcobaleno?

4

Prima di tutto ... ho superato l'esame CISSP. WOOOO. Dovevo capirlo. GCIH e CEH entro l'11 settembre '

Quindi, mentre studio per il lato tecnico delle cose, vedo che ci sono tavoli arcobaleno. Sono pre-hash per confrontare la password hash della vittima (da shadow o SAM), ma ci sono molti algoritmi di hash diversi là fuori. Quindi ci deve essere una tabella arcobaleno per ogni algoritmo E devo eseguire il confronto attraverso ogni algoritmo?

In altre parole, come faccio a sapere quale algoritmo è stato utilizzato: MD5, SHA-1, NTLM, LANMAN?

Le password da un sistema come Windows 7 saranno sempre in NTLMv2, e Unix sarà sempre in MD5 - oppure un utente può modificare il suo sistema e specificare l'algoritmo da utilizzare per le password del suo sistema - come SHA-256 ?

    
posta Abdu 05.07.2011 - 09:36
fonte

3 risposte

5

ciao a molte domande in una

  • Le tabelle Rainbow sono progettate per un particolare algoritmo di hashing.
  • È difficile dire quale algoritmo è usato, ma la lunghezza dell'hash può darti un suggerimento.
  • Per i file shadow puoi vedere: link
risposta data 05.07.2011 - 10:01
fonte
3

@ M'vy ha le risposte specifiche alle tue domande.

In termini di una risposta più ampia su come funziona nella pratica:

Quello che eravamo abituati a fare era mantenere una gamma di tavoli Rainbow e se non avessimo indicazioni sull'algoritmo avremmo iniziato con la più probabile in un particolare ambiente e avremmo lavorato su di essi - usare uno script per farlo lo rende molto facile, e se finisce nell'ultimo tavolo ci vuole ancora pochissimo tempo.

    
risposta data 05.07.2011 - 15:56
fonte
1

Normalmente conosci la funzione hash dal contesto. Se stai tentando di decifrare una password, questa password è preziosa per te, in quanto ti consente di accedere ad alcuni dati o servizi da qualche parte, target specificamente . Quindi si deve presumere che si conosca già il tipo di sistema (in particolare se si è riusciti a catturare un elenco di password con hash da un database, quindi ha visto il database), e questo include spesso la conoscenza di la funzione di hashing della password. Inoltre, nei sistemi che supportano diversi tipi di funzioni di hash (come il file /etc/shadow sui sistemi Unix), il tipo di hash è codificato lungo il valore hash, perché, per sua natura, il sistema stesso deve saperlo.

Ricorda che le password hash sono destinate ad essere utilizzate da qualche software, da qualche parte, che esiste come file eseguibile e codice sorgente. In generale, il software non può essere considerato segreto e il reverse engineering è abbastanza efficace per scoprire il tipo di elaborazione che viene eseguita sui dati.

Per Windows, le password tendono ad essere elaborate con due funzioni hash, il vecchio LM (LanMan) e il più recente NT Hash (che è MD4 ). C'è anche un "verificatore di password" usato in alcune parti, che è "salato" con il nome utente (non un buon sale, in realtà: ogni "Amministratore" è chiamato "Amministratore"). Vedi questa pagina per i dettagli. LM hash è estremamente debole ed è stato usato come banco di prova per dimostrare l'efficacia delle tavole arcobaleno; fortunatamente, è disabilitato di default nei sistemi più recenti (dal momento che Vista). Tuttavia, l'hash NT è ancora piuttosto debole (non così abissale come LM, ma comunque) poiché è molto veloce (una singola invocazione MD4 ...) e non salato (rendendo così utile la creazione di tabelle precalcolate, come le tabelle arcobaleno) .

    
risposta data 23.10.2012 - 15:01
fonte

Leggi altre domande sui tag