Personnaliser les numéros de port Hydra

HydraHydraBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous apprendrez à personnaliser le numéro de port FTP sur un système cible, puis à utiliser Hydra pour effectuer une attaque de force brute contre le service FTP sur ce port personnalisé. Cette compétence est précieuse pour les testeurs de pénétration et les professionnels de la sécurité qui doivent évaluer la sécurité des systèmes configurés avec des ports FTP non standard.

Le laboratoire consiste à configurer le serveur FTP sur la machine virtuelle LabEx pour écouter sur un port non standard en modifiant le fichier vsftpd.conf et en redémarrant le service FTP. Vous utiliserez ensuite la commande netstat pour vérifier que le serveur FTP écoute sur le nouveau port. Enfin, vous utiliserez Hydra avec l'option -s pour spécifier le port personnalisé et exécuter une attaque FTP, en vérifiant que Hydra peut se connecter avec succès au service FTP sur le port configuré.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hydra(("Hydra")) -.-> hydra/HydraGroup(["Hydra"]) hydra/HydraGroup -.-> hydra/ssh_attack("SSH Brute Force") hydra/HydraGroup -.-> hydra/verbose_mode("Verbose Mode Usage") hydra/HydraGroup -.-> hydra/custom_port("Custom Port Attack") subgraph Lab Skills hydra/ssh_attack -.-> lab-550765{{"Personnaliser les numéros de port Hydra"}} hydra/verbose_mode -.-> lab-550765{{"Personnaliser les numéros de port Hydra"}} hydra/custom_port -.-> lab-550765{{"Personnaliser les numéros de port Hydra"}} end

Configurer le FTP sur un port non standard

Dans cette étape, nous allons configurer le serveur FTP sur la machine virtuelle LabEx pour qu'il écoute sur un port non standard. Par défaut, le FTP utilise le port 21. Changer le port FTP peut aider à réduire le risque d'attaques automatisées ciblant le port par défaut.

Tout d'abord, éditons le fichier de configuration du FTP. Nous utiliserons l'éditeur nano, qui est préinstallé sur la machine virtuelle LabEx.

sudo nano /etc/vsftpd.conf

Cette commande ouvre le fichier vsftpd.conf dans l'éditeur nano.

Ajoutez la ligne suivante au fichier :

listen_port=2121
add listen_port

Si la ligne listen_port n'existe pas, ajoutez-la au fichier. Il est recommandé de l'ajouter près du haut du fichier.

Après avoir effectué les modifications, enregistrez le fichier en appuyant sur Ctrl+X, puis sur Y pour confirmer, et enfin sur Enter pour enregistrer avec le même nom de fichier.

Ensuite, nous devons redémarrer le service FTP pour que les modifications prennent effet.

sudo service vsftpd restart

Cette commande redémarre le service FTP. Vous devriez voir un message indiquant que le service a été redémarré.

Enfin, vérifions que le serveur FTP écoute maintenant sur le nouveau port. Nous pouvons utiliser la commande netstat pour vérifier les ports d'écoute.

sudo netstat -tulnp | grep vsftpd

Cette commande affiche toutes les informations sur les ports TCP, UDP, d'écoute et les processus, puis filtre la sortie pour n'afficher que les lignes contenant "vsftpd". Vous devriez voir une ligne indiquant que vsftpd écoute sur le port 2121 (ou le port que vous avez choisi).

Exemple de sortie :

tcp6       0      0 :::2121                 :::*                    LISTEN      1027/vsftpd
check FTP port

Si vous voyez le nouveau numéro de port dans la sortie, cela signifie que le serveur FTP écoute maintenant sur le nouveau port.

Spécifier le port avec l'option -s

Dans cette étape, nous allons apprendre à spécifier un port non standard lorsque nous utilisons la commande ftp. Cela est crucial car dans l'étape précédente, nous avons changé le port d'écoute du serveur FTP du port par défaut 21 à un port personnalisé (par exemple, 2121). Maintenant, lorsque nous nous connectons au serveur, nous devons indiquer au client ftp quel port utiliser.

La commande ftp propose l'option -p pour spécifier le numéro de port. Cependant, Hydra utilise l'option -s pour spécifier le port. Il est important de comprendre cette différence car nous préparons l'attaque avec Hydra dans l'étape suivante.

Essayons de nous connecter au serveur FTP en utilisant la commande ftp avec l'option -p pour vérifier la connexion. Remplacez localhost par l'adresse IP de la machine virtuelle LabEx. Si vous exécutez ce laboratoire sur la même machine virtuelle, vous pouvez utiliser localhost ou 127.0.0.1.

ftp -p localhost 2121

Vous serez invité à saisir le nom d'utilisateur et le mot de passe. Appuyez sur Ctrl+C pour quitter.

Maintenant, simulons la façon dont Hydra spécifiera le port. Bien que nous n'utilisions pas encore réellement Hydra, cette étape est importante pour comprendre la syntaxe. Hydra utilise l'option -s pour spécifier le port.

La syntaxe de Hydra pour spécifier le port est différente de celle de la commande ftp standard. Hydra utilise -s suivi du numéro de port. Par exemple, si nous utilisions Hydra pour attaquer le service FTP sur le port 2121, nous inclurions -s 2121 dans la commande Hydra.

Pour illustrer cela, créons une commande Hydra factice. Nous ne l'exécuterons pas, mais elle montrera la bonne syntaxe.

hydra -l ftpuser -P ~/project/password.txt localhost ftp -s 2121
hydra syntax

Le point clé ici est la partie -s 2121. Cela indique à Hydra de se connecter au service FTP sur le port 2121.

En résumé, tandis que la commande ftp standard utilise -p pour spécifier le port, Hydra utilise -s. Comprendre cette différence est crucial pour l'étape suivante, où nous exécuterons une attaque FTP en utilisant Hydra.

Exécuter une attaque FTP sur un port personnalisé

Dans cette étape, nous allons utiliser Hydra pour effectuer une attaque de force brute contre le service FTP exécuté sur le port non standard que nous avons configuré dans la première étape. Nous utiliserons la liste de mots de passe créée lors de la phase de configuration.

Maintenant, nous sommes prêts à lancer l'attaque avec Hydra. Remplacez localhost par l'adresse IP de la machine virtuelle LabEx. Si vous exécutez ce laboratoire sur la même machine virtuelle, vous pouvez utiliser localhost ou 127.0.0.1.

hydra -l ftpuser -P ~/project/password.txt localhost ftp -s 2121 -vV

Décortiquons cette commande :

  • hydra : La commande pour exécuter l'outil Hydra.
  • -l ftpuser : Spécifie le nom d'utilisateur à attaquer.
  • -P ~/project/password.txt : Spécifie le chemin vers le fichier de liste de mots de passe créé lors de la configuration.
  • localhost : Spécifie l'adresse IP cible. Remplacez localhost par l'adresse IP réelle.
  • ftp : Spécifie le service à attaquer (FTP dans ce cas).
  • -s 2121 : Spécifie le numéro de port. Cela est crucial car nous avons changé le port FTP en 2121 dans la première étape.
  • -vV : Active le mode verbeux, qui affiche les tentatives de connexion en temps réel.

Exécutez la commande. Hydra commencera à tester différents mots de passe du fichier ~/project/password.txt contre le service FTP sur le port spécifié.

Si Hydra trouve le bon mot de passe, il affichera les informations de connexion réussie. Par exemple :

[ATTACKER] attacking ftp://localhost:2121/
[2121][ftp] host: localhost   login: ftpuser   password: password123

Si Hydra ne trouve pas le bon mot de passe, il testera tous les mots de passe de la liste puis se terminera sans afficher de connexion réussie.

Important Note de Sécurité : Ce laboratoire est destiné uniquement à des fins éducatives. N'utilisez pas Hydra pour attaquer des systèmes sans autorisation explicite. L'accès non autorisé à des systèmes informatiques est illégal et contraire à l'éthique.

Valider la connexion au bon port

Dans cette étape finale, nous allons valider que nous pouvons toujours nous connecter au serveur FTP sur le port personnalisé après l'attaque tentée avec Hydra. Cela confirme que le service FTP fonctionne comme prévu et que nous pouvons y accéder en utilisant le port spécifié.

Utilisez la commande ftp avec l'option -p pour vous connecter au serveur FTP sur le port personnalisé. Remplacez localhost par l'adresse IP de la machine virtuelle LabEx. Si vous exécutez ce laboratoire sur la même machine virtuelle, vous pouvez utiliser localhost ou 127.0.0.1.

ftp -p 2121 localhost

Vous serez invité à saisir le nom d'utilisateur et le mot de passe. Utilisez les identifiants que nous avons créés lors de la configuration :

  • Nom d'utilisateur : ftpuser
  • Mot de passe : password123

Si la connexion réussit, vous serez connecté au serveur FTP.

ftp login

Si vous ne parvenez pas à vous connecter, vérifiez les points suivants :

  • Assurez-vous que le service FTP est toujours en cours d'exécution. Vous pouvez vérifier cela en utilisant la commande netstat -tulnp | grep vsftpd, comme nous l'avons fait dans la première étape.
  • Vérifiez que le port FTP est toujours défini sur 2121 (ou le port que vous avez choisi) dans le fichier /etc/vsftpd.conf.
  • Assurez-vous qu'il n'y a pas de règles de pare-feu bloquant les connexions au port personnalisé. (Notez que l'environnement de la machine virtuelle LabEx n'a généralement pas de pare-feu activé par défaut, mais il est bon de garder cela à l'esprit pour les scénarios réels.)
  • Confirmez que vous utilisez le bon nom d'utilisateur et le bon mot de passe.

Une connexion réussie confirme que le serveur FTP fonctionne sur le port personnalisé et que vous pouvez vous y connecter en utilisant la commande ftp avec l'option -p. Cela valide également que l'attaque avec Hydra, même si elle a échoué, n'a pas perturbé le service FTP.

Ceci termine le laboratoire. Vous avez configuré avec succès le protocole FTP sur un port non standard, appris à spécifier le port en utilisant l'option -s avec Hydra, exécuté une attaque de base avec Hydra et validé la connexion au bon port.

Résumé

Dans ce laboratoire, nous avons configuré le serveur FTP sur la machine virtuelle LabEx pour écouter sur un port non standard, plus précisément le port 2121, au lieu du port par défaut 21. Cela a impliqué l'édition du fichier /etc/vsftpd.conf à l'aide de nano pour modifier ou ajouter la directive listen_port, puis le redémarrage du service FTP en utilisant sudo service vsftpd restart.

Enfin, nous avons vérifié que le serveur FTP écoutait effectivement sur le nouveau port en utilisant la commande netstat -tulnp | grep vsftpd pour vérifier les ports d'écoute et confirmer que vsftpd était associé au port 2121.