Digital Forensic

By - Thanusiyan ASHOKAR
  • En Infosec, on se sert de la forensic pour retrouver des attaques, répondre à des incidents, mettre à jour un espionnage, notamment industriel, une exfiltration de données, une falsification de documents ou encore une perte de données.

  • Il existe deux méthodes d’analyses :

    • La méthode dite traditionnelle qui se fait de l’analyse post-mortem d’un support ou d’un disque, méthode qui a l’avantage d’impacter faiblement les données. Elle est considérée comme la méthode la plus « pure » et la plus neutre dans le sens où l’altération des données est faible.
    • Les méthodes « live » qui entrent souvent dans le cadre d’une réponse à incident.
  • Dans une méthode en « live », le défi sera de minimiser l’impact à l’intégrité du système pendant la capture des données volatiles. Pour faire simple et illustrer cette affirmation : lorsque l’on va capturer une image d’un système, on va écrire sur le registre du système, donc on va laisser une trace. Dans ces cas-là, on peut avoir recours à un write blocker avant l’acquisition.

  • Il peut y avoir plusieurs étapes lors d’une analyse forensic. Elles peuvent aller de quatre à vingt-un selon ce qui est demandé. Le schéma le plus traditionnel en comporte quatre et se décompose ainsi :

  • Identification : trouver et identifier les informations, généralement, on se contente de procéder à une image du système dans un premier temps.

    • Acquisition : on fait l’image.
    • Analyse : on analyse toutes les données récupérées, on les hiérarchise, on restitue une chronologie et une utilisation possibles.
    • Présentation : on présente les résultats.
    • On distingue deux types de données : les données volatiles et les données non-volatiles.
  • Les données volatiles sont les données qui sont perdues lors d’une extinction, typiquement, cela touchera la RAM mais les informations sont parfois récupérables. Cela va concerner

    • La liste des processus actifs ;
    • La mémoire ;
    • Les connexions réseaux actives ;
    • Les informations sur les systèmes ;
    • Les clefs de registres ;
    • Les clefs de chiffrements.
  • Lorsque l’on dit que ces données sont perdues, elles ne le sont pas toujours réellement. Si on prend l’exemple d’une machinant fonctionnant sous Windows Seven, ces informations vont pouvoir être récupérées dans le registre.

  • Les données non-volatiles sont les données qui ne sont pas perdues et qui sont en mémoire morte comme les clefs USB ou les disques durs.

  • La plupart des appareils électroniques permettent de reconstituer les activités qui ont été faites. En fouillant dans certaines parties du système, on peut retracer l’activité d’un navigateur Web, d’un système de fichiers, des connexions réseau ou des périphériques qui ont pu être branchés.

  • Il existe énormément d’outils pour procéder à des analyses forensics, certains systèmes d’exploitation y sont d’ailleurs entièrement dédiés. Mais la fragilité des systèmes fait qu’il convient de travailler de façon minutieuse et très organisée de façon à ne pas perdre les informations ni à les altérer.

L’analyse mémoire avec Volatility

Prenez en main Volatility

Pour lancer Volatility, il suffit d’ouvrir un terminal et d’entrer par exemple la commande volatility -h pour afficher les options disponibles (voici le début).

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Ci-dessous quelques commands Plugin :

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Récupérez le profil de l'image avec ImageInfo

Nous avons utilisé l'option ImageInfo de Volatility sur notre dump mémoire avec la
commande ci-dessous :

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Cette option vous permettra d’obtenir les informations de profil de votre image. Comme vous pouvez le voir sur la sortie console ci-dessus, le champ « suggested profile » propose des suggestions de profils qu’il faudra ensuite préciser à Volatility avec l’option « profile= ».

Récupérez la liste des processus

Pour extraire la liste des processus, il est possible d’utiliser l’option pslist comme ci-dessous :

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Listez les DLL d'un processus

Les DLL, pour Dynamic Link Library, sont les librairies dans Windows. Ce sont des fonctions préalablement codées et disponibles sur le système. Pour éviter de recoder certaines fonctions, l’API Windows fournit une liste de DLL permettant de manipuler des données, de faire des connexions réseau ou encore d’écrire des fichiers.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Analyse de registre

Le registre contient divers paramètres et configurations pour le système d'exploitation Windows. En tant que composant principal de Windows, il est accédé en permanence pendant le temps d'exécution. Ainsi, il est logique que le système place en mémoire tout ou partie des fichiers du registre.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Analysez les connexions réseaux

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Analysez en détail les processus avec Volatility

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Affichez les processus cachés avec psxview

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Détectez l'injection de code avec malfind

La commande malfind peut être utilisée pour détecter de l’injection de code malveillant.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Listez les mutex avec mutantscan

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →