Énumération FTP et Accès Anonyme

NmapBeginner
Pratiquer maintenant

Introduction

Bienvenue dans ce laboratoire pratique sur l'énumération réseau et l'exploitation des protocoles de transfert de fichiers. Dans le domaine de la cybersécurité, la première étape pour évaluer la sécurité d'un système consiste à comprendre quels services il expose sur le réseau. Ce processus est appelé énumération.

Dans ce laboratoire, vous simulerez les phases initiales d'un test d'intrusion. Vous commencerez par confirmer la connectivité à une machine cible. Ensuite, vous utiliserez nmap, un puissant outil d'analyse réseau, pour découvrir les ports ouverts et identifier les services en cours d'exécution. Enfin, vous exploiterez un service FTP mal configuré qui autorise l'accès anonyme pour récupérer un drapeau (flag) caché. Cet exercice vous fournira des compétences fondamentales en reconnaissance et exploitation réseau.

Une fois terminé, vous comprendrez comment :

  • Vérifier la connectivité réseau à l'aide de ping.
  • Scanner les ports ouverts et les services à l'aide de nmap.
  • Se connecter à un service FTP avec accès anonyme.
  • Exploiter une mauvaise configuration courante pour accéder aux fichiers.

Commençons.

Vérifier la Connectivité à la Cible avec Ping

Dans cette étape, vous commencerez la phase de reconnaissance en vérifiant la connectivité au système cible. La commande ping est un utilitaire réseau fondamental utilisé pour tester si un hôte est joignable sur un réseau IP. Elle envoie des paquets ICMP Echo Request à la cible et attend des paquets ICMP Echo Reply.

Votre environnement a été pré-configuré avec un système cible accessible via le nom d'hôte target.

Exécutez la commande suivante dans le terminal pour envoyer quatre paquets à la target et confirmer qu'elle est en ligne :

ping -c 4 target

Vous devriez voir une sortie similaire à la suivante, indiquant que la cible répond et que la connexion est stable. L'adresse IP exacte et les valeurs de temps peuvent varier.

PING target (172.17.0.2) 56(84) bytes of data.
64 bytes from target (172.17.0.2): icmp_seq=1 ttl=64 time=0.086 ms
64 bytes from target (172.17.0.2): icmp_seq=2 ttl=64 time=0.064 ms
64 bytes from target (172.17.0.2): icmp_seq=3 ttl=64 time=0.063 ms
64 bytes from target (172.17.0.2): icmp_seq=4 ttl=64 time=0.064 ms

--- target ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3069ms
rtt min/avg/max/mdev = 0.063/0.069/0.086/0.010 ms

Une fois que vous voyez les réponses réussies, vous pouvez être sûr que votre machine peut communiquer avec la cible.

Scanner les Ports Ouverts avec Nmap

Dans cette étape, vous utiliserez nmap pour effectuer un scan de ports sur la cible. Nmap (Network Mapper) est un outil essentiel pour la découverte de réseaux et l'audit de sécurité. En scannant les ports ouverts, vous pouvez identifier quels services s'exécutent sur la cible, ce qui est une étape cruciale pour trouver des vulnérabilités potentielles.

Exécutez la commande suivante dans votre terminal pour scanner les ports ouverts et détecter les versions des services :

nmap -sV target

Nmap va maintenant scanner la machine target avec la détection de version activée. Après quelques instants, il affichera un rapport de ses découvertes. La sortie devrait ressembler à ceci :

Starting Nmap 7.80 ( https://nmap.org ) at 2025-09-15 10:00 CST
Nmap scan report for target (172.17.0.2)
Host is up (0.00011s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE VERSION
21/tcp open  ftp     vsftpd 3.0.5
Service Info: OS: Unix

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 0.32 seconds

Observez attentivement la sortie. Nmap a découvert que le port 21/tcp est open et qu'il exécute le service ftp avec la version vsftpd 3.0.5. C'est notre point d'entrée pour la prochaine étape.

Se Connecter à la Cible via FTP

Dans cette étape, vous allez tenter de vous connecter au port FTP ouvert que vous avez découvert. FTP (File Transfer Protocol) est un protocole de communication standard utilisé pour transférer des fichiers informatiques entre un serveur et un client. Sa principale vulnérabilité est qu'il peut être mal configuré pour autoriser l'accès anonyme sans authentification appropriée. Nous allons exploiter une mauvaise configuration courante qui permet la connexion anonyme.

Exécutez la commande ftp pour vous connecter à la target :

ftp target

Vous serez connecté au service FTP et invité à saisir un nom d'utilisateur.

Connected to target.
220 (vsFTPd 3.0.5)
Name (target:labex):

Le système demande un identifiant. Une mauvaise configuration courante des services FTP autorise l'accès anonyme. Tapez anonymous à l'invite de connexion et appuyez sur Entrée. Comme le service est configuré pour autoriser l'accès anonyme sans mot de passe, vous pouvez appuyer à nouveau sur Entrée lorsque vous êtes invité à saisir un mot de passe.

Name (target:labex): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

Si cela réussit, vous serez connecté et vous verrez une invite FTP (ftp>). Cela indique que vous avez accédé au service FTP.

ftp>

Vous êtes maintenant connecté au service FTP et pouvez interagir avec le système de fichiers distant.

Explorer le Système Cible et Localiser le Flag

Dans cette étape, après avoir accédé avec succès au service FTP, votre dernière tâche consiste à explorer les fichiers disponibles et à télécharger le drapeau (flag). Cela simule la phase post-exploitation où un attaquant recherche des informations sensibles.

Vous êtes actuellement connecté au service FTP. Utilisez la commande ls pour lister les fichiers et répertoires à l'emplacement distant actuel.

ftp > ls

Vous devriez voir une liste de fichiers. Recherchez un fichier nommé flag.txt.

ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-r--r--    1 0        0              42 Sep 15 11:30 flag.txt
226 Directory send OK.
ftp>

Maintenant que vous avez localisé le fichier, utilisez la commande get pour le télécharger sur votre machine locale. Cela transférera le fichier du serveur distant vers votre répertoire local actuel.

ftp > get flag.txt

Le fichier sera téléchargé et vous devriez voir des messages d'état du transfert.

ftp> get flag.txt
local: flag.txt remote: flag.txt
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for flag.txt (42 bytes).
226 Transfer complete.
42 bytes received in 0.00 secs (17.6 kB/s)
ftp>

Maintenant, quittez la session FTP et affichez le contenu du fichier téléchargé.

ftp > exit

Utilisez la commande cat pour afficher le contenu du fichier flag.txt téléchargé.

cat flag.txt

Le terminal affichera la valeur de hachage du drapeau.

labex{d3adb33f_p0rt_sc4nn1ng_m4st3ry}

Félicitations ! Vous avez réussi à énumérer, accéder et récupérer le drapeau du système cible. Copiez la valeur du drapeau pour terminer le laboratoire.

Résumé

Dans ce laboratoire, vous avez effectué un flux de travail de test d'intrusion de base, de la reconnaissance à l'obtention de l'accès. Vous avez appris à :

  • Utiliser ping pour confirmer qu'une cible est en ligne et accessible.
  • Employer nmap -sV pour effectuer un scan de ports, identifier les ports ouverts et les services qui y tournent.
  • Identifier et se connecter à un service FTP mal configuré avec accès anonyme.
  • Exploiter une mauvaise configuration courante pour accéder aux fichiers sur un système distant.
  • Utiliser les commandes FTP pour lister et télécharger des fichiers depuis le serveur distant.

Cet exercice souligne l'importance des fondamentaux de la sécurité réseau. Les services FTP doivent être correctement configurés avec authentification et contrôles d'accès. L'accès anonyme doit être désactivé sauf si spécifiquement requis, et tous les services de transfert de fichiers doivent utiliser des protocoles sécurisés comme SFTP ou FTPS. En comprenant comment les attaquants opèrent, vous êtes mieux équipé pour défendre vos propres systèmes.