Utiliser un scanner auxiliaire pour l'énumération FTP dans Metasploit

CybersécuritéBeginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, vous apprendrez les bases de l'utilisation du Metasploit Framework pour la collecte d'informations. Plus précisément, vous vous concentrerez sur l'énumération FTP (File Transfer Protocol) à l'aide d'un module de scan auxiliaire.

Metasploit est un puissant framework de test d'intrusion qui simplifie le piratage. Il contient une vaste collection d'outils, d'exploits et de modules. Les modules auxiliaires sont un composant clé, utilisés pour des tâches telles que le scan, le fuzzing et la reconnaissance, qui n'impliquent pas d'exploitation directe.

L'énumération FTP est le processus de collecte d'informations sur un service FTP, tel que sa version, sa configuration et s'il autorise l'accès anonyme. Ces informations sont cruciales pour identifier les vulnérabilités potentielles. Nous utiliserons le module auxiliaire ftp_version pour scanner une cible et identifier le logiciel serveur FTP en cours d'exécution.

À la fin de ce laboratoire, vous serez familiarisé avec le flux de travail de base pour trouver, configurer et exécuter un module Metasploit.

Recherche du module auxiliaire ftp_version

Dans cette étape, vous lancerez la console Metasploit Framework et rechercherez un module approprié pour le scan de version FTP. La console Metasploit est l'interface principale pour interagir avec le framework.

Tout d'abord, ouvrez un terminal et démarrez la console Metasploit. Nous utilisons l'indicateur -q pour un démarrage "silencieux" (quiet), qui supprime la bannière pour une interface plus propre.

msfconsole -q

Une fois que vous êtes dans l'invite msfconsole, vous pouvez utiliser la commande search pour trouver des modules. Nous recherchons un module capable d'identifier la version d'un serveur FTP. Un bon mot-clé à rechercher est ftp_version.

Tapez la commande suivante dans l'invite msfconsole :

search ftp_version

Vous verrez une liste de modules correspondants. Celui qui nous intéresse est un scanner auxiliaire.

msf6 > search ftp_version

Matching Modules
================

   ##  Name                                 Disclosure Date  Rank    Check  Description
   -  ----                                 ---------------  ----    -----  -----------
   0  auxiliary/scanner/ftp/ftp_version                     normal  No     FTP Version Scanner
   1  exploit/windows/ftp/ftpshell_version_bof  2010-05-12       good    No     FTPShell 6.70 (Windows 7) Version Stack Buffer Overflow

La sortie affiche le module auxiliary/scanner/ftp/ftp_version, qui est exactement ce dont nous avons besoin pour notre tâche.

Sélection du module ftp_version

Dans cette étape, vous sélectionnerez le module que vous avez trouvé à l'étape précédente. Après avoir identifié un module approprié avec la commande search, vous devez le charger dans le contexte du framework pour le configurer et l'exécuter.

La commande pour sélectionner un module est use, suivie du nom complet du module issu des résultats de la recherche.

Sur la base de la sortie de l'étape précédente, utilisez la commande suivante pour sélectionner le scanner de version FTP :

use auxiliary/scanner/ftp/ftp_version

Après avoir exécuté cette commande, vous remarquerez que l'invite msfconsole change. Elle inclut désormais le nom du module sélectionné, indiquant que vous travaillez dans son contexte.

msf6 > use auxiliary/scanner/ftp/ftp_version
msf6 auxiliary(scanner/ftp/ftp_version) >

Cette nouvelle invite confirme que le module ftp_version est maintenant actif et prêt à être configuré.

Définir l'option RHOSTS sur l'IP cible

Dans cette étape, vous allez configurer le module sélectionné. La plupart des modules Metasploit nécessitent que vous définissiez des options spécifiques avant de pouvoir être exécutés. Pour les modules de scan, l'option la plus courante est RHOSTS, qui signifie "Remote Hosts" (Hôtes distants). Cette option indique au module quelle(s) cible(s) scanner.

Notre environnement de laboratoire dispose d'un serveur FTP fonctionnant sur la même machine (localhost). L'adresse IP pour localhost est 127.0.0.1.

Pour définir une option dans Metasploit, vous utilisez la commande set, suivie du nom de l'option et de sa valeur.

Définissez l'option RHOSTS sur notre adresse IP cible :

set RHOSTS 127.0.0.1

Metasploit confirmera le changement en renvoyant le nouveau paramètre.

msf6 auxiliary(scanner/ftp/ftp_version) > set RHOSTS 127.0.0.1
RHOSTS => 127.0.0.1

Maintenant, le module sait quelle cible scanner.

Afficher et comprendre les options du module avec show options

Dans cette étape, vous apprendrez comment afficher et vérifier la configuration d'un module. Avant d'exécuter un module, il est toujours conseillé de passer en revue toutes ses options pour s'assurer que tout est correctement configuré.

La commande show options affiche tous les paramètres configurables pour le module actuellement actif.

Exécutez la commande suivante pour voir les options du scanner ftp_version :

show options

Cela affichera un tableau avec les détails de chaque option.

msf6 auxiliary(scanner/ftp/ftp_version) > show options

Module options (auxiliary/scanner/ftp/ftp_version):

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   RHOSTS   127.0.0.1        yes       The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
   RPORT    21               yes       The target port (TCP)
   THREADS  1                yes       The number of concurrent threads (max one per host)

Analysons les colonnes :

  • Name : Le nom de l'option (par exemple, RHOSTS).
  • Current Setting : La valeur actuellement attribuée à l'option. Vous pouvez voir que 127.0.0.1 est défini pour RHOSTS.
  • Required : Indique si l'option doit être définie pour que le module s'exécute (yes ou no).
  • Description : Une brève explication de ce que fait l'option.

En examinant cette sortie, vous pouvez confirmer que l'option requise RHOSTS est correctement définie sur notre cible. Les autres options requises, RPORT et THREADS, ont déjà des valeurs par défaut qui conviennent à notre scan.

Exécuter le module avec la commande run

Dans cette étape, vous allez exécuter le module pour effectuer le scan. Une fois que vous avez sélectionné un module et configuré toutes les options requises, vous êtes prêt à le lancer.

La commande pour exécuter un module auxiliaire est run. (Pour les modules d'exploit, vous pouvez utiliser soit run soit exploit).

Maintenant, exécutez le scanner :

run

Le module se connectera au serveur FTP cible sur le port spécifié et tentera de récupérer sa bannière de version. La sortie affichera les résultats du scan.

msf6 auxiliary(scanner/ftp/ftp_version) > run

[+] 127.0.0.1:21      - FTP Banner: 220 (vsFTPd 3.0.5)
[*] 127.0.0.1:21      - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

La sortie [+] 127.0.0.1:21 - FTP Banner: 220 (vsFTPd 3.0.5) est l'information clé. Elle confirme qu'un serveur FTP est en cours d'exécution sur la cible et nous indique son logiciel et sa version : vsFTPd 3.0.5. Il s'agit d'une énumération réussie.

Résumé

Dans ce laboratoire, vous avez réussi à effectuer une énumération FTP de base à l'aide du Metasploit Framework. Vous avez appris le flux de travail fondamental pour utiliser un module auxiliaire, ce qui est une compétence essentielle pour tout utilisateur de Metasploit.

Vous avez pratiqué les commandes et concepts clés suivants :

  • Démarrer la console Metasploit avec msfconsole.
  • Rechercher des modules avec la commande search.
  • Sélectionner un module à utiliser avec la commande use.
  • Configurer les options du module, telles que RHOSTS, avec la commande set.
  • Vérifier la configuration du module avec show options.
  • Exécuter le module pour effectuer sa tâche avec la commande run.

Ce processus de recherche, sélection, configuration et exécution est applicable à des milliers de modules au sein de Metasploit, ce qui en fait une technique fondamentale pour les tests d'intrusion et l'analyse de sécurité.