Ho un numero di hash LM che ho cercato di crackare con hashcat. La mia comprensione è stata che LM divide le password in due stringhe di 7 caratteri separate prima di essere sottoposte a hash. Credo anche che usino solo lettere maiuscole, oltre a cifre e caratteri speciali.
Ho tentato di eseguire il seguente comando in hashcat: hashcat64.exe -m 3000 -a 3 lm-out.txt -1 ?u?d?s --increment ?1?1?1?1?1?1?1
Questo dovrebbe forzare la forza bruta ogni combinazione possibile con i caratteri accettabili per LM da 1 a 7 caratteri - tuttavia, dopo aver eseguito questo fino al completamento, ha recuperato solo lo 0,20% di tutte le password?
Mi stavo chiedendo se qualcuno potesse far luce su questo per me? So che la maschera di caratteri speciali di hashcat non include il segno di cancelletto, ma non riesco a capire perché oltre il 99% delle password non sia forzato brutalmente in questo modo? Il fatto che alcuni siano stati recuperati come semplici parole mi porta a credere che non possano essere alterati in qualche modo prima di essere sottoposti a hash.
(Inoltre, io lavoro in sicurezza informatica, quindi questa non è una richiesta "Black Hat" in alcun modo!)
Ho provato gli hash di esempio da hashcat.net/wiki/doku.php?id=example_hashes, per escludere un problema di corruzione degli hash, come suggerito da Rory, ma è riuscito a estrarre circa 20 password dagli hash, che è ciò che mi porta a credere che gli hash non possono essere corrotti o che non c'è un ulteriore livello di sicurezza in qualche modo, perché sicuramente questo influenzerebbe ogni hash, non solo la maggior parte di essi?
Tutti gli hash sono stati estratti contemporaneamente dal file NTDS.dit dallo stesso script, quindi dovrebbero essere tutti ok o tutti corrotti? A meno che non abbia frainteso quel suggerimento?
In relazione alla risposta di Royce (Grazie per la risposta completa):
-
Quando dico sterlina, in realtà sono inglese, quindi intendo letteralmente il simbolo "£" anziché "#". Quando ho controllato il charset dei caratteri speciali sul wiki di hashcat il simbolo "£" non è comparso in quella lista? Dato che si tratta di una discarica di hash inglese, mi sono chiesto se questo potrebbe essere parte del problema? Ci scusiamo per la confusione!
-
Riguardo agli hash che sono stati incrinati - sono tutti o 7 per la prima parte e vuoti per la seconda, o 7 per la prima parte e 1-6 per la seconda. Sono alfanumerici con! come l'unico personaggio speciale. Sono parole reali o parole che sono state storpiate con numeri anziché lettere.
-
Non ho più accesso al sistema di destinazione, ma sicuramente il fatto che alcuni degli hash sono stati incrinati significherebbe che il problema non può essere nell'approccio? Nel senso che quelli che hanno lavorato sono stati estratti allo stesso modo?
-
Non sono sicuro che saprei come scoprire la codepage / set di caratteri predefinito del sistema e poiché non ho più accesso al sistema, non so di poter rispondere a quello. Ci sarebbe qualche differenza tra inglese britannico e inglese americano che potrebbe causare problemi se Hashcat sta assumendo gli Stati Uniti?
-
Se sono stati utilizzati caratteri ALT che hanno forzato la memorizzazione delle password come NTLM, non sostituirebbe tutti gli hash LM per tali password con un hash standard "vuoto"? Questo è qualcosa che mi ha confuso, poiché tutti gli hash non incrinati sono diversi, il che significa che ho assunto che siano hash di valori diversi. Avevo anche pensato che fosse improbabile che oltre il 99% degli utenti usasse caratteri pazzi e non standard nelle loro password! (Soprattutto date le password che sono state incrinate!)
-
Per estrarre gli hash ho creato una copia shadow del volume e ho afferrato NTDS.dit e SYSTEM. Ho quindi utilizzato esedbexport per estrarre le tabelle e ntdsxtract (in particolare dsusers.py) per estrarre gli hash. Penso che questo sia un percorso abbastanza standard, ma posso pubblicare link agli strumenti, o più informazioni esatte sul mio processo lì se lo volessi chiarito.
Ancora una volta, penso che la cosa che continua a lanciarmi è che alcuni degli hash si stanno rompendo, quindi se ci fosse un errore in questo processo, o anche con il charset di sistema, non sarebbe hai reso ogni singolo hash senza senso?
Grazie ancora per il tuo aiuto Royce, molto apprezzato.
(Inoltre, sconsigliare la compatibilità a ritroso con LM è qualcosa che abbiamo già fatto!)