John the Ripper

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
John the Ripper
Développeur Alexander Peslyak (SolarDesigner) / Openwall Project
Dernière version 1.7.9
Environnement Multi-plateforme
Langue Anglais
Type Cassage de mot de passe (Password cracking)
Licence GPL
Site web openwall.com/john

John the Ripper (ou JTR, ou John) est un logiciel libre de cassage de mot de passe, utilisé notamment pour tester la sécurité d'un mot de passe. (audit, crack). D'abord développé pour tourner sous les systèmes dérivés d'UNIX, le programme fonctionne aujourd'hui sous une cinquantaine de plates-formes différentes, telles que BeOS, BSD et ses dérivés, DOS, Linux, OpenVMS, Win32

John est l'un des craqueurs de mots de passe les plus populaires, car il inclut l'autodétection des tables de hachage utilisées par les mots de passe, l'implémentation d'un grand nombre d’algorithmes de cassage, par le fait qu'il soit très facilement modifiable, et aussi qu'il soit possible de reprendre une attaque après une pause (arrêt de la machine).

Types de mots de passe supportés[modifier | modifier le code]

John est capable de casser différents formats de chiffrement de mots de passe, notamment les mots de passe hachés avec les algorithmes suivants : MD5, Blowfish, Kerberos, AFS, et les LM hashes de Windows NT/2000/XP/2003. Des modules additionnels sont disponibles pour lui permettre de casser les mots de passe basés sur les hash MD4 et les mots de passe enregistrés dans MySQL ou LDAP, ainsi que les mots de passe NTLM, pour les dernières versions de Windows.

Il n'est pas nécessaire d'avoir un accès physique sur la machine à auditer, tant qu'on dispose d'un fichier dans lequel sont enregistrés les mots de passe hachés.

Modes d'action[modifier | modifier le code]

John dispose de quatre modes d'actions, le mode simple, l'attaque par dictionnaire, le mode incrémental et le mode Markov. Par défaut, les trois premiers modes sont exécutés dans cet ordre l'un après l'autre, bien qu'il soit possible de lancer John directement dans un des modes.

Mode simple[modifier | modifier le code]

Dans le mode simple, John effectue quelques transformations sur le nom d'utilisateur, pour casser les mots de passe les plus faibles. Pour l'utilisateur toto, il essayerait "ToTo, toto123, ToTo123, etc…". Ce mode est le plus rapide à effectuer, un mot de passe qui serait cassé par cette méthode serait un mauvais mot de passe.

Attaque par dictionnaire[modifier | modifier le code]

Article détaillé : Attaque par dictionnaire.

Dans ce mode, John essaye un à un tous les mots d'une liste (par défaut, password.lst fournie avec contenant plus de 3000 mots) de mots de passe potentiels, en leur appliquant les mêmes transformations que dans le mode précédent.

Il est possible de spécifier sa propre liste de mots avec l'option --wordlist=chemin/vers/le/fichier.

Mode incrémental[modifier | modifier le code]

Article détaillé : Attaque par force brute.

Dans ce mode, John va essayer toutes les combinaisons de caractères possibles, jusqu'à trouver le mot de passe. Tous les caractères étant testés, ce mode est techniquement infaillible, bien que la robustesse du mot de passe influe grandement sur le temps de calcul nécessaire à le trouver.

Afin d'augmenter la pertinence de l'algorithme, John implémente la recherche des caractères par fréquence d'utilisation, pour rechercher d'abord les caractères les plus utilisés statistiquement.

Dérivés[modifier | modifier le code]

John the Ripper étant un logiciel libre, plusieurs personnes ont créé leur propre version modifiée, afin d'implémenter de nouvelles fonctions, par exemple Distributed John permettant de répartir le calcul sur plusieurs ordinateurs en réseau afin d'augmenter l'efficacité du cassage, ou la version Multi-Core créée par John Jean permettant de tirer au maximum profit des ressources de son ordinateur pour le calcul.

Utilisation[modifier | modifier le code]

John s'utilise en ligne de commande: L'utilisateur commence par récupérer la liste de mots de passe chiffrés, qu'il peut formater correctement pour la rendre compréhensible par John avec l'utilitaire unshadow. L'utilisateur lance John avec ou sans options, en précisant le chemin du fichier ou sont enregistrés les mots de passe chiffrés. John affiche le type de formatage qu'il a détecté.

Ensuite, si l'utilisateur presse une touche, il verra apparaître une ligne du type "guesses: U time: V W% (X) c/s: Y trying: Z", ou U représente le nombre de mots de passe cassés, V le temps depuis le début de l'attaque, W le pourcentage effectué dans l'attaque, X représente le mode utilisé (simple, dictionnaire, ou incrémental), Y le nombre de coups par seconde et Z la dernière chaîne de caractères testée. Cette ligne peut changer en fonction des options spécifiées au programme.

Une fois le cassage fini, on peut afficher le mot de passe avec l'option --show chemin/vers/le/fichier.

Voir aussi[modifier | modifier le code]

Liens externes[modifier | modifier le code]