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

Kali LinuxBeginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, vous apprendrez comment effectuer l'énumération Server Message Block (SMB) à l'aide du Metasploit Framework. SMB est un protocole réseau utilisé pour fournir un accès partagé aux fichiers, imprimantes et ports série entre les nœuds d'un réseau. L'énumération de la version SMB est une première étape cruciale dans les tests d'intrusion, car elle permet d'identifier le logiciel et la version spécifiques exécutés sur une cible, qui peuvent ensuite être comparés aux vulnérabilités connues.

Nous utiliserons l'un des modules de scanner auxiliaires de Metasploit, spécifiquement auxiliary/scanner/smb/smb_version, pour scanner une cible et déterminer sa version SMB. Metasploit est un framework puissant de tests d'intrusion qui facilite la recherche, l'exploitation et la validation des vulnérabilités.

À la fin de ce laboratoire, vous serez familiarisé avec le lancement de Metasploit, la recherche de modules, la configuration des options de modules et l'exécution d'un scanner pour collecter des informations sur un système cible.

Recherche du module auxiliaire smb_version

Dans cette étape, nous allons lancer la console Metasploit Framework et rechercher le module approprié pour effectuer la détection de version SMB. La msfconsole est l'interface principale pour interagir avec Metasploit.

Tout d'abord, ouvrez un terminal et démarrez la console Metasploit en exécutant la commande suivante. L'initialisation peut prendre un moment.

msfconsole -q

Le drapeau -q rend la bannière de démarrage silencieuse. Une fois chargée, vous verrez l'invite Metasploit, qui ressemble à msf6 >.

Maintenant, trouvons le module de détection de version SMB. Nous pouvons utiliser la commande search pour rechercher les modules liés à smb_version.

search smb_version

Vous verrez une liste de modules correspondants. Celui qui nous intéresse est un scanner auxiliaire. La sortie devrait ressembler à ceci :

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

   ##  Name                                 Disclosure Date  Rank    Check  Description
   -  ----                                 ---------------  ----    -----  -----------
   0  auxiliary/scanner/smb/smb_version                     normal  No     SMB Version Detection
   1  exploit/windows/smb/smb_doublepulsar_eternalblue      2017-04-14  extraordinary Yes    SMBv1/SMBv2 DoublePulsar/EternalBlue Unauthenticated RCE

D'après la sortie, nous pouvons voir que auxiliary/scanner/smb/smb_version est le module dont nous avons besoin.

Sélection du module smb_version

Dans cette étape, vous allez sélectionner le module que nous avons trouvé à l'étape précédente. Après avoir identifié le module correct, vous devez le charger dans le contexte du framework en utilisant la commande use.

Dans votre invite msfconsole, tapez la commande suivante pour sélectionner le scanner smb_version :

use auxiliary/scanner/smb/smb_version

Vous remarquerez que votre invite change pour refléter le module actuellement chargé :

msf6 auxiliary(scanner/smb/smb_version) >

Cela indique que le module est maintenant actif. Pour voir quelles options nous pouvons configurer pour ce module, utilisez la commande show options :

show options

Cela affichera un tableau des paramètres que vous pouvez définir pour le module.

Module options (auxiliary/scanner/smb/smb_version):

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

Portez une attention particulière aux options RHOSTS et THREADS, car nous les configurerons dans les étapes suivantes. La colonne Required indique que RHOSTS doit être défini avant que nous puissions exécuter le scanner.

Définir l'option RHOSTS sur la plage d'adresses IP cible

Dans cette étape, nous allons configurer la cible de notre scan. L'option RHOSTS (Remote Hosts) indique à Metasploit quelle(s) machine(s) scanner. Pour ce laboratoire, nous avons installé un serveur Samba sur la machine locale pour servir de cible. Par conséquent, nous définirons RHOSTS sur l'adresse IP de bouclage, 127.0.0.1.

Utilisez la commande set pour attribuer une valeur à RHOSTS :

set RHOSTS 127.0.0.1

Metasploit confirmera le changement :

RHOSTS => 127.0.0.1

Vous pouvez vérifier que l'option a été correctement définie en exécutant à nouveau show options. Vous verrez que 127.0.0.1 est maintenant répertorié comme Current Setting pour RHOSTS. C'est une étape obligatoire, car le scanner doit connaître sa cible.

Définir l'option THREADS pour un scan plus rapide

Dans cette étape, nous allons ajuster l'option THREADS. Cette option contrôle le nombre de threads de scan simultanés que Metasploit utilisera. Augmenter le nombre de threads peut accélérer considérablement le scan lorsque vous ciblez un grand nombre d'hôtes.

Bien que le scan d'un seul hôte (127.0.0.1) ne bénéficie pas de plusieurs threads en termes de performances, il est bon d'apprendre à configurer cette option. Définissons le nombre de threads à 50.

Utilisez à nouveau la commande set pour modifier la valeur de THREADS :

set THREADS 50

Metasploit confirmera le réglage :

THREADS => 50

Le scanner est maintenant configuré pour utiliser jusqu'à 50 threads, ce qui serait très efficace pour scanner une plage réseau comme 192.168.1.0/24.

Exécuter le scanner et analyser la sortie

Dans cette étape, toutes les options étant configurées, nous sommes prêts à exécuter le scanner. La commande run (ou son alias, exploit) lancera le module contre la cible spécifiée.

Dans votre invite msfconsole, exécutez le scanner :

run

Le module tentera maintenant de se connecter au port 445 sur 127.0.0.1 et de déterminer la version SMB. La sortie ressemblera à ceci :

[*] 127.0.0.1:445     - Sending SMBv1 request
[+] 127.0.0.1:445     - Host is running Samba 4.15.13-Ubuntu (Samba 4.15.13-Ubuntu)
[*] 127.0.0.1:445     - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

Analysons la sortie :

  • Le symbole [+] indique un résultat réussi.
  • La ligne Host is running Samba 4.15.13-Ubuntu nous indique la version exacte du logiciel serveur SMB. Ces informations sont extrêmement précieuses pour un testeur d'intrusion, qui peut maintenant rechercher des vulnérabilités spécifiques à cette version.
  • Les dernières lignes confirment que le scan est terminé.

Vous avez réussi à énumérer la version SMB sur la cible. Pour quitter la console Metasploit, tapez simplement exit.

exit

Résumé

Dans ce laboratoire, vous avez utilisé avec succès un scanner auxiliaire Metasploit pour effectuer une énumération SMB. Vous avez appris le flux de travail fondamental pour utiliser les modules au sein du Metasploit Framework.

Vous avez pratiqué les compétences clés suivantes :

  • Lancement de la console Metasploit (msfconsole).
  • Recherche de modules avec la commande search.
  • Sélection et chargement d'un module avec la commande use.
  • Visualisation et configuration des options du module comme RHOSTS et THREADS avec show options et set.
  • Exécution d'un module avec la commande run.
  • Analyse de la sortie pour recueillir des informations critiques sur une cible.

Ce processus de collecte d'informations est un élément fondamental de toute évaluation de sécurité ou test d'intrusion. Félicitations pour avoir terminé le laboratoire !