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 :

ContexteBut
EntrepriseComprendre 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"]
TermeSignification
Copie-imageCopie bit à bit, y compris l’espace vide (où se cachent les fichiers supprimés)
Empreinte numériqueHash du support ; on en calcule deux avec des algorithmes différents (ex. SHA-256 + SHA-512)
Copie pure et parfaiteCopie dont l’empreinte est identique à celle de l’original
Rapport de gardeProcès-verbal de saisie : propriétaire, lieu, conditions, n° de série, scellés, dates, restitution
Rapport d’investigationChaque é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.img

Attention à 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éthodePrincipeRisque
À froidOn travaille sur une copie (image disque, dump mémoire, clone de VM)Le plus sûr
À chaudOn travaille sur la machine en marcheOn peut détruire des preuves ; mais certaines n’existent qu’en RAM (processus, clés de chiffrement)
Temps réelObserver l’attaque pendant qu’elle se déroulePré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

OutilUsage
The Sleuth Kit / AutopsyAnalyse de systèmes de fichiers (Autopsy = interface graphique)
VolatilityAnalyse de dumps mémoire
WinPmem / LinPmemFaire un dump de la RAM (Windows / Linux)
MemProcFSMonter un dump mémoire comme un dossier à parcourir
testdisk / photorecRécupérer partitions et fichiers supprimés
Ghidra, Radare2Rétro-ingénierie de logiciels malveillants
ZeekAnalyse du trafic réseau
DistributionsSIFT (SANS), REMnux, bitscout
CommerciauxEnCase, 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és

TP 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

  1. Contexte et périmètre (quelle machine, quand, qui a demandé).
  2. Outils et méthodes utilisés.
  3. Preuves trouvées (avec empreintes, emplacement, heure).
  4. Chronologie de l’attaque.
  5. Difficultés rencontrées.
  6. Conclusion et recommandations.

Exercices

  1. Pourquoi calculer l’empreinte de l’original et de la copie ?
  2. Un serveur est compromis et encore allumé. L’éteindre tout de suite ?
  3. Que montre le TP BitLocker sur la sécurité d’un portable ?

Voir aussi