Domanda Risolto Decryptare password shadow file

Stato
Discussione chiusa ad ulteriori risposte.

fisica-all

Utente Jade
13 Aprile 2014
1,427
162
332
914
Ultima modifica:
Ciao a tutti,
ho trovato un vecchio pc che usavo anni fa all'universita', ma del quale purtroppo non ricordo piu' la pwd.
Ho cercato di documentarmi, ed ho scaricato il file shadow.

Iniziando con $6, ho letto che per l'hash e' stato utilizzato l'SHA512 (corretto?)
Allora ho salvato anche il salt e ho provato ad "hackerarmi" la password tramite uno pseudo brute force da me creato.

La mia domanda pero' e': poiche' con tutte le combinazioni possibili non mi ha trovato nulla, qualcuno potrebbe dirmi se il mio ragionamento e' corretto?

Python:
hashed = base64.b64encode(hashlib.sha512((salt+ possibile_pwd).encode()).digest())
if hashed.decode() == contenuto_fra_secondo_e_terzo_$: 
    print('FOUND')



Questa riga deriva da varie letture in giro per il web, pero' son sicuro al 99% sia errata... Qualcuno ha dritte? (Non per forza la soluzione, anche rimandi per studiare meglio il caso specifico del bruteforce dello shadow

Grazie a tutti!
Messaggio unito automaticamente:

Update: Ho creato (su un altro pc) un utente (di cui ovviamente conosco la password), ho usato lo stesso codice, ma l'hash ovviamente non corrisponde.
Purtroppo online non trovo spiegazioni su come sia realmente creato questo hash, e' voluta la mancanza di informazioni?
 
Sì, il 6 indica SHA512. Stai sbagliando qui
hashed = base64.b64encode(hashlib.sha512((salt+ possibile_pwd).encode()).digest())
Il salt concettualmente è solo una stringa da appendere alla password, ma in pratica la faccenda è un po' più complicata. Ti consiglio di cambiare libreria e di usarne una che prevede l'uso del salt, sempre che non si possa già fare con ciò che stai usando. Se lo vuoi fare in C, gran parte del codice lo trovi qui, ma anche li dovrai modificare un po' di cose per farlo funzionare con il salt. Io ci ho provato usando crypt e sono riuscito facilmente generare l'hash associato alla mia password (e anche la mia distro usa SHA512).
 
  • Grazie
  • Mi piace
Reazioni: 0xbro e fisica-all
Ultima modifica:
Grazie come sempre per la risposta esaustiva!
Io avevo provato con crypt, ma avevo problemi con il modulo, riprovo e vedo se riesco a fare qualche passo in avanti, grazie mille!

Se non dovessi farcela studio le tue soluzioni in C e se mi dovesse servire, le traduco :D

EDIT:
con crypt ce l'ho fatta, grazie mille @St3ve !
Devo solo capire altre cose ora, ma almeno mi hai dato un ottimo input per continuare lo studio :D
 
Stato
Discussione chiusa ad ulteriori risposte.