P21 - Forensique : analyser une machine après un incident
Objectif
Connaître la démarche d’investigation numérique : préserver les preuves (copie-image + empreinte), choisir entre analyse à froid et à chaud, connaître les principaux outils et rédiger un rapport d’investigation.
Source
Fiche rédigée à partir de cours de lidstah (cours et 3 TP de lidstah).
1. De quoi parle-t-on ?
Forensique (de l’anglais forensic, latin forum, « lieu de jugement ») : la recherche scientifique de preuves. En informatique, on l’appelle aussi investigation numérique. Deux contextes :
| Contexte | But |
|---|---|
| Entreprise | Comprendre une intrusion : par où, quand, quelles données touchées, pour corriger et déclarer (CNIL sous 72 h si données personnelles) |
| Judiciaire (« informatique légale ») | Produire des preuves recevables devant un tribunal : procédure très stricte |
Les étapes de l’investigation : collecte → extraction → identification → authentification → analyse → interprétation.
2. Préserver la preuve
flowchart LR S["Support d'origine<br/>(disque, VM, RAM)"] -->|"copie bit à bit<br/>dd / dcfldd"| I["Copie-image"] S -->|"sha256sum"| H1["Empreinte A"] I -->|"sha256sum"| H2["Empreinte B"] H1 & H2 --> C{"A = B ?"} C -->|"oui"| OK["Copie « pure et parfaite »<br/>on travaille UNIQUEMENT dessus"]
| Terme | Signification |
|---|---|
| Copie-image | Copie bit à bit, y compris l’espace vide (où se cachent les fichiers supprimés) |
| Empreinte numérique | Hash du support ; on en calcule deux avec des algorithmes différents (ex. SHA-256 + SHA-512) |
| Copie pure et parfaite | Copie dont l’empreinte est identique à celle de l’original |
| Rapport de garde | Procès-verbal de saisie : propriétaire, lieu, conditions, n° de série, scellés, dates, restitution |
| Rapport d’investigation | Chaque étape suivie, pour prouver que la preuve vient bien du support |
# copie d'un disque (bloqueur d'écriture matériel conseillé sur l'original)
sudo dd if=/dev/sdb of=preuve.img bs=4M status=progress conv=noerror,sync
sudo sha256sum /dev/sdb preuve.img # les deux empreintes doivent être identiques
sudo sha512sum /dev/sdb preuve.imgAttention à l'attribution
Une trace prouve qu’une action a eu lieu depuis un compte ou une machine, pas forcément qui était derrière (compte volé, machine partagée). Une erreur peut faire accuser un innocent.
3. Trois façons d’analyser
| Méthode | Principe | Risque |
|---|---|---|
| À froid | On travaille sur une copie (image disque, dump mémoire, clone de VM) | Le plus sûr |
| À chaud | On travaille sur la machine en marche | On peut détruire des preuves ; mais certaines n’existent qu’en RAM (processus, clés de chiffrement) |
| Temps réel | Observer l’attaque pendant qu’elle se déroule | Prévention plus qu’investigation |
Avec une VM, c’est plus simple : l’hyperviseur peut suspendre la VM et cloner disque et RAM ; on analyse le clone dans un VLAN isolé.
4. Les outils
| Outil | Usage |
|---|---|
| The Sleuth Kit / Autopsy | Analyse de systèmes de fichiers (Autopsy = interface graphique) |
| Volatility | Analyse de dumps mémoire |
| WinPmem / LinPmem | Faire un dump de la RAM (Windows / Linux) |
| MemProcFS | Monter un dump mémoire comme un dossier à parcourir |
| testdisk / photorec | Récupérer partitions et fichiers supprimés |
| Ghidra, Radare2 | Rétro-ingénierie de logiciels malveillants |
| Zeek | Analyse du trafic réseau |
| Distributions | SIFT (SANS), REMnux, bitscout |
| Commerciaux | EnCase, FTK, Cellebrite (téléphones) |
5. Les TP en résumé
TP 1 - dump mémoire Windows (à froid) : on fait un dump de RAM avec winpmem, on le monte sous Linux avec MemProcFS, et on retrouve dans misc/bitlocker/ la clé de chiffrement BitLocker (FVEK). Leçon : un PC allumé ou en veille, volé, n’est pas protégé par le chiffrement du disque.
sudo ./memprocfs -device ~/dump/memdump.raw -mount ~/mnt
sudo ls ~/mnt/misc/bitlocker/TP 2 - VM Linux compromise (à chaud, sur un clone) : chercher backdoors, rootkits, comptes ajoutés, fichiers cachés ou chiffrés (indice : de la stéganographie dans des images), puis rédiger le rapport. Commandes typiques :
last ; lastb ; who # connexions récentes et échouées
sudo cat /etc/passwd | awk -F: '$3==0' # comptes avec l'UID 0 (root) en trop
sudo ls -la /tmp /var/tmp /dev/shm # fichiers déposés
sudo crontab -l ; ls /etc/cron.* # tâches planifiées suspectes
systemctl list-units --type=service # services inconnus
sudo ss -tulpn # ports ouverts et programmes
sudo find / -mtime -3 -type f 2>/dev/null # fichiers modifiés ces 3 derniers jours
cat ~/.bash_history # commandes tapées
sudo debsums -c # binaires système modifiésTP 3 - Red Team / Blue Team : une équipe piège une VM (backdoor, rootkit, données chiffrées), l’autre l’analyse et rédige le rapport.
Plan d’un rapport d’investigation
- Contexte et périmètre (quelle machine, quand, qui a demandé).
- Outils et méthodes utilisés.
- Preuves trouvées (avec empreintes, emplacement, heure).
- Chronologie de l’attaque.
- Difficultés rencontrées.
- Conclusion et recommandations.
Exercices
- Pourquoi calculer l’empreinte de l’original et de la copie ?
- Un serveur est compromis et encore allumé. L’éteindre tout de suite ?
- Que montre le TP BitLocker sur la sécurité d’un portable ?
Correction
- Pour prouver que la copie est identique à l’original (copie pure et parfaite) et que l’analyse n’a rien modifié.
- Pas sans réfléchir : la RAM contient des preuves (processus, connexions, clés) qui disparaissent à l’extinction. On fait d’abord un dump mémoire (ou une suspension de VM), puis on isole du réseau.
- Le chiffrement protège un appareil éteint. Allumé ou en veille, la clé est en mémoire et peut être récupérée : il faut éteindre (ou mettre en veille prolongée) un portable qu’on transporte.
Voir aussi
- P16 - HIDS et NIDS (Wazuh, Suricata) · P17 - Chiffrement et sauvegardes chiffrées (LUKS, GPG, Borg) · P09 - Cybersécurité (RGPD, ANSSI, PKI) · L05 - Services, processus et journaux
- Cours complet : cours de lidstah · cours de lidstah · cours de lidstah
- Retour : P00 - Programme pas encore vu