Théme de la semaine : Exploitation

Metasploit : Le tutoriel complet pour débuter

Lecture: 8 minutes
Accueil • CyberSécurité • Metasploit : Le tutoriel complet pour débuter

Vous voulez apprendre à tester la sécurité d’un système sans vous perdre dans des lignes de commande interminables ? Metasploit est l’outil incontournable du pentesting et du hacking éthique, capable d’automatiser la recherche et l’exploitation de vulnérabilités en quelques étapes simples. 

Que vous fassiez vos premiers pas en cybersécurité ou que vous cherchiez à consolider vos bases, ce tutoriel pas à pas vous guide pour prendre en main la plateforme en toute confiance. Dans ce chapitre, vous allez découvrir comment installer l’environnement, manipuler l’interface MSFconsole et exécuter vos premières attaques contrôlées. 

Nous utiliserons Metasploit Framework, le projet open source.

À quoi sert Metasploit ?

Metasploit est le couteau suisse indispensable de la cybersécurité. Pour faire simple, c’est une plateforme logicielle qui rassemble des milliers de failles de sécurité connues et les outils nécessaires pour tester la vulnérabilité d’un système informatique. Au lieu d’écrire du code complexe à la main pour chaque test, Metasploit met à votre disposition une immense bibliothèque prête à l’emploi.

Fonctionnement de Metasploit

Son rôle principal est de simuler des attaques informatiques réelles dans un cadre légal et contrôlé, ce qu’on appelle le pentesting ou le hacking éthique. Il sert concrètement à exécuter trois grandes actions :

  • Scanner et détecter : Identifier les faiblesses d’un réseau, d’un serveur ou d’une application avant qu’un pirate ne les trouve.
  • Exploiter : Injecter un bout de code (un exploit) dans une faille pour vérifier si elle permet vraiment de s’introduire dans le système.
  • Prendre le contrôle : Obtenir un accès à distance (via un payload) pour mesurer l’impact réel qu’aurait une intrusion malveillante.

Pourquoi utiliser Metasploit ? 

Tout simplement parce qu’il s’agit du standard mondial dans son secteur. Il centralise tout ce dont vous avez besoin au même endroit, ce qui vous fait gagner un temps précieux. De plus, comme il est régulièrement mis à jour par une immense communauté d’experts, il vous permet de tester vos systèmes contre les menaces les plus récentes. 

Que vous soyez étudiant ou professionnel, maîtriser Metasploit est l’étape essentielle pour apprendre à défendre un réseau en comprenant exactement comment on l’attaque.

Metasploit Framework est open source. Cela signifie que son code source est public et gratuit.

Concrètement, cela implique que son accès est libre. Tout le monde peut le télécharger et l’utiliser sans payer de licence et n’importe qui peut lire le code pour vérifier comment l’outil fonctionne et s’assurer qu’il ne contient pas de pièges ou de failles cachées.

D’ailleurs, des experts en cybersécurité du monde entier améliorent constamment le programme en y ajoutant de nouvelles fonctionnalités et en mettant à jour la liste des failles détectables.

La différence entre un scanner de vulnérabilité et Metasploit

La différence principale réside dans leur objectif : détecter la faille ou prouver qu’elle est exploitable.

  • Le scanner de vulnérabilités (ex: Nessus, OpenVAS) est un détecteur : Il analyse un réseau, repère les portes d’entrée mal protégées et dresse une liste des failles potentielles sans y toucher.
  • Metasploit est l’outil d’action (l’exploitant) : Il va plus loin en tentant de franchir réellement la porte repérée pour vérifier si l’attaque fonctionne et mesurer l’accès qu’un pirate pourrait obtenir.

En somme, le scanner fait le diagnostic des faiblesses, tandis que Metasploit teste la résistance réelle du système en effectuant l’attaque.

Installation et Configuration de Metasploit

Pour commencer à manipuler Metasploit, la première étape consiste à préparer votre environnement de travail. La procédure d’installation varie légèrement selon votre système d’exploitation : Linux, macOS ou Windows.

Sur Linux (Debian / Ubuntu / Kali Linux)

Sur les distributions orientées cybersécurité comme Kali Linux, Metasploit Framework est déjà préinstallé. Sur une distribution standard comme Ubuntu ou Debian, vous pouvez l’installer rapidement via les dépôts officiels ou le gestionnaire de paquets.

Ouvrez votre terminal et mettez à jour la liste de vos paquets :

sudo apt update && sudo apt upgrade -y

Installez le framework Metasploit :

sudo apt install metasploit-framework -y

Configuration de la base de données :

Metasploit s’appuie sur PostgreSQL pour enregistrer vos sessions et vos cibles. Initialisez la base de données avec la commande :

sudo msfdb init

Pour confirmer que vous êtes bien connecté à la base PostgreSQL, tapez :

msfconsole

puis 

db_status

Sur macOS

Sur macOS, l’installation s’effectue simplement à l’aide d’un package officiel fourni par Rapid7, combiné avec l’outil de gestion de paquets Homebrew pour les dépendances de base de données.

Étapes d’installation :

  1. Téléchargez le programme d’installation officiel depuis le site de Metasploit.
  2. Double-cliquez sur le fichier téléchargé et suivez les instructions de l’assistant graphique pour terminer l’installation.
  3. Installez et configurez PostgreSQL (nécessaire pour le stockage des données) à l’aide de Homebrew si ce n’est pas déjà fait :
brew install postgresql brew services start postgresql

Configuration de la base de données. Initialisez l’environnement de données de la même manière que sous Linux :

msfdb init

Lancez la console avec pour valider le bon fonctionnement :

msfconsole

et tapez 

db_status
Metasploit depuis le terminal
Metasploit et la msfconsole depuis le terminal

Les lignes PERMISSION DENIED font partie de la bannière humoristique inspirée de Jurassic Park. L’invite msf > indique que la console est prête.

Sur Windows

Sous Windows, Metasploit fournit un installeur dédié qui intègre directement les dépendances nécessaires.

Étapes d’installation :

  1. Téléchargez le programme d’installation Windows depuis la page officielle de Metasploit.
  2. Suivez les étapes de l’assistant en acceptant les conditions et en conservant le chemin d’installation par défaut (C:\metasploit-framework).

Configuration de la base de données :

  1. Ouvrez votre invite de commandes (cmd) ou PowerShell en tant d’administrateur.
  2. Rendez-vous dans le répertoire d’installation et initialisez la base de données intégrée :
    DOScd C:\metasploit-framework\bin msfdb.bat init
  3. Lancez ensuite l’interface principale avec la commande :
    DOSmsfconsole.bat

Une fois dans la console, exécutez la commande suivante pour vous assurer que le lien avec la base de données est établi :

db_status

msfconsole

Nous allons utiliser le système de menus en mode texte (non graphique) fourni par msfconsole. Une fois les bases acquises, msfconsole se révèle plus rapide.

Pour accéder à msfconsole, ouvrez simplement votre terminal et tapez :

msfconsole

Ne vous inquiétez pas si vous ne voyez rien apparaître immédiatement, il faut quelques secondes à msfconsole pour démarrer.

Premier démarrage et mise à jour de Metasploit

Au premier démarrage de Metasploit, la console affiche le bilan des modules disponibles (exploits, charges utiles, encodeurs, etc.). La communauté de cybersécurité découvrant constamment de nouvelles failles, le framework évolue très vite.

Premier démarrage de Metasploit

La méthode pour maintenir l’outil à jour dépend désormais de votre système d’exploitation

Sur Linux (Kali / Ubuntu) : Mettez à jour les paquets système en exécutant dans votre terminal :

sudo apt update && sudo apt install metasploit-framework

Sur macOS : Mettez à jour le framework via Homebrew avec la commande :

brew upgrade metasploit-framework

Sur Windows : Relancez l’installeur officiel le plus récent pour écraser l’ancienne version, ou exécutez la commande depuis l’invite de commandes administrateur dans le dossier C:\metasploit-framework\bin :

msfupdate.bat

En pratique, l’utilisation de Metasploit repose sur une démarche logique et structurée. Vous commencez par analyser le réseau pour repérer une cible vulnérable. Ensuite, vous sélectionnez l’exploit adapté (le programme qui s’engouffre dans la faille) et vous lui associez une charge utile (payload), c’est-à-dire le code qui s’exécutera sur la machine cible une fois la porte ouverte. Il ne vous reste plus qu’à lancer l’attaque pour vérifier la sécurité du système.

Pour bien appréhender cet outil, deux notions clés sont à retenir.

  • Une vulnérabilité est une faiblesse ou un défaut de sécurité présent dans un système informatique.
  • L’exploit est le moyen d’ouvrir cette brèche, tandis que la charge utile est le composant qui s’exécute juste après pour accomplir une action précise, comme ouvrir un accès à distance, créer un compte utilisateur ou installer un logiciel de test.

Comprendre comment utiliser Metasploit

La méthodologie d’utilisation de Metasploit repose sur une transition logique entre la découverte des failles (via un scanner comme Nessus ou Nmap) et l’utilisation concrète des outils d’attaque intégrés dans la console msfconsole. Voici comment structurer cette démarche de manière méthodique :

L’analyse des vulnérabilités : La phase de repérage

Avant d’utiliser Metasploit, vous devez identifier les points d’entrée d’une machine cible. Pour cela, on utilise un scanner de vulnérabilités (comme Nessus ou Nmap avec des scripts de détection). Nous l’avons vu précédemment dans le chapitre sur la phase 2 en pentesting : Scan et analyse.

  • Le scanner inspecte la machine et dresse une liste des faiblesses, classées selon leur gravité (Medium, High, Critical).
  • On s’intéresse en priorité aux failles de niveau High ou Critical, en particulier celles qui signalent des correctifs de sécurité manquants (par exemple, des bulletins de sécurité spécifiques ou des identifiants CVE/BID).

La recherche d’un exploit dans Metasploit

Une fois les vulnérabilités identifiées, l’objectif est de trouver le module d’attaque correspondant dans Metasploit.

  • Utilisation de la commande search : Dans la console Metasploit (msfconsole), vous pouvez rechercher directement un exploit à partir de sa référence (par exemple en tapant search ms08-067 ou en cherchant par date ou par nom de logiciel).
  • Comprendre le « Rang » (Rank) d’un exploit : Metasploit attribue un niveau de fiabilité à chaque exploit, allant de Manual (nécessite des interventions complexes) jusqu’à Excellent. Plus le rang est élevé, plus l’attaque a de chances de réussir sans risquer de faire planter ou crasher la machine cible. Règle d’or : privilégiez toujours les exploits avec le rang le plus élevé disponible.
Rechercher un exploit dans Metasploit

La sélection et l’activation de l’exploit

Une fois le bon exploit repéré (par exemple exploit/windows/smb/ms08_067_netapi), vous l’indiquez à Metasploit pour qu’il se prépare à l’action :

use exploit/windows/smb/ms08_067_netapi

L’invite de commande de la console change pour afficher le nom de l’exploit sélectionné, confirmant qu’il est actif.

Le choix de la charge utile (Payload)

L’exploit ouvre la porte, mais c’est la charge utile (payload) qui va exécuter l’action souhaitée sur la cible une fois l’intrusion réussie.

  • Afficher les charges compatibles : Tapez la commande show payloads pour lister tous les codes exécutables adaptés à votre exploit.
  • Sélectionner la charge : Choisissez la charge désirée (par exemple un outil d’accès à distance de type VNC ou un reverse shell) à l’aide de la commande set payload, suivie du nom du module.
Méthodologie de Metasploit

Vous avez désormais toutes les clés en main pour comprendre l’architecture de Metasploit, de son installation sur votre système jusqu’à la logique fondamentale qui relie la détection d’une vulnérabilité au choix de l’exploit et de sa charge utile. En appréhendant le rôle de chaque composant et en adoptant une méthodologie rigoureuse, vous transformez un simple outil d’attaque en un puissant levier d’évaluation pour le hacking éthique.

Dans le prochain chapitre, nous passerons enfin à la pratique ! Nous mettrons en application cette méthodologie à travers des scénarios réels et des exemples concrets d’utilisation de Metasploit.