Personnalisation des numéros de port Hydra

HydraBeginner
Pratiquer maintenant

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 par force brute contre le service FTP sur ce port personnalisé. Il s'agit d'une compétence précieuse pour les testeurs d'intrusion et les professionnels de la sécurité qui doivent évaluer la sécurité de systèmes configurés avec des ports FTP non standard.

Le laboratoire consiste à configurer le serveur FTP sur la machine virtuelle LabEx pour qu'il écoute 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 bien sur le nouveau port. Enfin, vous utiliserez Hydra avec l'option -s pour spécifier le port personnalisé et exécuter une attaque FTP, validant ainsi la capacité d'Hydra à se connecter avec succès au service FTP sur le port configuré.

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, modifions le fichier de configuration 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 vers le début du fichier.

Après avoir effectué les modifications, enregistrez le fichier en appuyant sur Ctrl+X, puis Y pour confirmer, et enfin Entrée pour enregistrer sous 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 une sortie indiquant que le service a été redémarré.

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

sudo netstat -tulnp | grep vsftpd

Cette commande affiche toutes les informations TCP, UDP, d'écoute et de processus, puis filtre la sortie pour ne montrer 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 désormais sur le nouveau port.

Spécifier le port avec l'option -s

Dans cette étape, nous apprendrons comment spécifier un port non standard lors de l'utilisation de la commande ftp. C'est crucial car, à l'étape précédente, nous avons modifié le port d'écoute du serveur FTP du port 21 par défaut vers un port personnalisé (par exemple, 2121). Maintenant, lors de la connexion au serveur, nous devons indiquer au client ftp quel port utiliser.

Pour la commande ftp, vous pouvez spécifier un port non standard en fournissant HOST PORT, comme ftp localhost 2121. Cependant, Hydra utilise l'option -s pour spécifier le port. Il est important de comprendre cette différence alors que nous nous préparons pour l'attaque Hydra à l'étape suivante.

Essayons de nous connecter au serveur FTP en utilisant la forme hôte-et-port de la commande ftp 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 localhost 2121

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

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

La syntaxe d'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 fictive. Nous ne l'exécuterons pas, mais elle illustrera la syntaxe correcte.

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é, la commande ftp standard peut utiliser HOST PORT pour spécifier le port cible, tandis qu'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 utiliserons Hydra pour effectuer une attaque par force brute contre le service FTP fonctionnant sur le port non standard que nous avons configuré à la première étape. Nous utiliserons la liste de mots de passe créée lors de la phase de configuration.

Nous sommes maintenant prêts à lancer l'attaque 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

Analysons 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. C'est crucial car nous avons changé le port FTP en 2121 à 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 à essayer 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 essaiera tous les mots de passe de la liste, puis quittera sans afficher de connexion réussie.

Note de sécurité importante : Ce laboratoire est 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 port correct

Dans cette dernière étape, nous validerons que nous pouvons toujours nous connecter au serveur FTP sur le port personnalisé après la tentative d'attaque 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'hôte et le port 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 localhost 2121

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 le vérifier en utilisant la commande netstat -tulnp | grep vsftpd, comme nous l'avons fait à la première étape.
  • Vérifiez que le port FTP est toujours réglé sur 2121 (ou le port que vous avez choisi) dans le fichier /etc/vsftpd.conf.
  • Assurez-vous qu'aucune règle de pare-feu ne bloque les connexions vers le port personnalisé. (Note : 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 avec ftp localhost 2121. Cela valide également que l'attaque Hydra, même si elle n'a pas abouti, n'a pas perturbé le service FTP.

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

Résumé

Dans ce laboratoire, nous avons configuré le serveur FTP sur la machine virtuelle LabEx pour qu'il écoute sur un port non standard, spécifiquement le port 2121, au lieu du port 21 par défaut. Cela a impliqué la modification du fichier /etc/vsftpd.conf à l'aide de nano pour modifier ou ajouter la directive listen_port, suivie du redémarrage du service FTP à l'aide de sudo service vsftpd restart.

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