Domanda programmazione di un decrypter per file hash m4

Stato
Discussione chiusa ad ulteriori risposte.

ciro247

Utente Iron
20 Maggio 2020
4
2
0
11
Ultima modifica:
Salve. Mi sono appena approcciato sia al mondo della programmazione che al mondo dell'hacking, e ho pensato che programmare un decriptatore di file hash md4 sia un modo tanto complicato quanto soddisfacente (in caso di riuscita) per testare le mie abilità. il problema che è sorto è che a un programma che va di bruteforce per decriptare una password gli serve sapere come criptare una password in quel modo.
Mi potreste dire dove posso trovare il codice che cripta in file hash ntlm? Sempre che sia reperibile.
Grazie in anticipo
 
Dipende da linguaggio a linguaggio, ma in generale esiste quasi sempre una libreria chiamata "hash" o "crypt" che contiene i metodi più comuni di hashing
 
Si, anche hashcqt usa degli algoritmi per decriptare gli hash, ma sono centinaia e un motivo ci Sarà.... probabilmente il primo che trovi su internet non é uguale a quello che serve a te, comunque grazie della precisazione ;)
 
allora. il linguaggio che voglio utilizzare è il c. invece quello che serve a me è l'algoritmo usato da windows per salvare le password... nel frattempo ne ho trovato uno online dopo molta ricerca, ma a questo punto non so piu se è quello giusto.
allego il file con l'algoritmo che ho trovato io sperando che qualcuno possa schiarirmi le idee.
grazie per le risposte date:rofl:
 

Allegati

  • md4-c.txt
    5.9 KB · Visualizzazioni: 14
Preciso che le funzioni di hash, come MD4, non c'entrano con l'encryption. Se vuoi cifrare qualcosa devi avere un messaggio e una password, poi ottieni un altro messaggio (il messaggio cifrato) che potrai decifrare usando la password. Nella funzioni di hash non c'è nessuna password: prendi un messaggio e ottini in output un altro messaggio (chiamato digest) e, a meno di fragilità nel sistema, non puoi recuparere il messaggio originale a partire dal digest. Gli hash non si decriptano perché non c'è niente da decriptare. Probabilmente tu sei interessato a trovare una collisione, ovvero trovare un qualsiasi messaggio che ti butta fuori lo stesso digest.

invece quello che serve a me è l'algoritmo usato da windows per salvare le password
Non ho capito.

nel frattempo ne ho trovato uno online dopo molta ricerca, ma a questo punto non so piu se è quello giusto
Basta cercare "MD4 implementation" o "MD4 source" su google e ne trovi diverse. È presente in rosettacode e c'è anche un'implementazione nel kernel Linux (man page). Quella che hai linkato tu viene da rosettacode e direi che va bene. Se stai usando Linux usa direttamente quella presente nel sistema operativo.
 
  • Mi piace
Reazioni: nullptr
Non ho capito.

provo a spiegarmi meglio.... a quanto ho capito, e potrei benissimo sbagliarmi, windows non salva le password degli account in chiaro ma le cripta, quindi per sapere la password dovrei usare un programma che mi decripti con bruteforce il file hash. e sempre a quanto ho capito i file hash delle password di windows utilizzano l'algoritmo md4. ho cercato di farmi capire nel modo piu chiaro possibile. comunque grazie per tutte le risposte che avete dato.
 
Ultima modifica:
provo a spiegarmi meglio.... a quanto ho capito, e potrei benissimo sbagliarmi, windows non salva le password degli account in chiaro ma le
cripta, quindi per sapere la password dovrei usare un programma che mi decripti con bruteforce il file hash. e sempre a quanto ho capito i file hash delle password di windows utilizzano l'algoritmo md4. ho cercato di farmi capire nel modo piu chiaro possibile. comunque grazie per tutte le risposte che avete dato.
Se dai un'occhiata su Wikipedia potrai riscontrare che le funzioni di hash utilizzate per il SAM sono LM/NTLM (quest'ultimo a sua volta si basa su MD4, mentre la versione successiva su MD5). Non so se Windows 10 utilizzi NTLM v1 o NTLM v2.

Secondo me sei interessato invece a delle vulnerabilità attraverso queste due funzioni: pass-the-hash. Alternativamente credo che si possa cambiare direttamente la password, ma questo di per sè non mina la sua sicurezza (ma il sistema).

Probabilmente tu sei interessato a trovare una collisione, ovvero trovare un qualsiasi messaggio che ti butta fuori lo stesso digest.
C'è un tipo di attacco di collisione con MD4, ma non credo che possa praticamente disturbare la sicurezza dell'autenticazione di Windows o in generale delle password. È più utile trovare una preimmagine: un attacco a bruteforce di quasi la metà di tutte le possibili preimmagini per un lavoro di $2^{127}*c$ dove $c$ è il costo dell'estimo di un hash.
 
Stato
Discussione chiusa ad ulteriori risposte.