Générer des mots de passe avec l'option -x
Dans cette étape, nous allons explorer comment utiliser l'option -x
d'Hydra pour générer des mots de passe en fonction d'un format spécifié. Cela est particulièrement utile lorsque vous avez des informations sur la structure potentielle du mot de passe, comme un préfixe ou un suffixe commun.
L'option -x
d'Hydra vous permet de définir une longueur minimale et maximale pour les mots de passe générés, ainsi qu'un ensemble de caractères à utiliser. La syntaxe est -x min:max:charset
.
Commençons par un exemple simple. Supposons que nous voulions générer des mots de passe de 6 à 8 caractères de long, en utilisant uniquement des lettres minuscules.
Tout d'abord, accédez au répertoire ~/project
:
cd ~/project
Maintenant, utilisons Hydra pour générer des mots de passe et tenter de cracker un serveur FTP. À des fins de démonstration, nous utiliserons un serveur FTP factice qui accepte toujours n'importe quel nom d'utilisateur et mot de passe. Nous utiliserons localhost
comme cible, en supposant qu'un serveur FTP est en cours d'exécution localement (bien qu'il n'ait pas besoin de l'être pour cette étape de génération de mots de passe).
Exécutez la commande suivante :
hydra -l user -P /dev/null -vV -x 6:8:lc localhost ftp
Décortiquons cette commande :
hydra
: L'outil en ligne de commande Hydra.
-l user
: Spécifie le nom d'utilisateur à utiliser. Nous utilisons "user" ici, mais cela pourrait être n'importe quel nom d'utilisateur.
-P /dev/null
: Indique à Hydra de ne pas utiliser un fichier de liste de mots de passe. Nous utilisons -x
pour générer des mots de passe à la place. /dev/null
est un fichier spécial qui jette toute donnée écrite dedans.
-vV
: Active la sortie détaillée, affichant chaque tentative de connexion.
-x 6:8:lc
: C'est la partie clé. Elle indique à Hydra de générer des mots de passe avec :
6
: Longueur minimale de 6 caractères.
8
: Longueur maximale de 8 caractères.
lc
: Utiliser uniquement des lettres minuscules (a-z). D'autres options incluent uc
(majuscules), 12
(chiffres), sc
(symboles). Vous pouvez les combiner, par exemple, lcuc12
pour les minuscules, les majuscules et les chiffres.
localhost
: L'hôte cible (dans ce cas, notre serveur FTP factice).
ftp
: Le service à attaquer (FTP).
Vous verrez Hydra tenter des connexions avec des mots de passe générés comme "aaaaaa", "aaaaaaa", "aaaaaaaa", "aaaaab", etc. Étant donné que nous utilisons /dev/null
comme fichier de mots de passe, Hydra n'utilisera que les mots de passe générés par l'option -x
.
Note importante : Cet exemple utilise un serveur FTP factice à des fins de démonstration. N'essayez pas de cracker des serveurs FTP sans autorisation explicite.
Maintenant, essayons un exemple plus complexe. Supposons que nous sachions que les mots de passe pourraient commencer par "prefix" et se terminer par un chiffre, avec 4 à 6 caractères alphanumériques entre eux.
Nous ne pouvons pas directement spécifier un préfixe et un suffixe avec -x
. Cependant, nous pouvons générer la partie centrale et ensuite ajouter les parties connues au début et à la fin en utilisant d'autres outils (comme sed
ou awk
) pour créer un fichier de liste de mots de passe, que nous utiliserions ensuite avec Hydra. Pour simplifier, nous nous limiterons à l'utilisation de base de -x
dans cette étape. Nous explorerons des manipulations plus avancées de listes de mots de passe dans les étapes suivantes.
Pour l'instant, générons des mots de passe de 8 à 10 caractères de long, en utilisant des lettres minuscules et des chiffres :
hydra -l user -P /dev/null -vV -x 8:10:lc12 localhost ftp
Cela générera des mots de passe comme "aaaaaaaa", "aaaaaaa1", "aaaaaa11", etc.
Cette étape a démontré comment utiliser l'option -x
pour générer des mots de passe avec des contraintes de longueur et d'ensemble de caractères spécifiques. C'est une technique puissante lorsque vous avez des informations préalables sur la structure potentielle du mot de passe.