Agence de Recherches et d'Enquêtes Privées

Réaliser une copie bit à bit d'un disque dur

inforensique forensic detective prive nevers agence de recherche et enquetes privees

L’acquisition des données est la première étape « pro-active » dans un processus d’investigation. Il s’agit d’une étape critique. L’objectif est d’extraire et de dupliquer des données, sans les altérer, en vue de les analyser. Bref, on « fige » les choses à une date et heure données.

Un objectif secondaire du processus de collecte est de permettre à un autre analyste de travailler ultérieurement sur ces mêmes données. Ainsi, les résultats obtenus par un analyste doivent pouvoir être retrouvés par un autre.

Les données numériques peuvent être volatiles (on parle aussi de données dynamiques) et non-volatiles (on parle alors de données statiques).

Les donnés volatiles sont par nature fragiles et sont modifiées en permanence. Par exemple, éteindre un ordinateur détruit certaines de ces données, brancher une clé USB ajoute de nouvelles données dans le registre, … Ces données se trouvent dans le registre, le cache, la RAM (mémoire vive).

Ici, on s’intéressera aux données non-volatiles, c'est-à-dire les données inscrites sur le disque dur. Ces données sont stockées et ne dépendent pas de l’alimentation électrique du système.


Processus et règles de base

Il y a trois grandes règles à avoir en tête avant de commencer.

  • Ne jamais travailler sur la machine à étudier car on va alors altérer les données.
  • Prendre deux copies : on travaille sur l’une, l’autre doit être conservée « propre ».
  • Calculer l’empreinte des données à l’aide d’un algorithme de hachage (hash). Le hash permet de s’assurer de l’intégrité des données (on peut utiliser les algorithmes MD5, SHA1, etc…)
L’image bit-à-bit est différente d’un backup

Le principe de l’image bit-à-bit est de prendre une image complète du disque dur, un peu comme un miroir. Concrètement, si le disque dur a une capacité de 500 Go, le fichier image qui en résulte aura lui aussi une taille de 500 Go. On va ainsi collecter les fichiers cachés, les données résiduelles comme le slack-space, les espaces inutilisées (mais sur lesquels il restent peut-être des anciennes données ?), etc …

Faire un Backup consiste à créer une archive des données, pour les restaurer ensuite ultérieurement, en cas de problème sur le système, par exemple. Ainsi, les espaces inutilisés ne sont pas collectés.

Les étapes préalables

Dans l’exemple, on suppose que le disque à copier fonctionne sous l’OS Windows.

La première question à se poser est : suis-je capable de démarrer le PC ? est-ce que j’ai le mot de passe de session ?

La réponse conditionne la suite.

  • Si on peut démarrer le PC et qu’on a le mot de passe de session, alors pourquoi ne pas réaliser certaines opérations en lançant Windows normalement. Mais attention, ce faisant, on commence déjà à modifier les données !
  • Dans le cas contraire, il faudra démarrer le PC depuis une clé USB bootable. On explique plus loin comment faire.
  • Autre option : démonter le PC et extraire le disque dur, que l’on montera ensuite sur un autre PC (ou sous la forme d’un disque dur externe) pour en faire la copie (sous Linux, bien sûr). Sur un PC portable, c’est plus ou moins délicat, le boitier peut être difficile à déclipser, les broches sont fragiles, etc … Il faut aussi penser à se décharger en électricité statique.
  • Ensuite, il faut vérifier l’horodatage du système. Cela peut sembler idiot, mais cela peut avoir des conséquences lorsqu’on examinera les métadonnées des fichiers (date de création par exemple). Le cas échéant, il faudra noter l’écart avec l’heure UTC.

    Sous Windows, ouvrir une invite de commande (cmd), puis entrer " date /t & time /t ".

    Si vous utilisez PowerShell (click droit sur l’icône du menu démarrer) : " date "

    Sous Linux, taper " date " dans le terminal.

    Ensuite, s’assurer du nombre de disques durs présents sur la machine, il peut y en avoir plusieurs, et pas forcément sous le même système fichiers. Prenons le cas d’un PC en dual-boot Windows | Linux, si Linux peut voir tous les disques, même ceux formatés en NTFS (Windows), ce n’est pas le cas de l’explorateur Windows qui ne reconnaît que son système de fichiers.

    Sous Windows, dans PowerShell : " Get-PhysicalDisk "

    Sous Linux, " fdisk -l "

    Bref, çà ne mange pas de pain, et ce serait dommage de prendre la copie du mauvais disque dur ou d’en oublier un !

    Les outils

    Plusieurs outils existent. On ne va citer ici que des outils gratuits ou open-source, et qui fonctionnent très bien.

    Pour faire une copie depuis Windows, on peut utiliser Access Data FTK Imager (FTK, pour Forensic Tool Kit). On peut l’utiliser de façon « portable », c'est-à-dire « prêt à l’emploi » depuis une clé USB. Après s’être inscrit sur le site de l’éditeur, on reçoit un mail permettant de télécharger l’exécutable d’installation. L’installation créé un dossier C:\Program Files\AccessData\FTK Imager. Ce dossier est à copier sur une clé USB. Et voilà !

    Si Windows n’est pas accessible, il faudra créer une clé USB bootable, sur laquelle on aura mis une distribution Linux. Pour créer une clé USB bootable, on pourra utiliser Win32DiskImager, Rufus, ou Ventoy. Ventoy permet de créer une clé multiboot : on peut y mettre plusieurs iso (et c’est bien pratique !).

    Quelques distributions à avoir sous la main : DEFT, DEFT Zero, Caine, Kali Linux …

    Ces distributions, orientées Forensic et Hacking, disposent des outils nécessaires de façon natives.

    La copie

    Nous allons démarrer la copie proprement dite.

    1er cas - Depuis la machine Windows

    Si on exécute la copie depuis Windows, il suffit de démarrer l’exécutable FTK Imager. SI un problème se produit (type boite rouge, interdisant l’exécution), pas de problème ! Il suffit de créer une tâche de la façon suivante :

    • ouvrir le gestionnaire de tâches (Ctrl + Maj + Echap)
    • fichier, puis créer une tâche
    • dans le champ « ouvrir », parcourir vers le fichier FTK Imager.exe
    • cocher la case « Créer cette tâche avec des privilèges administration »

    Dès lors que Acces Data FTK Imager est lançé :

    • aller vers File, puis Create Disk Image, puis choisir Physical Drive
    • ensuite sélectionner le « source drive », c'est-à-dire le disque à copier (c’est là qu’il ne faut pas se tromper), puis Finish
    • dans le type d’image, sélectionner Raw (dd) ; c'est-à-dire un format « brut »
    forensic tool kit FTK imager
    • l’écran suivant propose de remplir des éléments de description du cas (n°, auteur,, …) ; cet écran est facultatif
    • ensuite, on indique le dossier de destination du fichier image (un disque externe, donc), puis le nom du fichier, mais sans en donner l’extension ; dessous, on peut indiquer si le fichier image peut être fragmenté (mettre 0 sinon)
    forensic tool kit FTK imager
    • avant de cliquer sur Start, vérifier les cases à cocher en bas de la fenêtre : l’option « Verify images after they are created » prend un certain temps (elle dure un peu moins que la copie proprement dite) ; l’option « Precalculate Progress Statistics » affiche le temps restant (çà peut servir …)
    • enfin l’option « Create directory listngs … » crée un fichier csv de la liste de tous les fichiers présents sur le disque : cela peut être pas mal pour faire facilement des opérations de filtre / tri ; le fichier obtenu contient quelques centaines de milliers de lignes, mais est assez léger au final, et se manipule bien
    • c’est parti pour près de 10 heures … (la copie d’un disque de 500 Go a pris 5h30 environ + la vérification. Bien sûr, le temps de copie dépend du processeur, de la RAM, etc … Pour le coup, il aurait sans doute été intéressant de démonter le disque …
    forensic tool kit FTK imager

    2nd cas - Une autre solution consiste à booter le PC depuis une clé USB bootable. Dans cette hypothèse, on ne lance pas l’OS de la machine à analyser. C’est donc une meilleure solution dans la mesure où l’on cherche à apporter le moins de modification à la machine que l’on souhaite analyser.

    Pour ce faire, nous avons donc créé une clé USB avec une ou plusieurs distros Linux.

    • on va d’abord modifier la séquence de démarrage du PC à analyser pour le forcer à booter sur la clé USB ; pour ce faire, dès le prompt de démarrage, appuyer plusieurs fois sur F2, jusqu’à entrer dans le BIOS (Basic Input Output System)
    • sauf que sur certains PC, ce n’est pas F2 … cela peut être F12, F8, ou autre chose ; il faudra donc faire une recherche préalable selon la marque du PC (Google est ton ami)
    • éteindre le PC, insérer la clé USB, redémarrer
    • une fois entré dans le BIOS, modifier la séquence de démarrage pour démarrer en premier sur la clé USB ; vérifier aussi si Secure Boot n’est pas activé
    • lancer DEFT ou Caine en live CD, puis brancher le disque dur externe (celui sur lequel on va copier l’image) ; ne pas oublier de monter le disque (on est sous Linux …)
    • lancer GuyMager (il y a un lien sur le Desktop) ; choisir le disque dont on veut acquérir les données ; click droit, puis « acquire image »
    DEFT
    • - dans l’écran qui apparait alors, indiquer le format (ici raw), le fichier de destination (attention, on est sous Linux, le disque externe apparaîtra sous /media), les options de calculs de hash, de relecture / vérification (un peu les mêmes options que sous FTK)
    DEFT
    • à la fin, on a un fichier image et un fichier info, qui nous donne quelques informations importantes, en particulier le hash du fichier ; on voit également que la copie a duré 3h.
    DEFT

    Une autre option est d’utiliser directement la commande dcfldd. Cette commande est une amélioration de la commande dd (defense computer forensic lab data definition) :

    • exemple de syntaxe : dcfldd if=/dev/sda of=/dev/sdb1/sda_image.dd conv=notrunc,noerror hash=md5 md5log=md5.txt hashconv=after bs=4096
    • if = input file : c’est le disque source, celui qu’on veut copier (ici, sda)
    • of = output file : c’est le chemin du fichier de destination (ici, sda_image, qui est sur sdb)
    • inverser if et of revient à copier le contenu du disque externe (a priori, vide) sur le disque contenant les données ; bref, c’est pas bon du tout ! Et avec Linux, il n’y a pas beaucoup de message de confirmation … donc prudence
    • si on a pu démonter le disque dur, on utilisera alors un bloqueur en écriture pour prévenir ce genre de désagrément
    • enfin, avec notre exemple, la copie a pris environ 5h
    Et après ?

    Et bien après, on analyse, mais c’est une autre histoire.

    Pour faire court, on peut monter l’image obtenue dans Autopsy, interface graphique de TSK (The Sleuth Kit), outil open source qui fonctionne très bien.

    Il y a une option intéressante qui consiste à monter l’image dans un logiciel de virtualisation (VirtualBox par exemple). Pour ce faire, il faut d’abord transformer le fichier image en fichier vdi (VirtualBox Disk Image), à l’aide de la commande suivante :

    • VBoxManage convertdd /media/chemin du fichier image /chemin de destination/image.vdi –format VDI

    L’exécution de la commande prend un peu plus d’une heure.

    Puis créer une nouvelle machine virtuelle, en allant chercher le fichier VDI qui va bien (ceux qui en sont arrivés là devraient savoir faire).

    Autre option possible, le logiciel ProDiscover Basic (la version pas Basic est payante) permet de créer une image pour VMWare.

    DEFT
retour aux articles

likez, tweetez, partagez, commentez,

partage facebook detective prive nevers agence de recherche et enquetes privees partage google detective prive nevers agence de recherche et enquetes privees partage linkedin detective prive nevers agence de recherche et enquetes privees partage twitter detective prive nevers agence de recherche et enquetes privees