Fedora Core 5 et John The Ripper
La sécurité de nos systèmes passe le plus souvent par l'utilisation de mots de passe, ceux ci nous servent a nous authentifier auprès du système d'exploitation ou même d'une application en particulier.
Nous faisons parfois beaucoup trop confiance dans l'utilisation de ces mots de passe et ne sommes souvent pas assez vigilant sur la compléxité de ceux-ci alors qu'ils sont la garantie de l'intégrité de nos données.
John the Ripper est l'outil idéal pour vérifier que nous utilisons des mots de passe assez fiable pour qu'ils soient suffisament difficile de les "cracker" afin de décourager un éventuel pirate.
John the Ripper est capable de percer un grand nombre de types de chiffrements très varié.
Les options sont nombreuses se qui fait de
John the Ripper un outil très flexible et particulièrement rapide avec la possibilité d'ajouter des dictionnaires pour optimiser encore la découvert du chiffrement.
Nous allons donc voir maintenant en pratique le fonctionnement de John the Ripper.
Nous allons tout d'abord l'installer :
# yum install john
Ensuite nous allons créer un fichier .htpasswd qui est souvent utilisé par les administrateurs de site web pour protéger une partie de leur site grâce au .htaccess, nous similons donc un administrateur peu consciencieux de la compléxité des mots de passe.
# htpasswd -cb password.txt thierry toto
Adding password for user thierry
Notre fichier est donc crée avec comme nom d'utilisateur thierry et comme password toto.
# cat password.txt
thierry:eLfmznAp33t1I
Nous voyons que le password a été crypter et voici comment très facilement et surtout très rapidement John the Ripper va casser ce password.
# john password.txt
Loaded 1 password (Standard DES 24/32 4K)
toto (thierry)
guesses: 1 time: 0:00:00:07 (3) c/s: 21188 trying: timp2 - maga
Et voilà il a fallu 7 secondes en utilisant une machine avec un processeur cadencé à 450Mhz.
le password est cracké
# john -show password.txt
thierry:toto
1 password cracked, 0 left
Bien sûr John the Ripper utilise toutes les ressources cpu pour effectuer cette opération et plus votre machine est puissante plus la découverte du password est rapide.
N'hésitez donc plus a tester vos fichiers de mots de passe pour améliorer la sécurité de vos systèmes, vous pouvez aussi si vous administrez plusieurs utilisateurs sur votre machine lancer en cron John the Ripper pour qu'il effectue régulièrement des tests et programmer un envoi de mail pour vous prévenir du résultat, vous pourrez ainsi en avertir les utilisateurs concernés.
Si vous avez des compléments à apporter n'hésitez pas à laisser un commentaire.
A+
ps : si vous voulez utiliser des dictionnaires différents consulter ce guide
Intéressant comme programme j'ai un petit test pour mon mot de passe Samba il a mit 1h33 pour le trouver (avec un XP1500@1,2GHz)
Pour info si je fais le même test que toi je met 3s, par contre ce qui est étrenge c'est que j'ai pas la même pour le mot de passe encordé alors j'ai la même ligne de commande :
thierry:UdN9Z6PfsLitw
ça vient peut étre de la différence entre nos version de librairie ou noyau, je sais pas.
Dernière question commen on fait pour testé les mod de passe des utilisateur, j'ai pas trouver où il sont écris ?
Pour la différence entre l'encodage je sais pas je pense que c'est normal.
Par contre pour les pass des users ca dépend des distributions en général c'est soit /etc/shadow soit /etc/passwd
très bon compératif : www.lockdown.co.uk/?pg=co...
Bjr,
j'ai testé john sur l'exemple ci dessus(merci pr le tut) et il m'a raméné le mot de pass en "time: 0:00:00:03". J'ai voulu refaire l'experience sur le fichier de mot de pass(fc4) et là il semble ne pas pouvoir s'en sortir!y'aurait il quelqu un qui serait parvenu?
Pour Fantome : Le cryptage du mot de passe repose sur un "salt" : les deux premieres lettres sont une clef choisi -presque aleatoirement par ta machine (en fonction de l'heure, je crois) ... Si me souvenirs sont bons , du coup, le meme mot de passe peut etre crypté de 4096 manière differente (en fonction des deux caracteres choisis)
Les mots de passe DOIVENT se trouver dans /etc/shadow. En effet, se fichier n'est lisible que par root alors que si ils sont dans /etc/passwd, ils sont lisibles par tout le monde... Si tu as actuellement des mots de passe dans /etc/passwd, c'est simplissime! tu tapes pwconv et ton systeme créera tout seul l'etc/shadow....
Bonne continuation