Dans cette étape, vous utiliserez Hydra pour effectuer une attaque par force brute sur le service SSH exécuté sur l'adresse IPv6 que vous avez configurée précédemment. Hydra est un outil puissant de cassage de mots de passe qui prend en charge divers protocoles, y compris SSH.
Avant de commencer, vous allez créer une liste de mots de passe simples. Cette liste contiendra les mots de passe que Hydra tentera d'utiliser pour s'authentifier auprès du service SSH.
-
Démarrer le service SSH :
Tout d'abord, vous devez vous assurer que le service SSH est en cours d'exécution sur le système. Exécutez la commande suivante pour démarrer le service SSH :
sudo systemctl start ssh
Vous pouvez vérifier que le service SSH est en cours d'exécution en vérifiant son statut :
sudo systemctl status ssh
La sortie doit indiquer que le service est actif et en cours d'exécution.
-
Configurer SSH pour écouter sur IPv6 :
Par défaut, SSH peut uniquement écouter sur les adresses IPv4. Vous devez le configurer pour qu'il écoute également sur IPv6. Tout d'abord, vérifiez sur quelles adresses SSH écoute actuellement :
ss -tlnp | grep :22
Vous devriez voir une sortie comme LISTEN 0 128 0.0.0.0:22 0.0.0.0:*, ce qui signifie que SSH n'écoute que sur IPv4.
Maintenant, modifiez le fichier de configuration SSH pour activer l'écoute IPv6 :
sudo nano /etc/ssh/sshd_config
Trouvez la ligne contenant #AddressFamily any ou AddressFamily inet et modifiez-la en :
AddressFamily any
Si la ligne n'existe pas, ajoutez-la. Cela indique à SSH d'écouter sur les adresses IPv4 et IPv6.
Enregistrez le fichier en appuyant sur Ctrl + X, puis Y pour confirmer l'enregistrement, et Entrée pour confirmer le nom de fichier.
Redémarrez le service SSH pour appliquer les modifications :
sudo systemctl restart ssh
Vérifiez que SSH écoute maintenant à la fois sur IPv4 et IPv6 :
ss -tlnp | grep :22
Vous devriez maintenant voir SSH écouter à la fois sur 0.0.0.0:22 (IPv4) et [::]:22 (IPv6).
-
Créer une liste de mots de passe :
Ouvrez votre terminal dans la machine virtuelle LabEx. Vous êtes actuellement dans le répertoire ~/project. Utilisez l'éditeur nano pour créer un fichier nommé passwords.txt dans ce répertoire :
nano passwords.txt
Ajoutez les mots de passe suivants au fichier, un mot de passe par ligne :
password
123456
qwerty
admin
labex
Enregistrez le fichier en appuyant sur Ctrl + X, puis Y pour confirmer l'enregistrement, et Entrée pour confirmer le nom de fichier.
-
Exécuter Hydra pour attaquer le service SSH IPv6 :
Maintenant, vous utiliserez Hydra pour attaquer le service SSH. Vous utiliserez l'option -6 pour spécifier que vous souhaitez cibler l'adresse IPv6. Vous spécifierez également le nom d'utilisateur à attaquer (par exemple, labex), la liste de mots de passe que vous avez créée (passwords.txt) et l'adresse IPv6 du serveur SSH (2001:db8:1::1).
Exécutez la commande suivante :
hydra -6 -l labex -P passwords.txt ssh://[2001:db8:1::1]
Décomposons cette commande :
hydra : La commande pour exécuter l'outil Hydra.
-6 : Spécifie que Hydra doit utiliser IPv6.
-l labex : Spécifie le nom d'utilisateur à attaquer. Dans ce cas, vous attaquez l'utilisateur labex.
-P passwords.txt : Spécifie la liste de mots de passe à utiliser. Dans ce cas, vous utilisez le fichier passwords.txt que vous avez créé dans le répertoire actuel ~/project.
ssh://[2001:db8:1::1] : Spécifie le service SSH cible. Le préfixe ssh:// indique que vous attaquez un service SSH, et [2001:db8:1::1] est l'adresse IPv6 du serveur entre crochets (obligatoire pour les adresses IPv6 dans Hydra).
Hydra commencera maintenant à essayer les mots de passe du fichier passwords.txt contre le service SSH. Si Hydra trouve un mot de passe valide, il affichera les identifiants. La sortie peut ressembler à ceci si aucun mot de passe n'est trouvé :
(Sortie similaire à l'exemple précédent)
Si aucun mot de passe n'est trouvé, vous pouvez essayer d'ajouter plus de mots de passe courants à votre fichier passwords.txt. Vous pouvez également utiliser l'option -V pour afficher une sortie détaillée montrant chaque tentative.
(Sortie similaire à l'exemple précédent)
Si Hydra trouve un mot de passe avec succès, la sortie ressemblera à ceci :
(Sortie similaire à l'exemple précédent)
Ceci indique que Hydra a réussi à trouver le mot de passe pour l'utilisateur labex.
Important : Forcer les mots de passe d'un système sans autorisation est illégal et contraire à l'éthique. Ce laboratoire est uniquement à des fins éducatives, et vous ne devez utiliser ces techniques que sur des systèmes que vous possédez ou pour lesquels vous avez une autorisation explicite de test.