ABSTRACT
Metasploit n’est pas un « bouton exploit ». C’est un framework d’expérimentation offensive qui sert à formaliser un chemin : observation → hypothèse → vérification → exploitation contrôlée → mesure d’impact. Une utilisation correcte consiste à réduire l’incertitude à chaque étape, à garder une trace des hypothèses, et à produire des preuves reproductibles.
1. Positionnement dans la DAV
Metasploit se situe principalement en phase d’exploitation, mais il intervient aussi en énumération via ses modules auxiliaires. Dans un examen, ce qu’on attend implicitement est que l’on sache quand on bascule d’une reconnaissance à une exploitation, et que l’on justifie ce choix. Metasploit devient pertinent lorsqu’on a un service cible caractérisé, une version plausible, et une hypothèse d’exploitabilité raisonnable.
IMPORTANT
Metasploit ne remplace pas la compréhension du service. Il automatise des actions. Si l’on ne sait pas ce que l’on fait, on ne saura pas interpréter le résultat.
2. Prérequis conceptuels (ce qu’on doit savoir dire)
Un module Metasploit n’est pas une promesse. Il encode des préconditions. Un exploit réussit si et seulement si la pile cible correspond à un ensemble de conditions : version, configuration, architecture, options de compilation, présence d’une fonctionnalité activée, droits du service, profil réseau (filtrage), et parfois état interne applicatif.
Metasploit fonctionne toujours avec une séparation claire :
- le module exploit déclenche un comportement vulnérable ;
- le payload est ce que l’on obtient comme effet (shell, meterpreter, reverse TCP, bind) ;
- le handler est ce qui reçoit la connexion retour ou gère la session.
3. Méthodologie robuste (version examen, mais professionnelle)
L’intuition « nmap → google → msf search » doit être densifiée en une chaîne de décisions. L’idée n’est pas cette suite mécanique, l’idée est « mesure → hypothèse → validation → action ».
Étape 1 : caractériser la cible
On doit extraire au minimum : IP, ports, service, version, et si possible un banner ou un comportement.
nmap -sS -sV -O -Pn -p- 192.168.122.100
nmap -sC -sV -p 1099 192.168.122.100Objectif : produire une hypothèse du type « le service X, version Y, est exposé sur le port P ; il pourrait être vulnérable à Z ».
Étape 2 : qualifier le service
On utilise de l’énumération spécifique (scripts NSE, outils dédiés, tests manuels) pour confirmer l’identité réelle du service et éviter les fausses correspondances.
Étape 3 : rechercher les vulnérabilités
On relie version + configuration à une faille connue (CVE, advisory, exploit public). À l’examen, « recherche Google » est acceptable, mais il faut expliciter la logique : correspondance version → vulnérabilité.
Étape 4 : mapper la faille vers Metasploit
msfconsole
search <service> <version>
search cve:YYYY-XXXX
search type:exploit name:<mot-clé>Étape 5 : lire et comprendre le module
info
show options
show targets
checkC’est ici que se joue la différence entre une utilisation mécanique et une utilisation d’ingénieur.
Étape 6 : configurer exploit, payload et handler
use exploit/<chemin>
set RHOSTS 192.168.122.100
set RPORT 1099
set LHOST 192.168.122.1
set LPORT 4444
set PAYLOAD <payload>
runLe choix de LHOST/LPORT dépend du contexte réseau (bridge, NAT, host-only).
Étape 7 : vérifier et produire une preuve
Une session valide doit être caractérisée : utilisateur, système, privilèges, réseau.
4. Exemple raisonné : port 1099 (Java RMI)
Le port 1099 est classiquement associé à Java RMI Registry. Cela ne suffit pas à conclure.
nmap -sV -p 1099 --script "rmi-dumpregistry,rmi-vuln-classloader" 192.168.122.100Ensuite, on recherche des vulnérabilités de type « Java RMI remote code execution » ou « RMI classloader abuse », puis on identifie un module Metasploit correspondant.
search rmi
search java rmiWARNING
Les exploits RMI dépendent fortement de la version de la JVM et de la configuration de sécurité. Un échec ne signifie pas nécessairement absence de faille.
5. Port 5900 : remise en contexte
Le port 5900 correspond typiquement à VNC. Ici, il s’agit souvent plus d’un problème de configuration que d’un exploit.
nmap -sV -p 5900 --script "vnc-info,vnc-title,vnc-brute" 192.168.122.100Deux cas :
- accès direct ou mot de passe faible → mauvaise configuration ;
- version vulnérable connue → exploitation potentielle.
Dans Metasploit :
search vnc
search type:auxiliary vnc
search type:exploit vnc6. Formulation attendue à l’examen
Metasploit est un framework permettant d’opérationnaliser une hypothèse de vulnérabilité. La méthode consiste à identifier un service (scan), confirmer sa version et son comportement (énumération), associer une faille plausible (recherche), sélectionner un module Metasploit, vérifier ses préconditions, configurer l’exploit et le payload, puis produire une preuve d’exploitation contrôlée.
7. Commandes Metasploit à connaître impérativement
msfconsole
search
info
use
show options
set
setg
show payloads
check
run
exploit
sessions -l
sessions -i
jobs -l
back8. Erreurs classiques
La plus fréquente consiste à croire qu’un exploit échoue parce que la cible n’est pas vulnérable. En réalité, l’échec provient souvent d’un mauvais LHOST, d’un filtrage sortant, d’une cible incorrecte ou d’une précondition non remplie.
IMPORTANT
En DAV, on évalue notre capacité à raisonner, pas à « lancer des modules ». Metasploit est un outil de validation, pas une béquille intellectuelle.