Copie d`une image d`une machine compromise

Transcription

Copie d`une image d`une machine compromise
Copie d’une image d’une machine
compromise
Version du 07/11/2012
Cette procédure décrit les opérations à effectuer, suite à un incident de sécurité, pour copier une
image des disques afin de permettre une analyse ultérieure et servir de preuves. Elle suppose que la
machine a été arrêtée. Préalablement à l’arrêt de la machine il faut avoir récupéré les informations
volatiles que se trouvent en mémoire, cela est décrit dans cet autre document.
En ce qui concerne les machines virtuelles, la procédure est différente et décrite dans cet autre
document.
Préalables



Disposer d’une distribution Linux « bootable » sur un support amovible (CD, DVD, clé USB).
Chacun utilisera celle qui lui est la plus familière. A défaut on peut suggérer d’utiliser
SystemRescueCD. Avec cette distribution, il est très facile de créer une clé USB « bootable »
ce qui peut être très utile lorsque la machine ne possède pas de lecteur de CD.
Disposer d’un disque d’une capacité suffisante pour stocker l’image. Attention, on a
généralement tendance à sous-estimer la taille des disques. Le disque doit être monté dans
un boîtier externe ou une station d’accueil qui dispose d’une connexion USB (eSata est aussi
possible pour le matériel récent).
Ce disque doit être formaté en ext3 (un système de fichier FAT ne permet pas d’avoir des
fichiers dont la taille est supérieure à 4Go). Il faut commencer par effacer totalement le
disque avant de créer un système de fichier qui fait la totalité du disque. Il est important de
ne pas se tromper de disque. Dans la suite il faut remplacer le « X » dans le device par la
lettre correspondant au disque.
fdisk –l /dev/sdX
# pour vérifier que l’on ne va pas écraser le mauvais disque
dd if=/dev/zero of=/dev/sdX bs=4k # mise à zéro du disque
cfdisk /dev/sdX
# création de la table des partitions ;
# choisir tout le disque, type=83 (Linux), sauver
mkfs.ext3 /dev/sdX1 # formatage de la partition
mount /dev/sdX1 <point de montage> # vérification que la partition se monte bien
umount /dev/sdX1 # démontage de la partition

Il préférable de s’être préparé à un incident et d’avoir sous la main tous ces éléments. Penser
que les opérations de préparation du disque prennent du temps, surtout pour un gros
disque.

Avoir récupéré les informations en mémoire qui pouvaient l’être avant l’arrêt de la machine.
Opérations
1. Introduire le support (CD ou clé USB) contenant la distribution Linux.
2. Démarrer la machine et faire les actions nécessaires au niveau du BIOS afin que le
système soit chargé à partir de ce support.
3. Lors du prompt au démarrage du système activer les bonnes options. Les points
importants sont :
a. désactivation si nécessaire du swap (option noswap sur une Knoppix) pour éviter
que la distribution n’écrase lors du démarrage la partition de swap existante ;
b. s’assurer que la distribution ne monte pas automatiquement les disques, il peut
être nécessaire d’activer une option ;
c. choix du clavier (généralement les machines ont un clavier français alors que les
distributions sont configurés par défaut en clavier US) ;
d. lors du prompt au démarrage le clavier a la disposition US, en tenir compte pour
saisir des valeurs, en particulier les chiffres doivent être entrés en minuscule.
4. Une fois la distribution complètement démarrée, si ce n’est pas déjà le cas, basculer en
mode « root »
su 5. Connecter le disque qui va recevoir la copie (celui-ci doit être formaté en ext3).
6. Repérer les devices utilisés pour accéder aux différents disques. Généralement ils sont de
la forme /dev /sdX où X est une lettre. Il faut déterminer lesquels sont utilisés pour le
disque d’origine et celui de destination. La commande fdisk -l peut être utile.
7. Monter le disque destiné à recevoir la copie, on supposera dans la suite que ce
soit /dev/sdb
mkdir /mnt/copie
fdisk -l /dev/sdb # pourt vérifier que l’on monte le bon disque
mount /dev/sdb1 /mnt/copie
8. Vérifier que l'on a bien monté le disque de copie
ls -al /mnt/copie
 ne doit renvoyer que « . » et « .. », et peut-être « lost+found »
9. Créer un répertoire pour la copie, par exemple
mkdir /mnt/copie/<serveur> # Il est commode de choisir pour <serveur> le nom ou l’IP
10. Se placer dans le répertoire de la copie
cd /mnt/copie/<serveur>
11. Copier toutes les partitions du serveur d'origine. Pour une machine Windows on se
contentera généralement de copier l’ensemble du disque et non pas partition par
partition (il faut dire que Windows est rarement partitionné), par exemple de la façon
suivante
dcfldd if=/dev/sda1 of=./sda1.dd bs=8M hash=sha1 hashlog=./sda1.sha1
Cette commande a l’avantage de calculer un haché en même temps que la copie. Si elle
n’est pas disponible il faudra utiliser la commande dd
dd if=/dev/sda1 of=./sda1.dd bs=8M
En cas d’erreur en lecture, il inutile de calculer un haché. Utiliser alors dd avec l’option
conv=sync,noerr et en réduisant la taille du bloc.
dd if=/dev/sda1 of=./sda1.dd bs=4k conv=sync,noerror
SI la commande ddrescue est disponible, plutôt que dd avec l’option conv=sync,noerr, il
est possible d’utiliser ddrescue qui tente de récupérer le maximum d’informations sur un
disque présentant des défauts (il réessaye plusieurs fois les lectures). Attention sa
syntaxe diffère de celle de dd ou dcfldd
ddrescue /dev/sda1 ./sda1.dd ./logfile
12. Copier toutes les partitions de tous les disques (sauf, évidemment, celui de réception de
la copie)
13. Penser à récupérer le partitionnement des disques copiés
fdisk -lu /dev/sda > ./fdisk.sda
14. Recopier le début des disques copiés, il contient notamment le secteur de boot qui a pu
être compromis
dd if= /dev/sda of=./MBR.sda bs=1M count=1
15. Arrêter le système et conserver précieusement le disque destination des copies. Avant de
procéder à une éventuelle analyse, il faut procéder à une copie des informations
contenues sur ce disque et on travaillera sur cette copie.
16. Si dans le cadre d’une procédure judiciaire, il faut fournir à la police le disque il faut faire
2 autres copies du disque résultat de la copie. En effet la police demande 2 copies, une
pour les scellés et une qui servira à l’analyse. Il faut aussi conserver une copie pour soi.

Documents pareils