Trova algoritmo da Digest e Plaintext

0

Voglio modificare una stringa di connessione in un file di configurazione contenente quella che sembra essere una password con hash.

Conosco i seguenti:

-oldPwd in current configured file
-oldHash in current configured file
-newPwd

Voglio generare hash(newPwd) , ma ho bisogno di definire l'hash utilizzato. Come posso farlo?

oldHash = i7DFG05HX+G/VCbVTxBY1w==

Tutto il mio pensiero si basa sul fatto che questa è la base64 della password hash ... quindi un binario a 128 bit, se ho ragione.

    
posta refex 18.05.2017 - 17:31
fonte

3 risposte

1

Se puoi cambiare la password in una stringa conosciuta, cambialo in "password" (o qualcosa di semplice), converti la base64 nella più comune formattazione esadecimale con un comando come questo:

$ echo 'KGdV+tBIacpSMyCszg3GpA==' | base64 -d | xxd -g16
00000000: 286755fad04869ca523320acce0dc6a4  (gU..Hi.R3 .....

Quindi inserisci la stringa ( 286755fad04869ca523320acce0dc6a4 ) in un file ed esegui gli strumenti di cracking della password contro di essa usando qualsiasi algoritmo a 128 bit che supportano:

~/tools/JohnTheRipper/run $ echo '286755fad04869ca523320acce0dc6a4' > test.hex
~/tools/JohnTheRipper/run $ ./john --format=raw-md5 ./test.hex 
Using default input encoding: UTF-8
Loaded 1 password hash (Raw-MD5 [MD5 256/256 AVX2 8x3])
Press 'q' or Ctrl-C to abort, almost any other key for status
[.....]

Se sei fortunato, è qualcosa di standard e sarà solo pop.

Altrimenti, potresti dover fare un po 'di investigazione per capire come è salato o altro.

    
risposta data 18.05.2017 - 20:30
fonte
1

All my thinking is based on the fact that this is base64 of the hashed password... so a 128 bit binary, if I'm right.

Sì, è del tutto plausibile che hai a che fare con un hash a 128 bit con codifica Base64. Ma dovresti ancora indovinare quale funzione di hashing con lunghezza digest di 128 bit è stata utilizzata - non esiste una scorciatoia per questo.

Ad esempio, la lunghezza corrisponderebbe a MD5. In tal caso, puoi verificarlo con la tua password conosciuta in questo modo:

$ echo "password" | openssl md5 -binary | base64 
KGdV+tBIacpSMyCszg3GpA==

La stringa di output dovrebbe corrispondere all'hash nel file di configurazione.

Wikipedia ha un elenco di funzioni hash crittografiche con le relative lunghezze digest. È possibile verificare tutte le voci a 128 bit tramite tentativi ed errori. Ma l'approccio più intelligente dovrebbe ovviamente esaminare il codice sorgente dell'applicazione con cui si ha a che fare, se possibile.

    
risposta data 18.05.2017 - 18:23
fonte
1

Ci sono strumenti là fuori che tentano di identificare l'algoritmo di hashing che è in uso.

link

In caso contrario, provare a decifrare la password usando hashcat o qualcosa di simile, come suggerito da Ron, potrebbe essere un buon percorso da intraprendere.

Se si ha accesso all'origine delle applicazioni, agli assembly o ai binari, è possibile provare e identificare i componenti utilizzati per la crittografia e la decrittografia. È quindi possibile riutilizzare questo codice, ottenere informazioni sufficienti sull'algoritmo in uso per scrivere qualcosa da soli o trovare uno strumento.

    
risposta data 17.08.2017 - 03:58
fonte

Leggi altre domande sui tag