Introduction
Bienvenue dans le monde de Metasploit ! Le Metasploit Framework est un outil puissant utilisé par les professionnels de la sécurité pour les tests d'intrusion (penetration testing) et l'évaluation des vulnérabilités. Au cœur de cet outil se trouve la Metasploit Console, ou msfconsole, une interface de ligne de commande interactive qui vous donne accès à la vaste gamme de modules, d'exploits et de charges utiles (payloads) du framework.
Dans ce laboratoire, vous apprendrez les commandes essentielles pour naviguer dans msfconsole. Maîtriser ces bases est la première étape pour utiliser Metasploit efficacement. Nous aborderons comment obtenir de l'aide, gérer vos projets avec des espaces de travail (workspaces), rechercher des modules, afficher des informations détaillées à leur sujet et quitter correctement la console.
Commençons par lancer la console.
Explorer les Commandes Principales avec la Commande help
Dans cette étape, vous allez lancer la Metasploit Console et utiliser la commande help pour explorer les commandes disponibles. La commande help est votre ressource la plus précieuse lorsque vous n'êtes pas sûr de ce que fait une commande ou des commandes disponibles.
Tout d'abord, lançons la Metasploit Console. Nous utiliserons l'option -q (quiet) pour ignorer la bannière de démarrage afin d'obtenir une interface plus propre.
Exécutez la commande suivante dans votre terminal :
msfconsole -q
Vous remarquerez que votre invite de commande change pour msf >, indiquant que vous êtes maintenant à l'intérieur de la Metasploit Console.
Maintenant, utilisons la commande help pour voir une liste de toutes les commandes disponibles.
help
Vous verrez une longue liste de commandes, catégorisées pour une navigation plus facile.
Core Commands
=============
Command Description
------- -----------
? Menu d'aide
banner Affiche une bannière Metasploit impressionnante
cd Change le répertoire de travail actuel
color Active/désactive l'affichage en couleur
connect Communique avec un hôte
...
Module Commands
===============
Command Description
------- -----------
advanced Affiche les options avancées pour un module
back Revient du contexte actuel
info Affiche les informations sur un module
...
Vous pouvez également obtenir de l'aide détaillée pour une commande spécifique. Par exemple, pour en savoir plus sur la commande search, vous pouvez taper help search.
help search
Ceci affichera la syntaxe et les options de la commande search.
Usage: search [options] <keywords>
Recherche des modules, des plugins et d'autres objets du framework.
OPTIONS:
-h, --help Bannière d'aide.
-o <file>, --output <file> Envoie la sortie vers un fichier au format csv.
-S <string>, --search <string> Chaîne de recherche pour le filtrage des lignes.
-t <type>, --type <type> Le type de module à rechercher (exploit, payload, auxiliary, etc)
...
N'hésitez pas à explorer d'autres commandes en utilisant help avant de passer à l'étape suivante.
Visualiser la Gestion des Espaces de Travail avec la Commande workspace
Dans cette étape, vous allez découvrir les espaces de travail (workspaces). Les espaces de travail sont une manière d'organiser votre travail dans Metasploit. Chaque espace de travail est un environnement autonome qui stocke les informations sur les hôtes, les services, les vulnérabilités et les butins (loot) pour un engagement (engagement) spécifique. Ceci est extrêmement utile pour séparer différents projets de tests d'intrusion.
Par défaut, vous êtes dans l'espace de travail default. Vous pouvez visualiser l'espace de travail actuel et ceux disponibles en utilisant la commande workspace.
workspace
La sortie vous montrera les espaces de travail disponibles, avec un astérisque * indiquant celui dans lequel vous vous trouvez actuellement.
* default
Créons un nouvel espace de travail pour notre projet. Nous l'appellerons myproject. L'option -a est utilisée pour ajouter un nouvel espace de travail.
workspace -a myproject
Metasploit confirmera la création et vous basculera automatiquement vers le nouvel espace de travail.
[*] Added workspace: myproject
[*] Workspace: myproject
Maintenant, si vous listez à nouveau les espaces de travail, vous verrez à la fois default et myproject, myproject étant l'espace actif.
workspace
default
* myproject
Toutes les actions subséquentes, telles que l'analyse des hôtes ou la collecte de données, seront désormais enregistrées dans l'espace de travail myproject.
Lister les Modules Disponibles avec la Commande search
Dans cette étape, vous apprendrez à trouver des modules en utilisant la commande search. Le Metasploit Framework contient des milliers de modules, qui sont les composants principaux que vous utiliserez pour effectuer des actions. Ceux-ci incluent des exploits, des scanners auxiliaires (auxiliary scanners), des charges utiles (payloads) et plus encore. La commande search est essentielle pour trouver le bon outil pour la tâche.
Vous pouvez rechercher des modules en fonction de mots-clés. Par exemple, recherchons les modules liés à smb (Server Message Block), un protocole réseau courant.
search smb
Le résultat sera une longue liste de modules correspondants. Les résultats sont affichés dans un tableau avec plusieurs colonnes :
- #: Le numéro d'index du résultat.
- Name: Le chemin complet et le nom du module.
- Disclosure Date: La date de divulgation publique de la vulnérabilité.
- Rank: La fiabilité de l'exploit, allant de
low(faible) àexcellent. - Check: Indique si le module possède une méthode
checkpour tester la vulnérabilité en toute sécurité. - Description: Un bref résumé de ce que fait le module.
Matching Modules
================
## Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 auxiliary/admin/smb/impacket/secretsdump 2021-11-09 normal No SMB Secrets Dump
1 auxiliary/admin/smb/psexec_ntdsgrab 2021-11-09 normal No PsExec NTDSGRAB
...
58 exploit/windows/smb/ms17_010_eternalblue 2017-03-14 average Yes MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption
...
Vous pouvez affiner votre recherche en utilisant des mots-clés tels que type, platform, name, etc. Par exemple, pour trouver uniquement les modules de type exploit pour la plateforme windows liés à smb, vous pouvez utiliser la commande suivante :
search type:exploit platform:windows smb
Ceci vous donnera une liste de résultats beaucoup plus ciblée, facilitant la recherche de l'exploit spécifique dont vous avez besoin.
Afficher les Informations sur le Module avec la Commande info
Dans cette étape, vous apprendrez à obtenir des informations détaillées sur un module spécifique en utilisant les commandes use et info. Après avoir trouvé un module prometteur avec search, vous devez comprendre ce qu'il fait, quelles options il requiert et quels systèmes cibles il affecte.
Premièrement, vous devez sélectionner un module avec lequel travailler. Ceci est effectué avec la commande use, suivie du nom complet du module issu des résultats de la recherche. Sélectionnons l'exploit célèbre eternalblue.
use exploit/windows/smb/ms17_010_eternalblue
Remarquez que votre invite de commande (prompt) change. Elle inclut désormais le nom du module actif, indiquant que vous êtes dans son contexte.
msf exploit(windows/smb/ms17_010_eternalblue) >
Maintenant qu'un module est sélectionné, vous pouvez obtenir des informations détaillées à son sujet en utilisant la commande info.
info
Cette commande affiche un aperçu complet du module, incluant :
- Name (Nom), Module, Platform (Plateforme), Arch (Architecture)
- Privileged (Privilégié) : Indique si des permissions spéciales sont requises.
- License (Licence) et Rank (Niveau de fiabilité)
- Provided by (Fourni par) : Les auteurs du module.
- Available targets (Systèmes cibles disponibles) : Les systèmes d'exploitation ou applications spécifiques qu'il peut cibler.
- Basic options (Options de base) : Les paramètres que vous devez configurer, comme l'adresse IP de la cible (
RHOSTS). - Payload information (Informations sur la charge utile) : Les types de charges utiles qu'il peut délivrer.
- Description : Une explication détaillée de la vulnérabilité.
- References (Références) : Des liens vers des avis et des articles (CVE, BID, etc.).
Name: MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption
Module: exploit/windows/smb/ms17_010_eternalblue
Platform: Windows
Arch: x86, x64
Privileged: Yes
License: Metasploit Framework License (BSD)
Rank: Average
...
Basic options:
Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
RPORT 445 yes The target port (TCP)
SMBDomain . no (Optional) The Windows domain to use for authentication
...
L'examen de ces informations est une étape critique avant de tenter d'exécuter un exploit.
Quitter la Console avec la Commande exit
Dans cette dernière étape, vous apprendrez à quitter correctement la Console Metasploit. Bien que vous puissiez fermer la fenêtre du terminal ou utiliser Ctrl+C, la manière recommandée de quitter msfconsole est d'utiliser la commande exit.
Ceci assure que le framework s'arrête proprement, arrêtant tous les processus (jobs) en cours d'exécution et sauvegardant l'état actuel.
Avant de quitter, vous pouvez revenir à l'invite principale de msfconsole depuis le contexte d'un module en utilisant la commande back.
back
Votre invite reviendra au format standard msf >.
Maintenant, pour quitter complètement la console, tapez simplement exit.
exit
Vous verrez un message d'arrêt (shutdown message), et vous reviendrez à l'invite de votre shell système habituel.
labex:project$
Ceci conclut notre visite de base de la navigation dans la Console Metasploit.
Résumé
Félicitations ! Vous avez terminé avec succès ce laboratoire sur les bases de la navigation dans la Console Metasploit.
Dans ce laboratoire, vous avez appris à effectuer les opérations les plus fondamentales au sein de msfconsole :
- Démarrer la console et utiliser la commande
helppour découvrir et apprendre les autres commandes. - Organiser vos projets en utilisant la commande
workspacepour créer et gérer des environnements distincts. - Trouver des modules pour n'importe quelle tâche avec la puissante commande
searchet ses filtres. - Examiner les détails, les options et les systèmes cibles d'un module avec la commande
info. - Arrêter correctement le framework en utilisant la commande
exit.
Ces commandes constituent la base sur laquelle reposera tout votre travail futur dans Metasploit. Fort de ces connaissances, vous êtes maintenant prêt à explorer des sujets plus avancés, tels que la configuration et l'exécution des modules.



