Outils de Forensic
1. Les outils
Il existe des dizaines dâoutils trĂšs performants pour faire de lâanalyse forensique. Nous nâallons pas lister ici de maniĂšre exhaustive lâensemble de ces outils, nous prĂ©fĂ©rons laisser le lecteur les dĂ©couvrir selon son bon vouloir. Cependant, nous pouvons tout de mĂȘme citer quelques outils de rĂ©fĂ©rence qui vous seront, quoi quâil advienne, indispensables. Voici un tableau regroupant ces outils par catĂ©gorie :
Réseau
Mémoire
Binaire
SystĂšme
Wireshark : Outil de capture et dâanalyse de trames rĂ©seau.http://wireshark.org
Volatility : Framework trĂšs puissant et multiplateforme dâanalyse de donnĂ©e volatile (RAM).
Hexdump : Outil de dump hexadécimal.
The coronerâs toolkit : Suite dâoutils dâanalyse de systĂšmes UNIX.
Tcpdump : Outil de capture en ligne de commande. Sa maĂźtrise est indispensable en environnement serveur sans interface graphique.
Readelf : Outil de dump dâinformation pour les fichiers ELF.
Logstash : Outil dâanalyse de logs
Scapy: Outil de manipulation de paquet TCP.
Gdb/ida pro: DĂ©bogueur permettant de tracer le comportement dâun programme ou dâanalyser un crash dump.
Nous allons maintenant dĂ©tailler rapidement les fonctionnalitĂ©s principales de ces outils et leur utilisation dans lâanalyse forensique dâun systĂšme.
1.1. Les outils dâanalyse rĂ©seau
a. Wireshark
Lâoutil Wireshark est LA rĂ©fĂ©rence des mĂ©tiers liĂ©s aux rĂ©seaux. Administrateur, auditeur, consultant... Cela vaut aussi pour lâanalyste forensique. Cet outil est capable de vous aider Ă dissĂ©quer littĂ©ralement chaque paquet qui traverse votre carte rĂ©seau.
Vous voyez ici une capture dâĂ©tablissement de connexion. En effet, on constate la prĂ©sence du flag SYN sur le paquet. Lâanalyste forensique remarquant par exemple un trĂšs grand nombre de ce type de paquet saura quâil a eu affaire Ă une attaque de type DOS par SYNflood. Pour rappel, cette attaque a pour but de saturer le serveur de connexions « en attente » en ne terminant par le three way handshake dâĂ©tablissement des connexions TCP.
b. tcpdump
En cas dâabsence dâenvironnement graphique, tcpdump est lâoutil indispensable pour capturer les trames rĂ©seau avant de les analyser avec Wireshark. Voici pourquoi il est nĂ©cessaire de maĂźtriser cet outil.
tcpdump -XXX -i <interface> -s <size> -w <file.pcap>Ici, vous noterez que nous avons choisi dâeffectuer une capture avec le plus haut niveau de verbositĂ© (-XXX) et de sauvegarder le rĂ©sultat dans un fichier au format pcap, format lisible par Wireshark. Ceci vous Ă©vitera dâavoir Ă faire une analyse « temps rĂ©el » sur la sortie standard, peu adaptĂ©e Ă lâanalyse forensique.
c. Scapy
Scapy est une bibliothĂšque Python dĂ©diĂ©e au rĂ©seau. Nous avons choisi cet outil comme rĂ©fĂ©rence car Python est un langage particuliĂšrement adaptĂ© Ă lâanalyse forensique, rapide Ă programmer et suffisamment « proche » du systĂšme.
Pour dĂ©montrer la puissance de cet outil, voici comment rĂ©aliser un scanner de port par SYN scan (envoi dâun paquet SYN sur chaque port cible) en seulement quelques lignes.
Si vous dĂ©sirez aller plus loin avec cet outil, sachez que vous pouvez forger Ă peu prĂšs nâimporte quel type de paquet rĂ©seau.
1.2. Les outils dâanalyse mĂ©moire
a. Volatility
Volatility est un framework complet dâanalyse de mĂ©moire, lui aussi Ă©crit en Python. Il peut agir sur la mĂ©moire vive comme sur une image de celle-ci, par exemple un fichier .vmem (image mĂ©moire de machine virtuelle VMware).
Voici par exemple le tyw, il permet dâobtenir lâensemble des processus en cours dâexĂ©cution, leur nombre de handles ouverts ou encore le nombre de thread. De maniĂšre plus gĂ©nĂ©rale, ce que permettent les outils dâun gestionnaire de tĂąches avancĂ©, volatility le permet sur des images mĂ©moire. Dans le cas dâune analyse forensique, encore une fois, rappelons que lâessentiel du travail se fait sur des donnĂ©es « mortes ».
1.3. Les outils dâanalyse binaire
a. Hexdump
Hexdump est un outil permettant lâaffichage hexadĂ©cimal de tout type de fichier. Pour lâanalyse binaire, il peut se rĂ©vĂ©ler trĂšs utile ; par exemple pour vĂ©rifier les donnĂ©es dâun programme, dans le cas dâun doute sur la corruption dâun systĂšme, il peut ĂȘtre indispensable de « reverse » certains fichiers binaires afin de vĂ©rifier quâils ne sont pas malveillants ou corrompus. Hexdump trouvera particuliĂšrement son utilisation sur les environnements serveur sans GUI. Il permettra de dumper un binaire afin de lâanalyser avec un autre outil graphique (IDApro par exemple).
b. Readelf
Lâoutil Readelf nâest, comme hexdump, quâun outil « consultatif ». En effet, il permet dâafficher lâensemble des informations dâun binaire ELF, lâadresse de lâensemble des bibliothĂšques auxquelles il est liĂ©, les adresses des diffĂ©rents symboles, etc. Lâanalyste forensique aura recourt Ă cet outil sâil suspecte quâun programme importe une bibliothĂšque « impropre » ou quâil utilise certaines fonctions quâil nâest pas censĂ© utiliser. Cela pourrait ĂȘtre le cas lors dâinfection virale par exemple.
c. Gdb
Nous avons ici choisi de prĂ©senter gdb car nous nous concentrons sur les systĂšmes de types UNIX. Cependant, dâexcellents dĂ©bogueurs existent sous Windows comme IDApro ou OllyDBG.
Gdb est un dĂ©bogueur, câest-Ă -dire quâil permet de contrĂŽler lâexĂ©cution dâun programme. Lors dâune analyse virale par exemple, il peut ĂȘtre indispensable pour lâanalyste de tenter de retracer le comportement du programme malveillant Ă©tape par Ă©tape, et Ă©galement dâen contrĂŽler lâexĂ©cution.
Lorsque nous parlons de contrĂŽler lâexĂ©cution, il sâagit ici dâun niveau de dĂ©tail qui nĂ©cessitera de trĂšs solides connaissances en architecture matĂ©rielle car il est possible par exemple avec un dĂ©bogueur dâarrĂȘter un programme Ă une instruction particuliĂšre, de changer la valeur de certains registres du processeur, et de relancer le programme. Sans aller si loin, lâanalyste dĂ©butant pourra par exemple dĂ©jĂ obtenir le code assembleur de tout programme.

Last updated
Was this helpful?