CRAKING / HASHING DELLE PASSWORD SU LINUX
Puoi facilmente estrarre la password crittografata con awk. È quindi necessario estrarre il prefisso $algorithm$salt$ (presumendo che questo sistema non stia usando il tradizionale DES, di cui è fortemente sconsigliato l'utilizzo perché può essere forzato con un attacco di forza bruta).
Codice: Seleziona tutto
correct=$(</etc/shadow awk -v user=bob -F : 'user == $1 {print $2}')
prefix=${correct%"${correct#\$*\$*\$}"}
Per verificare una password puoi usare la funzione crypt (altro metodo deprecato al giorno d'oggi) tramite Perl, poichè purtroppo non esiste un comando shell standard per accedervi. Per l'esecuzione di questa funzione basta eseguire questo script dalla riga di comando:
Codice: Seleziona tutto
supplied=$(echo "$password" |
perl -e '$_ = <STDIN>; chomp; print crypt($_, $ARGV[0])' "$prefix")
if [ "$supplied" = "$correct" ]; then …
==========================================================================================
==========================================================================================
Dai un'occhiata man 5 shadow e man 3 crypt . Da quest'ultimo, è possibile apprendere che gli hash delle password in /etc/shadow hanno il seguente formato:
dove id definisce il tipo di crittografia e, leggendo ulteriormente, può essere uno di
ID | Method
---------------------------------------------------------
1 | MD5
2a | Blowfish (not in mainline glibc; added in some
| Linux distributions)
5 | SHA-256 (since glibc 2.7)
6 | SHA-512 (since glibc 2.7)
A seconda del tipo di hash, è necessario utilizzare la funzione / lo strumento appropriato per generare e verificare la password "a mano". Se il sistema contiene il programma mkpasswd , puoi usarlo come suggerito qui . (Prendi il sale dal file shadow, se non fosse ovvio.) Ad esempio, con le password md5 :
genererà la stringa che dovrebbe corrispondere alla voce /etc/shadow .
==========================================================================================
==========================================================================================
Il nome utente e le password sono scritti nel /etc/shadow . basta avere l'utente e l'hash della password da lì ( sed sarebbe d'aiuto), cancellare la tua password e controllare.
usa mkpasswd per generare l'hash. devi vedere quale sale sta usando la tua versione. l'ombra più recente utilizza sha-512 così:
mkpasswd -m sha-512 password salt
le manpage possono aiutarti molto.
Più facile sarebbe usare php e il modulo pam-aut. lì puoi controllare vie php su utente di accesso di gruppo pwd.