Vous êtes sur la page 1sur 8

l’analyse mémoire avec Volatility

Les données de traitement d'un ordinateur sont toujours stockées dans la mémoire
RAM (Random Access Memory) car elle possède un temps d'accès beaucoup plus
faible que la mémoire disque.

Ces données permettent à l’analyste de retrouver des informations concernant


des connexions réseaux, des clés de registre, des mots de passe ou encore
des processus en cours d’exécution.

Lors d’une analyse forensic, l’étude de l’image mémoire d’un système avec des outils
spécifiques peut s’avérer utile, car elle permettra d’extraire des informations
difficilement exploitables lorsque le système est en fonctionnement. C’est ce
qui vous permettra de comprendre quelles actions ont été effectuées.

NB :

Dans notre situation, nous savons que l'infection est survenue à la suite de l'ouverture
d'une pièce jointe reçue par email. Il faudra alors orienter nos recherches dans cette
direction et identifier si un logiciel malveillant a été exécuté, et de quelle manière.

Volatility peut être téléchargé sur le site de Volatility Foundation. Il existe une version

pour Windows, Mac et Linux. Dans votre machine d’analyse SIFT, Volatility est

préinstallé !

Pour lancer Volatility, il suffit d’ouvrir un terminal et d’entrer par exemple la

commande volatility -h pour afficher les options disponibles (le retour de cette

commande est très long, en voici le début).


Il existe une multitude d’options disponibles que vous pouvez explorer depuis l’aide. Ces

options permettent d’explorer le contenu de la mémoire et de reconstruire les structures de

données pour en extraire les informations pertinentes. Le wiki du projet Volatility présente

chaque option.

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


La première étape pour pouvoir analyser un dump mémoire est de récupérer les informations

de l’image qui permettront à Volatility de correctement parser les données, c'est-à-dire

déterminer son profile.

Pour cela, nous allons utiliser l'option ImageInfo de Volatility sur notre dump mémoire avec la

commande volatility -f memdump.mem imageinfo


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= ».

Ce profil correspond au système d’exploitation de votre dump mémoire. Volatility


suggère ici un système Windows 7 SP1 en 32 bits qui correspond bien à notre
système cible. Nous pourrons donc lui spécifier par la suite de traiter le dump avec
l'option –-profile=Win7SP1x86
2. Récupérez la liste des processus :
Lorsqu'un programme s'exécute, un nouveau processus est créé et associé à son propre

ensemble d’attributs, y compris un ID de processus unique (PID) propre à chacun, et

un espace d'adressage

Un aspect important de l’analyse de la mémoire consiste à énumérer les processus qui

s'exécutent sur un système et analyser les données stockées dans leur espace d'adressage.

L'objectif ? Dénicher les processus correspondant à des programmes

potentiellement malveillants, ainsi que comprendre leur fonctionnement, leur origine, et

les analyser en détail.


Lors de l’analyse des processus Windows, on peut vite se rendre compte qu’il existe
tout un tas de processus en cours d’exécution. Lors d’une analyse mémoire, il
est nécessaire de pouvoir identifier les processus légitimes et ceux qui ne le
sont pas.

Dans notre cas par exemple, nous pouvons voir les différents processus système en
cours d'exécution tels que smss.exe, winlogon.exe ou encore services.exe. En
revanche, le processus rfhyMVOQxfc.exe semble suspect, à cause de son nom avec
des lettres aléatoires !
3.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

Un logiciel malveillant va également utiliser ces API pour effectuer des actions

sur le système. Via l’analyse mémoire, il sera possible de lister les DLL utilisées par

un processus permettant de déduire son fonctionnement sur le système.

Avec Volatility, il est possible d’extraire les DLL utilisées pour un processus donné,

avec l’option dlllist. Par exemple, pour le processus avec le PID 1808 que nous

avons précédemment identifié comme étant suspect :

Nous pouvons voir ici que l'emplacement du

fichier C:\Users\johnoc\AppData\Local\Temp\rad41020.tmp\rfhyMVOQxfc.exe n'est

pas commun. Ce qui nous donne des indices pour notre investigation.
4. Analysez le 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.

En outre, le registre Windows détient une mine d'informations utiles à des fins
d’analyses. Par exemple, il sera possible de déterminer les programmes
récemment exécutés, d’extraire les hash de mots de passe à des fins d'audit, ou
encore d'étudier les clés et les valeurs introduites par un code malveillant dans
le système.

Avec Volatility, il est possible d’extraire les informations du registre et de lister les fichiers
correspondants avec l’option hivelist

Avec ces informations et l’option hashdump, il sera possible de dumper les hash des mots
de passe des comptes Windows.

5.Analysez les connexions réseaux :

Presque tous les logiciels malveillants peuvent communiquer sur le réseau avec
leur serveur de Command et de Control, pour se propager, ou encore pour la mise
en place d’une porte dérobée.
Ces actions utilisent les API réseaux de Windows, ce qui laisse inévitablement des
traces en mémoire. L’analyse mémoire du réseau permettra de recouvrer des
informations telle que des connexions d’IP distantes, les ports de connexion et
même certaines données échangées.

Ici, nous pouvons voir que les processus identifiés effectuent plusieurs connexions vers
l'adresse IP 172.16.169.164:4444.

Dans ce premier chapitre, nous avons également identifié plusieurs éléments


suspect :

1. Des processus avec des noms aléatoires ont été identifiés.


2. L'emplacement d'un de ces processus n'est pas courant et nécessite
vérification.
3. Des connexions réseau sont effectués par ces processus.

Vous aimerez peut-être aussi