
Cadre avancé pour extraire des artefacts numériques à partir d'échantillons de mémoire volatile (RAM), permettant une analyse forensique approfondie de l'état d'exécution du système sous Windows, Linux et macOS.
Volatility est le framework le plus utilisé au monde pour extraire des artefacts numériques à partir d'échantillons de mémoire volatile (RAM). Les techniques d'extraction sont réalisées de manière totalement indépendante du système examiné, mais offrent une visibilité sur l'état d'exécution du système. Le framework est destiné à initier les personnes aux techniques et aux complexités liées à l'extraction d'artefacts numériques à partir d'échantillons de mémoire volatile et à fournir une plateforme pour des travaux ultérieurs dans ce domaine de recherche passionnant.
En 2019, la Volatility Foundation a publié une réécriture complète du framework, Volatility 3. Ce projet visait à résoudre de nombreux défis techniques et de performance liés à la base de code originale, qui étaient devenus apparents au cours des 10 années précédentes. Un autre avantage de cette réécriture est que Volatility 3 a pu être publié sous une licence personnalisée plus en phase avec les objectifs de la communauté Volatility, la Volatility Software License (VSL). Voir le fichier LICENSE pour plus de détails.
Installer les dépendances nécessaires :
pip install --user -e ".[full]"
Voir les options disponibles :
vol -h
Pour obtenir plus d'informations sur un échantillon de mémoire Windows et vous assurer que Volatility prend en charge ce type d'échantillon, exécutez vol -f <imagepath> windows.info :
vol -f /home/user/samples/stuxnet.vmem windows.info
Exécutez d'autres plugins. L'option -f ou --single-location n'est pas strictement requise, mais la plupart des plugins attendent un seul échantillon. Certains nécessitent/acceptent également d'autres options. Exécutez vol <plugin> -h pour plus d'informations sur une commande particulière.
Volatility 3 nécessite Python 3.8.0 ou ultérieur et est publié sur le registre PyPi.
pip install volatility3
Si vous souhaitez utiliser la dernière version de développement de Volatility 3, nous vous recommandons de cloner manuellement ce dépôt et d'installer une version modifiable du projet. Nous vous recommandons d'utiliser un environnement virtuel pour garder les dépendances installées séparées des paquets système.
La dernière version stable de Volatility sera toujours la branche stable du dépôt GitHub. La branche par défaut est develop.
git clone https://github.com/volatilityfoundation/volatility3.git
cd volatility3/
python3 -m venv venv && . venv/bin/activate
pip install -e ".[dev]"
Les packs de tables de symboles pour les différents systèmes d'exploitation sont disponibles en téléchargement à l'adresse :
Les hachages pour vérifier si les fichiers du pack de symboles ont été téléchargés avec succès ou ont changé peuvent être trouvés à l'adresse :
Les fichiers zip des tables de symboles doivent être placés, tels qu'ils sont nommés, dans le répertoire volatility3/symbols (ou simplement dans le répertoire symbols à côté du fichier exécutable).
Les symboles Windows qui ne peuvent pas être trouvés seront interrogés, téléchargés, générés et mis en cache. Les tables de symboles Mac et Linux doivent être produites manuellement par un outil tel que dwarf2json.
Important : La première exécution de volatility avec de nouveaux fichiers de symboles nécessitera la mise à jour du cache. Les packs de symboles contiennent un grand nombre de fichiers de symboles et peuvent donc prendre un certain temps à mettre à jour ! Cependant, ce processus ne doit être exécuté qu'une seule fois pour chaque nouveau fichier de symboles, donc en supposant que le pack reste au même endroit, il ne sera pas nécessaire de le refaire. Veuillez également noter qu'il peut être interrompu et que la prochaine exécution redémarrera automatiquement.
Veuillez noter : Ce sont des packs représentatifs et complets jusqu'à la date de création pour Windows et Mac. En raison de la facilité de compilation des noyaux Linux et de l'incapacité à les distinguer de manière unique, un ensemble exhaustif de tables de symboles Linux ne peut pas être facilement fourni.
Le framework est documenté via des doc strings et peut être construit en utilisant Sphinx.
La dernière copie générée de la documentation peut être trouvée à l'adresse : https://volatility3.readthedocs.io/en/latest/
Copyright (C) 2007-2026 Volatility Foundation
All Rights Reserved
https://www.volatilityfoundation.org/license/vsl-v1.0
Si vous pensez avoir trouvé un bogue, veuillez le signaler à l'adresse :
https://github.com/volatilityfoundation/volatility3/issues
Afin de nous aider à résoudre vos problèmes le plus rapidement possible, veuillez inclure les informations suivantes lors de la soumission d'un bogue :
Pour le support communautaire, rejoignez-nous sur Slack :
https://www.volatilityfoundation.org/slack
Pour des informations ou des demandes, contactez :
Volatility Foundation
Web: https://www.volatilityfoundation.org
Blog: https://volatility-labs.blogspot.com
Email: volatility (at) volatilityfoundation (dot) org
Twitter : @volatility