Programma per decifrare il file shadow di Linux


Risposte:


29

Le password su un sistema Linux non sono crittografate, ma sono cancellate, il che è una grande differenza.

Non è possibile invertire una funzione hash per definizione. Per ulteriori informazioni, consultare la voce di Hash Wikipedia .

La funzione hash utilizzata dipende dalla configurazione del sistema. MD5 e blowfish sono esempi comuni per le funzioni hash utilizzate.

Quindi la password "reale" di un utente non viene mai memorizzata nel sistema.

Se accedi, la stringa che inserisci come password verrà sottoposta a hash e verificata rispetto al tuo file / etc / shadow. Se corrisponde, hai ovviamente inserito la password corretta.

Comunque ci sono ancora alcuni vettori di attacco contro gli hash delle password. È possibile mantenere un dizionario di password popolari e provarle automaticamente. Ci sono molti dizionari disponibili su Internet. Un altro approccio sarebbe quello di provare tutte le possibili combinazioni di personaggi che consumeranno una grande quantità di tempo. Questo è noto come attacco bruteforce.

I Rainbowtables sono un altro bel vettore di attacco contro gli hash. L'idea alla base di questo concetto è semplicemente pre-calcolare tutti gli hash possibili e quindi cercare un hash nelle tabelle per trovare la password corrispondente. Esistono diversi progetti di calcolo distribuito per creare tali tabelle , la dimensione differisce dai caratteri utilizzati ed è principalmente di diversi TB.

Per ridurre al minimo il rischio di tali tabelle di ricerca è una pratica comune e il comportamento predefinito in Unix / Linux aggiungere un cosiddetto " salt " all'hash della password. Hai hash la tua password, aggiungi un valore salt casuale all'hash e hash di nuovo questa nuova stringa. È necessario salvare il nuovo hash e il salt per poter verificare se un valore inserito è la password corretta. L'enorme vantaggio di questo metodo è che dovresti creare nuove tabelle di ricerca per ogni singolo sale.

Uno strumento popolare per eseguire attacchi di dizionario o forza bruta contro le password degli utenti di diversi sistemi operativi è John The Ripper (o JTR). Vedi la homepage del progetto per maggiori dettagli:

John the Ripper è un veloce cracker di password, attualmente disponibile per molte versioni di Unix, Windows, DOS, BeOS e OpenVMS. Il suo scopo principale è quello di rilevare password Unix deboli.


Esistono tutorial di animazione disponibili per spiegare queste cose?
Kumar,

3
Quali cose? Non ne conosco nessuno, ma IMHO le risorse collegate spiegano gli argomenti in modo abbastanza chiaro e sono sicuro che troverai molte più informazioni se fai un piccolo sforzo nella ricerca / lettura.
echox,

1
Penso che stiano chiedendo un tutorial su YouTube perché la comprensione della lettura è un'abilità sopravvalutata in questi giorni.
Shadur,

1

È praticamente impossibile decifrare quelle password poiché sono crittografate a senso unico.


Puoi parlarci della crittografia unidirezionale?
Kumar,

3
Crittografia unidirezionale significa che non memorizzi la password ma solo il suo valore di hash. E la proprietà speciale dell'hash è che non è possibile ricreare la password da esso. Pensa a come memorizzare solo un numero come la quantità di lettere. Se memorizzo un "5", posso quindi verificare rapidamente se la parola "Kumar" può essere la password. Ma da "5" non posso calcolare indietro a "Kumar" (esempio semplificato, l'hash è più complesso e le collisioni sono molto meno comuni (se non rare) con i moderni algoritmi di hashing)
tante

1

Puoi decrittografare il file shadow solo con la forza bruta: include gli hash delle password, quindi l'unica possibilità è indovinare le password, calcolare l'hash e verificare se gli hash sono identici. Vedi Wikipedia per i dettagli sulla generazione dell'hash.


1

Come altri hanno già detto, non puoi davvero decifrare il file shadow.

L'unica cosa che puoi provare è indovinare la password usando uno strumento come John the Ripper . Questo potrebbe non riuscire, e quasi sicuramente richiederà molto tempo.


1

Le password vengono crittografate utilizzando un algoritmo che accetta una password e crea un hash univoco per quella password. Questo hash è memorizzato nel file / etc / shadow. Non è possibile recuperare la password dall'hash. L'unico metodo per recuperare una password è forzare brutalmente l'intero spazio delle chiavi o utilizzare una sorta di attacco del dizionario . Le prime funzioni di hash utilizzavano lo standard DES. L'aumento della potenza di calcolo ha permesso di forzare lo spazio dei tasti DES in un tempo ragionevole. Le moderne funzioni hash utilizzate per crittografare le password includono MD5, SHA ecc. Ulteriori informazioni sulla libreria crypt (3) sono disponibili qui .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.