Introduction
Dans ce laboratoire, vous apprendrez à utiliser un module scanner auxiliaire au sein du Metasploit Framework pour effectuer l'énumération de versions SSH (Secure Shell). Metasploit est un outil puissant de test d'intrusion qui contient une vaste collection d'exploits, de payloads et de modules auxiliaires.
Les modules auxiliaires ne sont pas utilisés pour l'exploitation directe, mais à d'autres fins telles que le scan, le fuzzing et la collecte d'informations. L'énumération SSH est une partie clé de la phase de reconnaissance d'une évaluation de sécurité. En identifiant la version spécifique d'un serveur SSH, un attaquant peut rechercher les vulnérabilités connues associées à cette version.
Vous apprendrez à lancer la console Metasploit, à rechercher le module approprié, à configurer ses options et à l'exécuter contre une cible pour découvrir sa version SSH.
Recherche du module auxiliaire ssh_version
Dans cette étape, vous allez démarrer la console Metasploit Framework et rechercher un module capable de scanner les versions SSH.
Tout d'abord, ouvrez un terminal. La console Metasploit est une interface en ligne de commande du framework. Vous pouvez la démarrer en tapant msfconsole. Nous utiliserons l'option -q pour un démarrage "silencieux" (quiet), qui supprime la bannière de démarrage.
Exécutez la commande suivante pour lancer la console Metasploit :
msfconsole -q
Une fois la console chargée, vous verrez l'invite Metasploit, qui ressemble à msf6 >. Maintenant, vous pouvez utiliser la commande search pour trouver des modules. Nous recherchons un module lié au scan de version SSH.
Tapez la commande suivante dans la console Metasploit et appuyez sur Entrée :
search ssh_version
Metasploit recherchera dans sa base de données de modules et affichera toutes les correspondances. La sortie montrera le module auxiliary/scanner/ssh/ssh_version, qui est exactement ce dont nous avons besoin.
msf6 > search ssh_version
Matching Modules
================
## Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 auxiliary/scanner/ssh/ssh_version normal No Detect SSH Version
Interact with a module by name or index. For example info 0, use 0 or use auxiliary/scanner/ssh/ssh_version
msf6 >
Sélection du module ssh_version
Dans cette étape, vous allez sélectionner le module ssh_version que vous avez trouvé et afficher ses options disponibles.
Maintenant que vous avez identifié le bon module, vous devez le charger dans le contexte du framework. Cela se fait en utilisant la commande use suivie du nom complet du module.
Dans l'invite msfconsole, tapez la commande suivante :
use auxiliary/scanner/ssh/ssh_version
Après avoir exécuté la commande, vous remarquerez que l'invite change. Elle inclut maintenant le nom du module actif, indiquant qu'il est prêt à être configuré. La nouvelle invite ressemblera à ceci : msf6 auxiliary(scanner/ssh/ssh_version) >.
Pour voir quels paramètres vous pouvez configurer pour ce module, utilisez la commande show options :
show options
Cette commande affichera un tableau de toutes les options du module ssh_version, y compris leurs réglages actuels, s'ils sont requis, et une brève description. Portez une attention particulière aux options RHOSTS et THREADS, car nous les configurerons dans les étapes suivantes.
msf6 auxiliary(scanner/ssh/ssh_version) > show options
Module options (auxiliary/scanner/ssh/ssh_version):
Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
RPORT 22 yes The target port (TCP)
THREADS 1 yes The number of concurrent threads (max one per host)
TIMEOUT 30 yes Timeout for the SSH probe
...
Définir l'option RHOSTS sur un sous-réseau cible
Dans cette étape, vous allez configurer la cible de votre scan. L'option RHOSTS spécifie l'hôte ou les hôtes distants que Metasploit va scanner.
Pour ce laboratoire, nous allons scanner la machine locale elle-même, car le script d'installation a installé et démarré un serveur SSH dessus. L'adresse IP de la machine locale est toujours 127.0.0.1.
Vous pouvez définir les options du module en utilisant la commande set, suivie du nom de l'option et de la valeur que vous souhaitez lui attribuer.
Pour définir la cible sur votre machine locale, exécutez la commande suivante dans votre invite msfconsole :
set RHOSTS 127.0.0.1
Metasploit confirmera le changement en affichant l'option et sa nouvelle valeur.
RHOSTS => 127.0.0.1
Vous avez maintenant indiqué au scanner quelle machine cibler. Si vous scanniez un réseau, vous pourriez fournir une plage d'adresses IP ici (par exemple, 192.168.1.0/24).
Définir le nombre de threads simultanés
Dans cette étape, vous allez ajuster le nombre de threads simultanés pour le scanner. Cette option contrôle le nombre d'hôtes qui sont scannés simultanément.
Bien que le scan d'un seul hôte, comme nous le faisons actuellement, ne bénéficie pas beaucoup de threads multiples, c'est un réglage crucial pour scanner de grands réseaux afin d'accélérer le processus. Il est bon d'apprendre à le configurer.
La valeur par défaut est 1. Augmentons-la à 10. Nous utiliserons à nouveau la commande set.
Dans votre invite msfconsole, tapez la commande suivante :
set THREADS 10
Metasploit confirmera que le réglage a été mis à jour.
THREADS => 10
Le scanner est maintenant configuré pour utiliser jusqu'à 10 threads, ce qui le rendrait significativement plus rapide lors du scan d'une plage d'adresses IP.
Exécuter le module et examiner les versions SSH découvertes
Dans cette étape, toutes les options étant configurées, vous allez exécuter le module de scan et analyser la sortie.
La commande run (ou son alias, exploit) exécute le module actuellement chargé avec ses paramètres configurés.
Pour démarrer le scan, tapez simplement run dans votre invite msfconsole et appuyez sur Entrée :
run
Le module va maintenant tenter de se connecter au port 22 sur 127.0.0.1. S'il trouve un service SSH actif, il récupérera la bannière de version et l'affichera. La sortie devrait ressembler à ceci :
[*] 127.0.0.1:22 - Scanned 1 of 1 hosts (100%)
[+] 127.0.0.1:22 - SSH server detected: SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.6
[*] Auxiliary module execution completed
Le symbole [+] indique un succès. La sortie montre qu'un serveur SSH a été détecté sur 127.0.0.1 au port 22, et il rapporte la version comme OpenSSH_8.9p1 sur un système Ubuntu. Ces informations sont précieuses pour les étapes suivantes d'un test d'intrusion, comme la recherche de vulnérabilités spécifiques à cette version.
Résumé
Dans ce laboratoire, vous avez utilisé avec succès un scanner auxiliaire Metasploit pour effectuer l'énumération des versions SSH.
Vous avez appris à :
- Lancer la console Metasploit Framework.
- Rechercher un module spécifique à l'aide de la commande
search. - Sélectionner et charger un module avec la commande
use. - Configurer les options du module comme
RHOSTSetTHREADSà l'aide de la commandeset. - Exécuter le module avec la commande
run. - Interpréter les résultats pour identifier la version du serveur SSH sur une cible.
Ce processus est une compétence fondamentale pour la collecte d'informations et la reconnaissance dans le domaine de la cybersécurité et des tests d'intrusion.


