Utilisation de l'option --rules avec des règles personnalisées
Dans cette étape, vous allez explorer l'option --rules, qui permet à John the Ripper d'appliquer un ensemble de règles prédéfinies ou personnalisées aux mots d'une liste de mots. Les règles sont des transformations puissantes qui peuvent être appliquées aux mots, telles que l'ajout de chiffres, le changement de casse ou la duplication de caractères, augmentant ainsi considérablement les chances de casser les mots de passe qui sont des variations de mots courants.
John est livré avec plusieurs ensembles de règles intégrés, tels que Wordlist (par défaut), Single et Jumbo. Vous pouvez lister les ensembles de règles disponibles en utilisant :
john --list=rules
Cette commande affichera une liste d'ensembles de règles.
Maintenant, utilisons un fichier de règles personnalisé. Nous avons créé un fichier de règles personnalisé simple nommé custom_rules.txt lors de la configuration, qui contient des règles comme :$[0-9] (ajouter un chiffre) et Az (mettre la première lettre en majuscule).
Essayons de casser user1 à nouveau, mais cette fois en utilisant nos règles personnalisées. Supposons que le mot de passe de user1 était Password123 (P majuscule, puis 123). Notre liste de mots ne contient que password. La règle Az mettra la première lettre en majuscule, et :$[0-9] ajoutera un chiffre.
john --wordlist=/home/labex/project/wordlist.txt --rules=/home/labex/project/custom_rules.txt /home/labex/project/passwords.txt --format=sha512crypt
Cette commande appliquera les règles de custom_rules.txt à chaque mot de wordlist.txt avant de les essayer contre les hachages. Par exemple, password pourrait devenir Password, password0, password1, etc., puis Password0, Password1, etc.
Vous pouvez également combiner les règles avec l'option --stdout (que nous aborderons dans l'étape suivante) pour voir quels mots sont générés par vos règles :
john --wordlist=/home/labex/project/wordlist.txt --rules=/home/labex/project/custom_rules.txt --stdout
Cette commande affichera tous les mots générés en appliquant custom_rules.txt à wordlist.txt sur votre terminal. Ceci est utile pour le débogage de vos ensembles de règles.
L'option --rules est une fonctionnalité puissante pour étendre l'efficacité des attaques par liste de mots en générant des variations courantes de mots de passe.