Analyse forensique, complètement sick !

M’intéressant fortement à l’analyse forensique ces derniers temps, j’ai décidé de faire un article pour présenter ce vaste domaine.

Définition

Lors d’un incident de sécurité au sein d’un SI, il est nécessaire de comprendre le mode opératoire de l’attaquant afin de retracer ses actions, mais également de pouvoir collecter assez de preuves pour pouvoir porter plainte. Pour cela, plusieurs techniques sont utilisées :

  • Récupération de fichiers effacés;
  • Analyse des logs;
  • Analyse des fichiers infectés;
  • Analyse de la mémoire;
  • Détection et analyse de Rootkits;
  • Etc…

Pour bien appréhender ce type d’analyse, il est nécessaire de connaître plusieurs outils permettant d’accomplir des tâches bien spécifiques. Par exemple, avec quels outils analyser/récupérer une image, un fichier mp3, un iso etc…  C’est ce que je vais détailler dans cet article.

Analyse de disques durs, fichiers images (.img, .dd etc.), et systèmes de fichiers
——————————————————————————-

Foremost
Description : outil en ligne de commande permettant de récupérer des fichiers qui ont été effacés.
Lien : Foremost
Utilisation : foremost FS.dd

dd_rescue
Description : outil Linux permettant de récupérer des fichiers qui ont été effacés.
Lien : dd_rescue
Utilisation : dd_rescue /dev/hda monfichier.img

Scalpel
Description : outil Linux permettant de disséquer les fichiers stockés sur votre disque dur.
Lien : Scalpel
Utilisation : éditer le fichier de configuration /etc/scalpel/scalpel.conf et décommenter le système de fichier que vous souhaitez retrouver (exemple PDF)
[…]
pdf y 5000000 %PDF %EOF\x0d REVERSE
pdf y 5000000 %PDF %EOF\x0a REVERSE
[…]
Démarrer scalpel (hda6 est la partition ou se trouve les fichiers supprimés) :
scalpel /dev/hda6 -o output

NTFS Undelete
Description : outil multiplateforme permettant de récupérer des fichiers effacés sur le système de fichier NTFS.
Lien : NTFS Undelete
Utilisation : ntfsundelete /dev/hda1

Fatback
Description : outil Linux permettant de récupérer des fichiers effacés sur le système de fichier FAT.
Lien : Fatback
Utilisation : fatback  image -o /home/lestutosdenico/recovered –auto

Sleuth Kit
Voir l’article suivant : http://www.lestutosdenico.com/outils/sleuth-kit-autopsy

Analyse d’images (.jpg, .bmp, .gif, etc.)
——————————————————————————-

Exiv2
Description : librairie C++ et utilitaire en ligne de commande multiplateforme permettant de gérer les métadatas des images.
Lien : Exiv2
Utilisation : exiv2 -pc leperlestmerveilleux.jpg

Recoverjpeg
Description : outil Linux permettant de retrouver des images au format JFIF (JPEG) et les films au format MOV (avec recovermov) sur un périphérique.
Lien : recoverjpeg
Utilisation : recoverjpeg /dev/sda1 (pour retrouver des fichiers sur la cible /dev/sda1.

Jhead
Description : outil multiplateforme permettant d’extraire les données EXIF de vos fichiers jpeg.
Lien : jhead
Utilisation : jhead pokemon.jpg

Forensic image viewer
Description : outil Windows permettant de traiter plusieurs types d’images (JPG, PNG, GIF etc.). Il permet de montrer les données EXEF et d’afficher les images sur des vignettes (traitement plus rapide qu’en ligne de commande).
Lien : forensic image viewer
Utilisation : installer le .exe

Exifprobe
Description : outil permettant de lire les fichiers d’images produits par les appareils photo numériques (ce qui inclut plusieurs des fameux formats « raw ») et rapporte la structure du fichier ainsi que les données auxiliaires et les métadonnées.
Lien : Exifprobe
Utilisation : exifprobe -Z toto.jpg

Analyse de la mémoire
——————————————————————————-

Volatility
Description : framework multiplateforme incorporant une suite d’outils permettant d’analyser la mémoire (RAM).
Lien : Volatility

Analyse de PDFs
——————————————————————————-

PDFiD
Description : outil Python permettant d’aider à détecter les PDF malicieux.
Lien : PDFiD
Utilisation : pdfid.py toto.pdf

PDFMiner
Description : outil Python permettant d’extraire les informations d’un document PDF. Il vise principalement l’analyse des données textes et inclue une fonction de conversion de format (PDF en HTML etc.).
Lien : PDFMiner
Utilisation : pdf2txt.py poney.pdf

PDFInfo
Description : outil Linux permettant d’extraire et manipuler certaines informations d’un document PDF (titre, sujet, auteur, etc.).
Lien : PDFInfo
Utilisation : pdfinfo -chocapicz.pdf

Origami
Description : Outil Ruby permettant de parser, analyser et forger des documents PDF. Il est capable d’aider à la compréhension de code malicieux injecté dans le document.
Lien :  Origami
Utilisation : voir la présentation ci-dessous.
Présentation : http://www.security-labs.org/fred/docs/ossir09-origami-pdf.pdf

Analyse de MP3s
——————————————————————————-

Id3
Description : outil Linux permettant de lister, modifier ou supprimer les tags ID3 d’un fichier.
Lien : Id3
Utilisation : id3 -l mon_petit_poney.mp3

Mp3info
Description : outil multiplateforme permettant de lire les tags ID3 de fichiers MP3. Il permet d’afficher les caractéristiques des fichiers (bit-rate, fréquence, etc.).
Lien : Mp3info
Utilisation : mp3info la_lambada.mp3

Analyses diverses
——————————————————————————-

Diff + Hexdump
Description : deux outils qui, couplés ensembles, permettent d’afficher la différences entre deux fichiers.
Lien : inclus dans Linux de base.
Utilisation : diff -u <(hexdump -C forensic.mp3) <(hexdump -C forensic.mp3.2)

File
Description :  outil permettant de déterminer le type de fichier passé en argument.
Lien : inclus dans Linux de base.
Utilisation : file -f granola.c

Strings
Description : outil permettant de sortir sur la console les caractères affichables d’un fichier ou d’un flux.
Lien : inclus dans Linux de base.
Utilisation : strings exemple.bin

Ldd
Description : outil permettant de retrouver les librairies partagées utilisées appelées par un programme.
Lien : inclus dans Linux de base.
Utilisation : ldd truc

Ltrace
Description : outil permettant de suivre les appels à des bibliothèques dynamiques.
Lien : inclus dans Linux de base.
Utilisation : ltrace truc

Strace
Description : outil permettant d’afficher chaque appel système réalisé par un programme.
Lien : inclus dans Linux de base.
Utilisation : strace truc

Readelf
Description : outil permettant de retrouver certaines informations sur les fichiers binaires ELF.
Lien : inclus dans Linux de base.
Utilisation :  readelf -a truc

Nm
Description : outil permettant de lister les symboles importés/exportés.
Lien : inclus dans Linux de base.
Utilisation : nm truc

Objdump
Description : outil permettant d’analyser les entêtes et les sections d’un binaire ELF, et comporte également un désassembleur.
Lien : inclus dans Linux de base.
Utilisation : objdump -d ./truc

Gdb
Voir http://www.lestutosdenico.com/tutos-de-nico/gnu-debugger

OllyDbg
Description : outil permettant de déboguer et de désassembler des fichiers au format PE.
Lien : OllydDbg
Utilisation : outil en interface graphique.

IDA
Description : outil permettant de désassembler une grande variété de formats exécutables pour différents processeurs et systèmes d’exploitation.
Lien : IDA
Utilisation : outil en interface graphique.

Analyse de malwares
——————————————————————————-

Voir les outils de la partie « Analyses diverses »

http://www.mysectools.com/MySecTools/The_Tools/Entries/2010/11/29_Forensics__Network_Forensics_Tools.html

Voilà, je pense que nous avons vu les principaux outils d’analyses forensiques. N’hésitez pas à laisser un commentaire si vous connaissez d’autres outils afin que je puisse mettre à jour cette liste.

Si le sujet vous intéresse, je vous recommande l’article de StalkR sur le site de Nibbles : http://nibbles.tuxfamily.org/?p=1993

PS : Merci à Sh4ka de son aide pour la liste d’outils et beau travail pour sa première place au challenge forensique RootBSD.

7 Responses to "Analyse forensique, complètement sick !"

Laissez un commentaire