(TAOMF) Analyse du swap et des pagefile.sys

L'ensemble des articles tagués TAOMF ont été écrit à partir d'un ensemble de notes prises suite à la lecture du livre "The Art Of Memory Forensic" écrit par Michael Hale Ligh, Andrew Case, Jamie Levy et Aaron Walters.

Tout les crédits de ces articles leur reviennent donc de droits. Par ailleurs je vous invite vraiment à lire ce livre qui est une mine colossale d'informations.


Quelque soit l'OS utilisé, il est très courant de rencontrer ce que l'on appelle du swap. Le swap est un espace d'échange qui sert à étendre la mémoire utilisable par un système. Cela se fait de deux manières:

  • Via l'utilisation d'un fichier (sous Windows on parle de pagefile.sys)
  • Via l'utilisation d'une partition dédiée (sous Linux on parle de partition swap)

I/ Traiter les pagefile.sys

First things first, il faut localiser ces pagefile.sys. En effet il peut y en avoir plusieurs sur un système Windows (maximum 16). La manière la plus simple de toutes les lister c'est de lire la clé de registre:

 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Memory Management 

Sur le screen ci-dessus nous pouvons voir qu'il existe une seule pagefile.sys située à la racine de ma machine Windows.

Ces fichiers, nous pourrons les extraire du disque à l'aide de l'utilitaire fls proposé dans la suite sleuthkit:

fls -o 2048 image.dd | grep pagefile
icat –o 2048 image.dd 58981 > pagefile.sys

Une fois cela fait nous pourrons analyser ces pagefile en utilisant l'utilitaire strings:

strings pagefile.sys | grep "malware"

Il est aussi possible d'extraire les informations via l'utilisation de règles yara mais on y reviendra plus tard quand j'aborderai ce point.

II/ Traiter une partition swap

Il existe plusieurs outils permettant d'analyser le contenu d'une partition swap dont l'outil swap_digger. Comme pour Windows avant de vouloir traiter de la swap il faut savoir où elle se trouve. Pour cela il suffira d’exécuter cette commande:

cat /proc/swaps

Qui nous renvoie le résultat suivant:

Une fois la swap détectée il est très simple d'en analyser le contenu à base de strings et grep:

L'outil swap_digger automatise tout ce travail et nous ressort les informations de valeurs présentes dans la swap.