
Définition, historique
Origines
Tout d'abord, le terme de Forensique (qui découle de l'anglais forensic, lui même dérivé du latin forum, signifiant "place publique" mais aussi "lieu de jugement") recouvre plusieurs disciplines, et donc ne se limite pas à l'informatique:
- Police scientifique
- Médecine légale
- Renseignements et intelligence stratégique
- Lutte contre la corruption financière, montages, blanchiment d'argent, etc (Financial Forensic)
- L'informatique forensique
La forensique au sens général du terme découle de l'analyse scientifique de cas et a pour but, par une recherche intensive d'informations, de découvrir et mettre en lumière toute information inconnue au début de l'investigation, permettant ainsi:
- De permettre l'avancée d'enquêtes (police, police judiciaire, interne à une entreprise dans le cas de la forensique informatique, renseignement intérieur et extérieur, etc).
- De permettre à la Justice de disposer de tous les éléments nécessaires dans une affaire afin de rendre le jugement le plus objectif possible.
L'informatique forensique
Aussi appelée investigation numérique, l'informatique forensique a pour but de récupérer et analyser matériels, supports de stockage, mais aussi comptes en ligne (mail, réseaux sociaux), deepfakes, cryptomonnaies, et les traces de communications (logs, analyse de flux, déchiffrement de communications chiffrées - ou décryptage si l'on ne dispose pas des clefs de déchiffrement, transferts entre portefeuilles de cryptomonnaies, etc) en général dans le cadre d'une enquête suite à un crime ou délit comportant une composante numérique.
On retrouve aussi l'informatique forensique en entreprise, le but étant alors d'examiner intrusions, attaques et compromissions du système d'information de l'entreprise afin de mesurer l'impact de ces actions délictuelles ou criminelles sur la sécurité de l'entreprise et de ses données.
En général, les informations recueillies lors de ces investigations vont servir à confirmer ou infirmer diverses hypothèses qui seront par la suite présentées devant un tribunal.
Informatique Légale
La forensique découle de l'informatique légale, qu'on appelle aussi informatique judiciaire. Il s'agit de l'application des méthodologies de la forensique aux procédures légales, dans le but d'apporter les preuves numériques nécessaires à une investigation policière ou judiciaire.
Dans ces cas, il est nécessaire d'adapter les méthodologies de la forensique aux procédures légales, notamment en apportant un soin tout particulier à la conservation des preuves. Le but est alors d'analyser et collecter le plus d'informations pertinentes possibles sur les différents supports et matériels (en général saisis par la justice, donc placés sous scellés) afin de les produire dans le cadre d'une action en justice.
Éléments de terminologie de l'informatique légale, rapports
- Le support de données: ce terme représente tout dispositif permettant le stockage ou la transmission de données numériques. Disques durs, laptops, clefs USB, routeurs, GPS, smartphones, serveurs, etc, sont tous considérés comme des supports de données.
- L'investigation numérique: la Forensique en tant que telle. Elle regroupe:
- la collecte
- l'extraction
- l'identification
- l'authentification
- l'analyse
- l'interprétation et l'explication
des différentes informations et métadonnées collectées sur les supports de données disponibles visant à la production de preuves:
- Les preuves numériques: il s'agit de toute information d'origine numérique pouvant être utilisée comme preuve dans une affaire judiciaire.
Lors de vos investigations, vous produirez des rapports, parmi lesquels:
- Le rapport d'investigation: il s'agit de la documentation des étapes de votre investigation numérique. Le but est ici de prouver qu'une preuve numérique est bien le produit d'une information numérique, et a pour but de démontrer de façon irrévocable que cette preuve découle bien de l'information obtenue (et donc, n'a pas été forgée). Ce rapport doit décrire les logiciels, matériels utilisés lors de l'investigation, les méthodes et opérations utilisées afin d'obtenir l'information, décrit les problématiques rencontrées, notamment les incidents. Enfin, ce rapport énonce les preuves obtenues, et si besoin, donne les numéros de série des matériels utilisés. Ce rapport devient un rapport judiciaire s'il est couplé à un rapport de garde et découle d'une injonction ou d'une demande émanant d'un organisme judiciaire.
- Le rapport de garde: C'est un rapport, ou un procès-verbal, établi lors de la saisie ou de la réception d'une information et de son support. Ce rapport doit comporter:
- Les informations sur le détenteur d'origine (propriétaire, utilisateur, entreprise, etc) du support de données
- Les lieux et conditions d'acquisition du support de données
- la nature du support de données (photographie, numéro de série, constructeur, version, etc)
- La description de l'information numérique (métadonnées, systèmes de fichiers, etc) s'il y a lieu
- Les éléments légaux suivants:
- scellés/ouverture de scellés devant un officier de police judiciaire, un huissier de justice, etc
- les dates d'utilisation du support (début et fin)
- les modifications éventuelles comme la modification ou la suppression d'une clef de chiffrement, le déchiffrement ou le décryptage des données
- l'état de restitution du support (scellé là encore, photographie faisant foi, etc).
Tout manquement dans l'établissement de ces rapports et dans le respect des méthodologies peut conduire à un défaut de procédure et donc à l'annulation d'une procédure judiciaire, avec les conséquences que cela peut impliquer pour les potentielles victimes qui se voient refuser la justice à laquelle ces victimes ont légitimement droit.
Dès lors, il est extrêmement important de bien veiller, lors d'une analyse forensique découlant d'une demande judiciaire, de bien respecter les procédures nécessaires afin de garantir la validité des preuves numériques fournies et de ne pas risquer d'entraver le déroulement de la justice. Ce qui nous conduit à:
- L'exploitation des traces: il est important de faire attention à bien être sûr de l'identité de l'auteur! En effet, les résultats de notre investigation peuvent être faussés et conduire à l'accusation de la mauvaise personne, notamment si sa ou ses machines et supports de données ont été compromis par une personne tierce (par exemple par un trojan ou tout autre accès à distance). Il est donc nécessaire de bien recouper tous les indices collectés afin de pouvoir s'assurer de l'identité de l'auteur du délit ou crime informatique.
Méthodologies de l'informatique forensique
Analyse à froid
Dans l'analyse à froid, on va copier toutes les données à analyser sur un support dédié. Par exemple, on va cloner un disque dur dans une image disque, afin de ne pas intervenir sur le matériel compromis directement et ainsi de ne pas risquer de détruire des preuves potentielles.
Par exemple, dans le cadre d'une VM compromise, on travaillera sur son clone (il est aisé depuis un hyperviseur de copier disque virtuel et RAM d'une VM en cours de fonctionnement). Dans le cas d'un support de stockage, on travaillera sur une image de ce support.
On pourra aussi travailler sur des dumps de la mémoire d'une machine compromise afin d'analyser son contenu: on peut ainsi trouver des clefs de chiffrement, des mots de passe, des logiciels malveillants, etc.
Dans le cadre d'un support d'information de type disque dur ou autre, et lorsqu'on travaille sur une image (idéalement une copie pure et parfaite du support), il est aussi important de bien penser à rechercher les fichiers qui auraient été supprimés (si leurs inodes ont été supprimés, leur contenu est probablement encore présent sur le support).
Éléments de terminologie
Copie-image
Une copie-image est une copie bit-à-bit d'un support d'information, y compris les espaces non utilisés. C'est le bon vieux dd if=/dev/sdb of=mydisk.img dans toute sa splendeur.
Lorsque cette copie-image est réalisée dans le cadre d'une procédure judiciaire, elle doit être une copie pure et parfaite:
Copie pure et parfaite
Une copie pure et parfaite d'un support d'information l'est quand son empreinte numérique est identique à l'empreinte numérique du support d'information dont elle est la copie:
Empreinte numérique
Une empreinte numérique, c'est le hash d'une information ou d'un support numérique. Pour justifier qu'une copie-image est une copie pure et parfaite d'un support d'information, on utilisera deux algorithmes différents de hashage.
Analyse à chaud
L'analyse à chaud, elle, consiste à travailler directement sur le matériel à analyser. Cette méthode, plus risquée du fait de la possibilité de destruction d'informations et donc de preuves potentielles, peut cependant s'avérer nécessaire lorsque l'on désire analyser directement la RAM ou les processus en fonctionnement, ou le firmware d'une machine compromise.
Dans le cas d'une machine virtuelle, cependant, il est aisé de cloner configuration, RAM et support de stockage d'une VM en cours d'exécution afin d'en obtenir une copie pure et parfaite permettant de mener ses investigations sans risque de détruire de potentielles preuves.
Analyse temps-réel
Il s'agit ici d'un mécanisme de prévention, son but étant alors d'analyser, détecter et comprendre en temps réel le mécanisme d'une attaque pendant qu'elle se produit (notamment dans le cas d'une attaque réseau).
Outils de l'analyse forensique
Outils Open-Source
Liste largement (très largement) inspirée du lien suivant: https://github.com/cugu/awesome-forensics
- The Sleuth Kit (TSK), développé par Brian Carrier. Analyse de systèmes de fichiers.
- Autopsy, une GUI autour de TSK
- Volatility (analyse de dumps mémoire)
- MemProcFS: monter un dump mémoire comme un disque (Windows et Linux): https://github.com/ufrisk/MemProcFS
- WinPmem et LinPmem: dump mémoire Windows et Linux: https://github.com/Velocidex/WinPmem
- Redline (analyse de dumps mémoire)
- Zeek
- Radare (reverse engineering de malwares aka SRE)
- Ghidra (idem, développé initialement par la NSA, miam)
- Dissect (analyse de disques et de fichiers)
- testdisk et photorec (développés par un Français \o/): récupération de fichiers supprimés
Distributions linux dédiées
- Remnux
- SANS Investigative Forensic ToolKit, aka SIFT
- bitscout (liveCD/USB)
Outils Propriétaires
- Exterro forensic toolkit (FTK)
- Cellebrite
- XRY-XACT de Micro Systemation
- OpenText EnCase
TP 1: Analysons un dump mémoire Windows (analyse à froid)
Objectif: récupérons la clef de chiffrement de bitlocker dans le dump mémoire, c'est à dire la FVEK (Full Volume Encryption Key)! Comme toujours, cela signifie que si quelqu'un accède physiquement à votre machine (et qu'elle soit sous Windows, Linux, macOS, BSD, Plan9, Haiku ou autre) sans que vous en soyez conscient, on peut considérer qu'elle est compromise.
Tout d'abord, sur une VM Windows (dump fourni si nécessaire), téléchargez WinPMem (winpmem-mini fera l'affaire), puis, dans Powershell:
cd Downloads
winpmem... -2 memdump.raw
Transférez ensuite le fichier memdump.raw (par exemple, via SSH), sur la VM linux qui va nous servir à analyser ce dump.
On va ensuite installer MemProcFS sur notre VM (debian trixie, ici) de test:
sudo apt install libusb-1.0-0 libfuse2t64 lz4
On va ensuite aller télécharger l'exécutable pré-compilé de memprocfs:
mkdir memprocfs
cd memprocfs
wget https://github.com/ufrisk/MemProcFS/releases/download/v5.16/MemProcFS_files_and_binaries_v5.16.7-linux_x64-20251113.tar.gz
tar xvzf MemProcFS_files_and_binaries_v5.16.7-linux_x64-20251113.tar.gz
Enfin, on va monter notre dump mémoire dans un répertoire /home/user/mnt:
mkdir ~/mnt
sudo ./memprocfs -device /home/user/dump/memdump.raw \
-mount /home/user/mnt
sudo -s
cd /home/user/mnt
ls
ls misc/bitlocker/
ffffa00f32e44050.bin ffffa00f32e44050.fvek ffffa00f32e44050.txt readme.txt
cat misc/bitlocker/ffffa00f32e44050.txt
Bitlocker plugin for MemProcFS:
===============================
The BitLocker plugin tries to recover BitLocker key material from memory.
The MemProcFS BitLocker plugin is to some degree inspired by the excellent
Volatility plugin at: https://github.com/breppo/Volatility-BitLocker
To mount a bitlocker drive please use Linux dislocker. You may mount with
the recovered key material in the .fvek file by:
dislocker -k <recovered_key>.fvek /path/to/disk /path/to/dislocker
mount /path/to/dislocker/dislocker-file /path/to/mount
The plugin works best analyzing Windows 7 and Windows 10/11 targets.
Windows 8 support is more error prone - but will most often work.
---
Documentation: https://github.com/ufrisk/MemProcFS/wiki/FS_BitLocker
root@deb-memprocfs:/home/lidstah/mnt/misc/bitlocker# cat ffffa00f32e44050.txt
Address: 0xffffa00f32e44050
Cipher: AES-XTS 128-bit
Key: 5c57b8d9dea69394c99a395b75f478238d8e22adfdbfa4ec519c1ccf3b50447a
Attention, le ls peut être très lent. Votre VM linux devrait avoir 8Go de RAM, et si vous l'exécutez sur un hyperviseur type KVM/QEMU (proxmox, libvirt, incus, etc), il faut utiliser le type de CPU "Host" (x86-64-v2-AES et autres produiront une erreur d'instruction illégale - l'hyperviseur n'aime pas les blagues où on fait un peu trop joujou avec certaines instructions CPU). Dans ce cas ce qui nous intéresse plus, c'est le fichier .fvek qui contient les informations que nous pourrons utiliser par la suite avec un logiciel de type dislocker.
Et voilà comment on récupère les informations de Bitlocker depuis un dump mémoire Windows
On peut aussi activer le mode forensic -forensic X avec X de 1 à 4.
De même, on va avoir accès à pas mal de choses:
- Base de registre
- Processus
- Processus système
- threads des processus
- contenu mémoire individuel de chaque processus
- fichiers ouverts par un processus et bibliothèques de fonctions utilisées
- etc.
Le tout, analysable et parcourable comme un système de fichiers classique. Plutôt cool, non?
TP 2: analysez une machine virtuelle Linux compromise (à chaud)
Ici on part du principe que vous travaillez sur un clone d'une VM soupçonnée d'être compromise, que nous aurons placée dans un VLAN isolé, la VM d'origine ayant été mise en pause par le VMM (aka hyperviseur). Il s'agit donc d'une analyse "quasiment à chaud". Volontairement je ne vous donne pas d'indices pendant la première partie de cet exercice, cependant si vous bloquez au bout de la moitié du temps imparti je vous fournirai de plus amples informations afin de vous débloquer.
Étape 1: connexion à Netbird pour accéder au VxLAN SDV sur mon homelab 😀
Tout d'abord, je vais créer un compte netbird qui vous donnera accès au réseau "sdvnet" sur mon laboratoire personnel.
Ce compte sera nommé m2-sdv@supdevinci.net. Le mot de passe et le secret TOTP vous seront transmis pendant la séance: prenez bien soin de les noter!
Idéalement, je préfèrerai vous fournir des comptes individuels, mais comme il s'agit d'un compte temporaire qui sera désactivé puis supprimé à la fin du module, ça fera l'affaire.
Ensuite, il faudra me transmettre vos clefs publiques SSH.
Je créerai ensuite un compte SSH par groupe d'investigation sur la machine "compromise" afin que vous puissiez vous y connecter en SSH proprement , et les ajouterai au groupe sudo pour que vous soyiez sudoers.
À partir de là, et une fois connecté à Netbird, vous devriez pouvoir vous connecter à la VM de la sorte:
ssh nomdugroupe@192.168.67.25
Linux deb-forensics-playground 5.10.0-36-amd64 #1 SMP Debian 5.10.244-1 (2025-09-29) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Nov 16 14:07:18 2025
nomdugroupe@deb-forensics-playground:~$
Oui, c'est une Debian Bullseye, il y a une bonne raison à ça… cough cough
Étape 2: analysez la VM et présentez votre rapport d'investigation
Recherchez informations, logiciels suspects, comptes utilisateurs potentiellement compromis, etc et produisez un rapport d'investigation décrivant:
- Les logiciels et méthodes utilisés pour recueillir les preuves:
- Les preuves en question, par exemple:
- Backdoors
- rootkits
- logiciels cachés/détournés de leur utilisation normale
- fichiers cachés/chiffrés et leur(s) contenu(s)
- Les difficultés et incidents rencontrés pendant votre investigation
- Conclusion
(ça c'est pour faire comme chatGPT!)
Indice
Janklode, l'utilisateur qui pense avoir été compromis suite au vol de son laptop non chiffré, a remarqué un répertoire "funpics" dans son répertoire utilisateur qui n'y était pas avant.
Il y a peut-être un indice dans une des images…
N'installez pas de programmes superflus, tout ce dont vous avez besoin est déjà installé. Dans la vraie vie, n'oubliez pas qu'on ne veut pas modifier ou altérer une potentielle preuve.
Si vous êtes bloqués, je peux vous donner un indice. Bien évidemment, ne le communiquez pas aux autres groupes!
Bonus
Trouvez l'identité du coupable - il y a quelques indices disséminés dans le filesystem.
TP 3: petits groupes
Red Team: préparez une VM (Windows ou Linux) compromise
Quelques règles à respecter quand même:
- Pour les besoins de ce TP, vous pouvez utiliser des systèmes d'exploitation plus anciens (ex: Windows 10, Windows 7, Debian Bullseye (11), Ubuntu 16.04…) si vous désirez exploiter certaines failles non utilisables avec des systèmes d'exploitation plus récents.
- Pas de cryptolockers/ransomwares!
- Pas de virus au sens "saloperie qui peut se propager sur le réseau".
- Backdoors, rootkits, obfuscateurs de PIDs ou autre sont autorisés (c'est le but, quand même!)
- Ne farcissez quand même pas votre VM dans tous les sens… il faut que ce soit analysable dans le temps imparti par votre équipe Blue Team binôme
- Ne farcissez quand même pas votre VM dans tous les sens… il faut que ce soit analysable dans le temps imparti par votre équipe Blue Team binôme
- Votre but est de produire une VM:
- que vous pouvez contrôler à distance discrètement
- qui peut contenir des secrets chiffrés (image disque chiffrée, stéganographie, etc)
- Mais qui doit quand même être analysable par la partie adverse
- Par exemple dans le cas d'un volume chiffré, utilisez un mot de passe relativement simple (bon, pas
12345quand même) qui soit crackable rapidement, du fait du temps limité dont nous disposons.
- Par exemple dans le cas d'un volume chiffré, utilisez un mot de passe relativement simple (bon, pas
- Une fois votre VM prête à être analysée par les Blue Teams adverses, n'effectuez plus aucune opération dessus et ce, même si vous avez toujours accès à la VM: on part du principe que la VM a été isolée/clonée et est maintenant dans un environnement contrôlé et air-gappé.
- Préparez un rapport de compromission détaillant les "saloperies" installées
- Sur sa demande, l''équipe Blue Team aura accès à un indice permettant de découvrir les différentes techniques que vous aurez employées dans un temps raisonnable. Le but n'est pas de couler les autres équipes
- n'oubliez pas qu'il s'agit d'une épreuve notée. L'utilisation d'un indice ne coûte pas de point, l'utilisation de deux indices coûte 1 point, de trois indices 2 points…
Blue Team: Analysez la VM d'un autre groupe, et produisez un rapport d'investigation
Vous devrez analyser la VM compromise de votre équipe Red Team binôme et produire un rapport d'investigation qui devra décrire:
- Les logiciels et moyens utilisés pour analyser la VM de votre binôme Red Team
- Les informations (fichiers cachés, rootkits/backdoors découverts, etc) que votre équipe aura découvert ainsi que les méthodes utilisées pour découvrir ces informations
- Les problèmes et difficultés rencontrés lors de votre investigation
- Les preuves (informations, compromission) recueillies lors de votre investigation
- Conclusion