• 20 heures
  • Difficile

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 28/11/2019

Récupérez les informations de base du disque pour l'analyse

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Ça y est, vous avez analysé le dump mémoire du poste sur lequel vous investiguez. Dans cette partie, nous allons passer à l'analyse du disque dur ! Si ce n'est pas déjà fait, vous pouvez télécharger la copie du disque dur en cliquant ici. Ce fichier contient tout le contenu du disque dur du PC juste après l'attaque. Ainsi, vous pourrez mener l'investigation de chez vous en même temps que moi !

L’analyse forensic de la mémoire permet d’analyser les données volatiles, comme nous avons pu le voir. L’analyse du disque dur nous permettra de comprendre un peu plus en détail les actions menées sur le système, et confirmer les éléments observés sur le dump mémoire.

Après avoir vu comment analyser un dump mémoire, nous allons à présent étudier comment les données sont stockées sur un système Windows et comment réaliser une chronologie des évènements, afin de mieux comprendre ce qu'il est passé sur la machine.

Comment sont stockées les données sur un système Windows ?

Pour fonctionner correctement, un système d’exploitation à besoin d’un système de fichiers. Un système de fichiers est une partie obligatoire du système d'exploitation, qui détermine la manière dont les fichiers sont nommés, stockés et organisés sur un volume. Un système de fichiers gère les fichiers et les dossiers, ainsi que les informations nécessaires pour localiser et accéder à ces éléments par les utilisateurs locaux et distants.

Pour stocker et organiser les données, Windows utilise le système de fichier NTFS (New Technology File System) développé par Microsoft. NTFS est utilisé sur Windows depuis la version Windows NT4.

Pour avoir plus d’informations sur le système de fichier NTFS, vous pouvez vous rendre sur la documentation de Microsoft.

Le système de fichier NTFS comporte des particularités qui sont intéressantes à connaître pour l’analyse forensic :

  • NTFS améliore la sécurité grâce à ACL (Access Control List), pour gérer les droits d’accès aux fichiers ;

  • NTFS permet la gestion des ADS (Alternate Data Stream), permettant de dissimuler des flux de données ;

  • chaque fichier stocké possède un timestamp, ainsi que des attributs MACE, Modified, Access, Create, Entry Modified ;

  • NTFS utilise une structure de données appelée MFT (Master File Table) qui stocke les données sur le système avec des informations de timestamp.

Organisation des données sur un volume NTFS

Un volume NTFS est organisé de la manière suivante :

  • NTFS Boot Sector : contient le bloc de paramètres BIOS qui stocke des informations sur la structure du volume et les structures du système de fichiers, ainsi que le code de démarrage qui charge Windows ;

  • Master File Table : contient les informations nécessaires pour extraire des fichiers de la partition NTFS, tels que les attributs d'un fichier ;

  • File System Data : stocke les données qui ne sont pas contenues dans la MFT ;

  • Master File Table Copy : inclut des copies des enregistrements indispensables à la restauration du système de fichiers en cas de problème avec la copie originale.

Maintenant que vous savez un peu plus comment fonctionne un système de fichier NTFS, nous allons à présent rentrer un peu plus en détail dans le fonctionnement de la MFT et son analyse forensic.

Extraction de la MFT pour l'analyser

Lorsque vous formatez un volume avec NTFS, Windows crée une MFT et des fichiers de métadonnées sur la partition. La MFT est une base de données relationnelle composée de lignes d'enregistrements de fichiers et de colonnes d'attributs de fichiers. Il contient au moins une entrée pour chaque fichier d'un volume NTFS, y compris la MFT elle-même.

MFT et métadonnées

Comme la MFT stocke des informations sur elle-même, NTFS réserve les 16 premiers enregistrements de la MFT pour les fichiers de métadonnées (environ 16 Ko) qui sont utilisés pour décrire la MFT. Les fichiers de métadonnées commençant par un signe dollar ($) sont décrits dans le tableau Fichiers de métadonnées stocké dans la MFT. Les enregistrements restants de la MFT contiennent les enregistrements de fichiers et de dossiers, pour chaque fichier et dossier du volume.

Le tableau suivant présente les fichiers système présents à la racine.

Entrée

Filename

Description

0

$MFT

Il contient tous les enregistrements des fichiers stockés et leurs informations (nom, horodatage, type de fichier, etc.).

1

$MFTMirr

Cette partie est une copie des 4 premières entrées MFT utilisées pour restaurer une partition.

2

$LogFile

Il s'agit d'un fichier journal contenant toutes les actions effectuées sur le volume.

3

$Volume

Il contient toutes les informations du volume, telles que le nom ou la version du système de fichiers.

4

$AttrDef

Il contient la liste de tous les attributs définis par le système sur le volume.

5

.

Le répertoire racine.

6

$Bitmap

Cette partie représente les clusters free ou inutilisés sur le volume.

7

$Boot

Cette partie contient les informations de Boot.

8

$BadClus

Cette partie contient tous les clusters ayant des secteurs défectueux sur le volume. Cela permet également d'identifier les clusters non référencés.

9

$Secure

Contient des descripteurs de sécurité uniques pour tous les fichiers d'un volume.

10

$UpCase

Il contient une table de caractères Unicode en majuscules pour effectuer la correspondance sous Windows et DOS.

11

$Extend

Utilisé pour diverses extensions facultatives telles que $Quota, $ObjId, $Reparse. 

Extrayez la MFT

La MFT se situe à la racine du disque dur. Pour y accéder, il suffit d’utiliser le logiciel FTK Imager. La copie d’écran ci-dessous nous montre la MFT sur le disque monté.

Emplacement fichier MFT
MFT

Pour l’extraire, il suffit de sélectionner le fichier et de cliquer sur Export File.

Exportation de la MFT avec FTK imager
Export MFT

Il n’y a plus qu'à sélectionner l’emplacement où stocker le fichier.

MFT in folder
MFT in folder

Maintenant que nous avons extrait la MFT, il ne nous reste plus qu’à exploiter ses données.

Exploitez les données de la MFT

Comme mentionné, la MFT enregistre toutes les informations relatives à un fichier, y compris sa taille, son nom, ses horodatages, ses autorisations et, dans certains cas, ses données.

Lorsque des fichiers sont ajoutés au système de fichiers, la taille de la MFT augmente. Toutefois, lorsque les fichiers sont supprimés du système, leurs entrées dans la MFT sont marquées comme disponibles pour une utilisation ultérieure, mais la taille de la MFT ne diminue pas.

Chaque fichier du volume a une entrée contenue dans la MFT. Chaque entrée MFT est composée d'un en-tête et de plusieurs attributs. Voici la liste complète de tous les attributs trouvés dans les entrées MFT décrites par le site MSDN de Microsoft. 

Valeur

Description

$STANDARD_INFORMATION

0x10

Attributs de fichier (Read-Only ou Archive), horodatage et nombre de liens physiques.

$ATTRIBUTE_LIST

0x20

Une liste d'attributs qui constituent le fichier et la référence de fichier du fichier MFT dans lequel chaque attribut est situé.

$FILE_NAME

0x30

Le nom du fichier en Unicode

$OBJECT_ID

0x40

Identificateur d'objet de 16 octets attribué par le service de suivi de liens.

$VOLUME_NAME

0x60

Le nom du volume.

$VOLUME_INFORMATION

0x70

Information sur le volume

$DATA

0x80

Le contenu du fichier

$INDEX_ROOT

0x90

Utilisé pour implémenter l'allocation de nom de fichier pour les grands répertoires.

$INDEX_ALLOCATION

0xA0

Utilisé pour implémenter l'allocation de nom de fichier pour les grands répertoires.

$BITMAP

0xB0

Un index bitmap pour un grand répertoire.

$REPARSE_POINT

0xC0

Les données du point d’analyse.

Pour pouvoir exploiter et décoder la MFT, il est possible d’utiliser l’outil open source Mft2Csv qui va convertir le contenu de la MFT en fichier CSV. Beaucoup plus simple pour lire les données. ;)

Vous pouvez télécharger Mft2Csv ici. Lorsque vous lancez Mft2Csv, il faut ensuite spécifier le fichier MFT en cliquant sur « Choose $MFT ».

MFT2CSV
Mft2Csv

Il vous suffit ensuite de cliquer sur « Start Processing » pour décoder la MFT et générer le fichier CSV.

MFT Decoding
MFT Decoding

Une fois cela terminé, Mft2Csv crée un répertoire contenant toutes les informations récupérées.

Timeline
Timeline

Le principal fichier qui nous intéresse est le fichier du type "MFT_date_.csv". C'est le fichier qui va contenir toutes les entrées de la MFT, et c'est lui qui va nous permettre d'identifier la création de fichiers sur le système par timestamp.

Une fois remis en forme, il vous sera possible de trier les données par date de création, par exemple.

MFT trié
MFT trié 

Ici, nous pouvons identifier plusieurs choses :

  1. Le fichier  C:\Users\johnoc\AppData\Local\Temp\rad5163B.tmp.exe  a été créé sur le disque à 2019-07-31 12:45:47.4047080. Nous retrouvons également la création de notre fichier VBS, quelques instant après la création du premier exécutable détecté. 

  2. Si on remonte la timeline, on s'aperçoit que le fichier  invoice.doc  a récemment été ouvert. 

  3. Ce fichier proviendrait d'un fichier  invoice.zip  stocké dans le répertoire Download, mais aussi dans le répertoire temporaire Outlook. 

Une fois que vous avez trié les données, il ne vous reste plus qu'à générer une timeline pour mettre en exergue les informations correspondant à votre analyse.

En résumé

Windows utilise le système de fichiers NTFS (New Technology File System) qui permet d’organiser les données du disque.

Ce système utilise notamment la MFT (Master File Table), un élément crucial de l’investigation numérique, car elle permet de retracer les évènements. C’est un fichier système propre à NTFS. Il peut être extrait depuis chaque partition avec l’outil FTK Imager.

Pour traiter les données de la MFT, l’outil Mft2Csv permet de décoder les données et de générer un fichier CSV. Une fois les données extraites, une chronologie des évènements qui ont eu lieu avant l'attaque pourra donc être réalisée.

Nous avons ici retrouvé la trace de notre fichier  rad5163B.tmp.exe, ainsi que le fichier VBS précédemment identifié dans le dump mémoire. Par ailleurs, en remontant la chronologie, nous avons pu identifier que ce fichier proviendrait d'un fichier invoice.doc, lui-même provenant d'un fichier invoice.zip téléchargé au moment de la date présumée d'infection.

Enfin, nous savons que c'est un email malveillant qui a été reçu, et notre fichier zip se trouve dans le répertoire temporaire Outlook.

Dans le prochain chapitre, nous verrons les principaux éléments du disque dur qui vous intéresseront pour votre analyse forensic, et nous récupérerons les éléments identifiés.

Exemple de certificat de réussite
Exemple de certificat de réussite