Kali-linux distribution GNU/Linux spécialisée dans l'audit et le pentest.
Kali-linux.fr Communauté française de kali-linux
tutoriel volatility

Salut les amis. Aujourd’hui, nous allons parler de Volatility. C’est l’un des meilleurs outils utilisé dans le domaine du forensic et de l’analyse de mémoire volatile.

Vous vous demandez sûrement pourquoi analyser une mémoire volatile? Par exemple quand vous avez subit une attaque grâce à l’analyse de la mémoire volatile vous pourrez voir ce qui s’est produit sur votre machine, comment ça été fait et voir les processus qui ont été touché…

Dans cet article nous verrons comment utiliser Volatility pour extraire les informations(processus en cours,toutes les connexions actives, les données dans le cache, les données cachées, les malwares …)  dans l’image d’une mémoire volatile que vous pouvez retrouver ici.

Volatility, c’est quoi ?

Le framework Volatility est une collection d’outils open-source, implémenté en Python et qui est multi-plateforme(windows, linux, mac os ..) . Il vous permet de travailler avec des images de mémoire volatile, de les analyser, d’obtenir des données sur les états passés du système, et plus encore.

Install volatility-phocean on Linux | Snap Store

Les types d’images supportés par volatility sont :

  • les mémoires, physique brute/rembourrée,
  • firewire,
  • le format EWF,
  • les fichiers issus d’incident sur des systèmes Windows 32 et 64 bits,
  • les fichiers d’Hibernation des systèmes Windows 32 et 64 bits,
  • les fichiers MachO 32 and 64 bits,
  • les images mémoire VirtualBox,
  • les fichiers d’états sauvegardés et snapshots de VMware,
  • les images mémoires des machines virtuelles QEMU,
  • etc…

Comment installer volatility si vous n’êtes pas sur kali ?

Si vous êtes sur Kali linux, vous trouverez Volatility inclus parmis les outils de la distribution.

Sinon il vous suffit de télécharger la dernière version ici, de décompresser l’archive, d’accorder les droits d’exécution à l’exécutable et il est prêt à être utilisé.

Volatility et l’identification du profil système

Pour commencer, nous devons d’abord définir un profil pour indiquer à volatility de quel système d’exploitation provient l’image de la mémoire .Pour le découvrir nous utiliserons le plug-in imageinfo. La commande a exécuté dans ce cas est :

volatility -f cridex.vmem imageinfo 

Comme nous pouvons le voir sur la sortie de la commande plusieurs profils ont été sugéré, et que le sytème exploitation duquel a été extrait l’image est 32-bit. Nous nous allons choisir le profil WinXPSP2x86 et pour l’utiliser dans la suite nous utiliserons l’option --profile=WinXPSP2x86.

Volatility et la liste des processus

Pour voir la liste des processus en cours, nous avons utilisé le plug-in pslist. Ils nous fournira des détails comme l’adresse mémoire du processus, le nom du processus en cours d’exécution, la date et l’heure de lancement du processus …

volatility -f cridex.vmem --profile=WinXPSP2x86 pslist 

Grâce au plug-in pstree, nous aurons les informations obtenues grâce au plugin pslist représentée avec une relation enfant-parent et tous les processus inconnus ou anormaux. Le processus fils est représenté par une indentation et des points.

volatility -f cridex.vmem --profile=WinXPSP2x86 pstree

Le plug-in psxview listera les processus qui essaie de se cacher lorsqu’il s’exécute sur l’ordinateur.

volatility -f cridex.vmem --profile=WinXPSP2x86 psxview 

Si un des processus était caché dans les champs pslist et psscan il y aurait la valeur false.

Volatility et les dlls

Pour afficher les DLL de tous les processus en cours d’exécution nous avons utilisé le plug-in dlllist.

volatility -f cridex.vmem --profile=WinXPSP2x86 dlllist 

Dans la capture ci-dessus nous pouvons voir les dll associés aux processus smss.exe et crss.exe. Nous avons aussi la possibilité d’affichier les DLL d’un processus en particulier en spécifiant son pid. Nous allons prendre l’exemple du processus winlogon.exe dont le pid est 608.

volatility -f cridex.vmem --profile=WinXPSP2x86 dlllist -p 608 

Volatility et les connexions réseaux

Volatility propose plusieurs plug-in permettant d’extraire des informations de connexion.Parmis ces plug-in nous avons le plugin connscan qui permet de scanner les connexions TCP.

volatility -f cridex.vmem --profile=WinXPSP2x86 connscan 

Nous avons aussi le plug-in sockets qui imprime la liste des sockets ouverts.

volatility -f cridex.vmem --profile=WinXPSP2x86 sockets 

Volatility et les commandes exécutées

Un autre plug-in de Volatility est cmdscan qui recherche l’historique des commandes exécutées sur la machine.

volatility -f cridex.vmem --profile=WinXPSP2x86 cmdscan

La commande n’a rien donné dans notre cas. Il est aussi possible d’afficher les arguments de ligne de commande des processus grâce au plug-in cmdline.

volatility -f cridex.vmem --profile=WinXPSP2x86 cmdline

Conclusion

Comme nous venons de le voir, volatility est un outil qui nous offre des fonctionnalités puissantes nous permettant de récupérer diverses informations à partir de l’image d’un mémoire volatile.
J’espère vous retrouver dans une suite de ce tutoriel autour de cet outil où nous verrons comment faire des analyses plus approfondies d’une image de mémoire volatile.

Leave a Comment

Time limit is exhausted. Please reload CAPTCHA.