Volatility - CheatSheet
RootedCON est l'événement de cybersécurité le plus pertinent en Espagne et l'un des plus importants en Europe. Avec pour mission de promouvoir les connaissances techniques, ce congrès est un point de rencontre bouillonnant pour les professionnels de la technologie et de la cybersécurité dans chaque discipline.
Si vous voulez quelque chose de rapide et fou qui lancera plusieurs plugins Volatility en parallèle, vous pouvez utiliser : https://github.com/carlospolop/autoVolatility
Installation
volatility3
volatility2
Commandes Volatility
Accédez à la documentation officielle dans Référence des commandes Volatility
Note sur les plugins "list" vs "scan"
Volatility a deux approches principales pour les plugins, qui se reflètent parfois dans leurs noms. Les plugins "list" essaieront de naviguer à travers les structures du noyau Windows pour récupérer des informations telles que les processus (localiser et parcourir la liste chaînée des structures _EPROCESS
en mémoire), les poignées du système d'exploitation (localiser et répertorier la table des poignées, déréférencer les pointeurs trouvés, etc). Ils se comportent plus ou moins comme le ferait l'API Windows si on lui demandait, par exemple, de lister les processus.
Cela rend les plugins "list" assez rapides, mais tout aussi vulnérables que l'API Windows à la manipulation par des logiciels malveillants. Par exemple, si un logiciel malveillant utilise DKOM pour détacher un processus de la liste chaînée _EPROCESS
, il n'apparaîtra pas dans le Gestionnaire des tâches ni dans la liste des processus.
Les plugins "scan", en revanche, adopteront une approche similaire à celle de la recherche dans la mémoire d'éléments qui pourraient avoir un sens lorsqu'ils sont déréférencés en tant que structures spécifiques. Par exemple, psscan
lira la mémoire et essaiera de créer des objets _EPROCESS
à partir de celle-ci (il utilise la recherche de balises de pool, qui consiste à rechercher des chaînes de 4 octets indiquant la présence d'une structure d'intérêt). L'avantage est qu'il peut retrouver des processus qui ont été arrêtés, et même si un logiciel malveillant altère la liste chaînée _EPROCESS
, le plugin trouvera toujours la structure qui traîne en mémoire (car elle doit toujours exister pour que le processus s'exécute). L'inconvénient est que les plugins "scan" sont un peu plus lents que les plugins "list", et peuvent parfois donner des faux positifs (un processus qui s'est arrêté il y a trop longtemps et dont certaines parties de la structure ont été écrasées par d'autres opérations).
Source : http://tomchop.me/2016/11/21/tutorial-volatility-plugins-malware-analysis/
Profils OS
Volatility3
Comme expliqué dans le fichier readme, vous devez placer la table des symboles du système d'exploitation que vous souhaitez prendre en charge dans volatility3/volatility/symbols. Les packs de tables de symboles pour les différents systèmes d'exploitation sont disponibles en téléchargement sur :
Volatility2
Profil Externe
Vous pouvez obtenir la liste des profils pris en charge en exécutant :
Si vous souhaitez utiliser un nouveau profil que vous avez téléchargé (par exemple un profil Linux), vous devez créer quelque part la structure de dossier suivante : plugins/overlays/linux et placer à l'intérieur de ce dossier le fichier zip contenant le profil. Ensuite, obtenez le nombre de profils en utilisant :
Vous pouvez télécharger les profils Linux et Mac depuis https://github.com/volatilityfoundation/profiles
Dans le chunk précédent, vous pouvez voir que le profil s'appelle LinuxCentOS7_3_10_0-123_el7_x86_64_profilex64
, et vous pouvez l'utiliser pour exécuter quelque chose comme:
Découvrir le profil
Différences entre imageinfo et kdbgscan
À partir d'ici: Contrairement à imageinfo qui fournit simplement des suggestions de profil, kdbgscan est conçu pour identifier positivement le bon profil et la bonne adresse KDBG (s'il y en a plusieurs). Ce plugin recherche les signatures KDBGHeader liées aux profils de Volatility et applique des vérifications de cohérence pour réduire les faux positifs. La verbosité de la sortie et le nombre de vérifications de cohérence pouvant être effectuées dépendent de la capacité de Volatility à trouver un DTB, donc si vous connaissez déjà le bon profil (ou si vous avez une suggestion de profil à partir de imageinfo), assurez-vous de l'utiliser à partir de .
Jetez toujours un œil au nombre de processus trouvés par kdbgscan. Parfois, imageinfo et kdbgscan peuvent trouver plus d'un profil approprié, mais seul le bon aura des processus associés (Cela est dû au fait que pour extraire des processus, l'adresse KDBG correcte est nécessaire)
KDBG
Le bloc de débogage du noyau, appelé KDBG par Volatility, est crucial pour les tâches forensiques effectuées par Volatility et divers débogueurs. Identifié sous le nom de KdDebuggerDataBlock
et du type _KDDEBUGGER_DATA64
, il contient des références essentielles telles que PsActiveProcessHead
. Cette référence spécifique pointe vers la tête de la liste des processus, permettant ainsi l'énumération de tous les processus, ce qui est fondamental pour une analyse approfondie de la mémoire.
Informations sur le système d'exploitation
Le plugin banners.Banners
peut être utilisé dans vol3 pour essayer de trouver des bannières linux dans le dump.
Hashes/Mots de passe
Extraire les hachages SAM, les informations d'identification mises en cache du domaine et les secrets lsa.
Analyse de la mémoire
Le vidage de la mémoire d'un processus extraira tout de l'état actuel du processus. Le module procdump extraira uniquement le code.
RootedCON est l'événement le plus pertinent en matière de cybersécurité en Espagne et l'un des plus importants en Europe. Avec pour mission de promouvoir les connaissances techniques, ce congrès est un point de rencontre bouillonnant pour les professionnels de la technologie et de la cybersécurité dans chaque discipline.
Processes
List processes
Essayez de trouver des processus suspects (par leur nom) ou des processus enfants inattendus (par exemple un cmd.exe en tant que processus enfant de iexplorer.exe). Il pourrait être intéressant de comparer le résultat de pslist avec celui de psscan pour identifier les processus cachés.
Analyse du dump de la mémoire
Ligne de commande
Quelque chose de suspect a-t-il été exécuté?
Les commandes exécutées dans cmd.exe
sont gérées par conhost.exe
(ou csrss.exe
sur les systèmes antérieurs à Windows 7). Cela signifie que si cmd.exe
est terminé par un attaquant avant qu'un vidage mémoire ne soit obtenu, il est toujours possible de récupérer l'historique des commandes de la session à partir de la mémoire de conhost.exe
. Pour ce faire, si une activité inhabituelle est détectée dans les modules de la console, la mémoire du processus conhost.exe
associé doit être vidée. Ensuite, en recherchant des chaînes de caractères dans ce vidage, les lignes de commande utilisées dans la session peuvent potentiellement être extraites.
Environnement
Obtenez les variables d'environnement de chaque processus en cours d'exécution. Il pourrait y avoir des valeurs intéressantes.
Privilèges de jetons
Vérifiez les jetons de privilèges dans les services inattendus. Il pourrait être intéressant de lister les processus utilisant un jeton privilégié.
Feuille de triche Volatility
Commandes de base
volatility -f dump.raw imageinfo : Affiche des informations générales sur l'image mémoire.
volatility -f dump.raw pslist : Liste les processus en cours d'exécution.
volatility -f dump.raw pstree : Affiche les processus sous forme d'arborescence.
volatility -f dump.raw psscan : Examine les processus inactifs.
volatility -f dump.raw dlllist -p PID : Liste les DLL chargées par un processus spécifique.
volatility -f dump.raw cmdscan : Recherche les commandes exécutées.
volatility -f dump.raw filescan : Recherche les fichiers ouverts par les processus.
volatility -f dump.raw netscan : Affiche les connexions réseau.
volatility -f dump.raw connections : Affiche les connexions réseau.
volatility -f dump.raw malfind : Recherche les injections de code malveillant.
volatility -f dump.raw cmdline : Affiche les lignes de commande des processus.
volatility -f dump.raw consoles : Affiche les consoles des processus.
volatility -f dump.raw hivelist : Liste les hives de registre.
volatility -f dump.raw printkey -o OFFSET : Affiche les valeurs de clé de registre.
volatility -f dump.raw userassist : Affiche les éléments récemment ouverts par l'utilisateur.
volatility -f dump.raw shimcache : Affiche les entrées de la cache de compatibilité des applications.
volatility -f dump.raw ldrmodules : Affiche les modules chargés par les processus.
volatility -f dump.raw modscan : Recherche les modules noyau chargés.
volatility -f dump.raw getsids : Affiche les SID des processus.
volatility -f dump.raw getservicesids : Affiche les SID des services.
volatility -f dump.raw svcscan : Enumère les services.
volatility -f dump.raw driverirp : Affiche les IRP des pilotes.
volatility -f dump.raw callbacks : Affiche les callbacks du noyau.
volatility -f dump.raw mutantscan : Recherche les objets de mutation.
volatility -f dump.raw envars : Affiche les variables d'environnement des processus.
volatility -f dump.raw atomscan : Recherche les objets atomiques.
volatility -f dump.raw handles : Affiche les handles des processus.
volatility -f dump.raw vadinfo -p PID : Affiche les informations VAD d'un processus.
volatility -f dump.raw vadtree -p PID : Affiche l'arborescence VAD d'un processus.
volatility -f dump.raw vadwalk -p PID -a ADDRESS : Affiche les informations VAD à partir d'une adresse.
volatility -f dump.raw memmap : Affiche la carte mémoire.
volatility -f dump.raw memdump -p PID -D output_directory : Effectue un vidage mémoire d'un processus.
volatility -f dump.raw memdump -p PID -o OFFSET -D output_directory : Effectue un vidage mémoire à partir d'une adresse.
volatility -f dump.raw memstrings -p PID : Recherche les chaînes dans l'espace mémoire d'un processus.
volatility -f dump.raw memstrings -o OFFSET : Recherche les chaînes dans l'espace mémoire à partir d'une adresse.
volatility -f dump.raw yarascan -Y "rule_file" : Recherche des motifs YARA dans l'image mémoire.
volatility -f dump.raw yarascan -p PID -Y "rule_file" : Recherche des motifs YARA dans l'espace mémoire d'un processus.
volatility -f dump.raw yarascan -f "file_path" -Y "rule_file" : Recherche des motifs YARA dans un fichier mémoire.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory : Extrait les fichiers en mémoire à partir d'une adresse.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -n -D output_directory : Extrait les fichiers en mémoire à partir d'une adresse sans les reconstruire.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -S 0xSIZE -D output_directory : Extrait les fichiers en mémoire à partir d'une adresse avec une taille spécifiée.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -U -D output_directory : Extrait les fichiers en mémoire à partir d'une adresse en utilisant l'extension.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -n -U -D output_directory : Extrait les fichiers en mémoire à partir d'une adresse en utilisant l'extension sans les reconstruire.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -S 0xSIZE -U -D output_directory : Extrait les fichiers en mémoire à partir d'une adresse en utilisant l'extension avec une taille spécifiée.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -r "regex_pattern" : Extrait les fichiers en mémoire à partir d'une adresse en utilisant une expression régulière.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -i "file_extension" : Extrait les fichiers en mémoire à partir d'une adresse en utilisant une extension spécifique.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -t "file_type" : Extrait les fichiers en mémoire à partir d'une adresse en utilisant un type de fichier spécifique.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -A : Extrait tous les fichiers en mémoire à partir d'une adresse.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -b "file_basename" : Extrait les fichiers en mémoire à partir d'une adresse en utilisant un nom de base de fichier spécifique.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -s "file_size" : Extrait les fichiers en mémoire à partir d'une adresse en utilisant une taille de fichier spécifique.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -l "file_location" : Extrait les fichiers en mémoire à partir d'une adresse en utilisant un emplacement de fichier spécifique.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -e "file_extension" : Extrait les fichiers en mémoire à partir d'une adresse en utilisant une extension de fichier spécifique.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -m "file_magic" : Extrait les fichiers en mémoire à partir d'une adresse en utilisant une signature magique de fichier spécifique.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -c "file_count" : Extrait un nombre spécifié de fichiers en mémoire à partir d'une adresse.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -z : Extrait les fichiers compressés en mémoire à partir d'une adresse.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -g "file_extension" : Extrait les fichiers en mémoire à partir d'une adresse en utilisant une extension de fichier générique.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -w : Extrait les fichiers en mémoire à partir d'une adresse en les écrivant dans un fichier.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -x : Extrait les fichiers en mémoire à partir d'une adresse en les exécutant.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -j "file_path" : Extrait les fichiers en mémoire à partir d'une adresse en les injectant dans un processus.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -y "file_path" : Extrait les fichiers en mémoire à partir d'une adresse en les injectant dans un processus en utilisant l'extension.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -y "file_path" -n : Extrait les fichiers en mémoire à partir d'une adresse en les injectant dans un processus en utilisant l'extension sans les reconstruire.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -y "file_path" -S 0xSIZE : Extrait les fichiers en mémoire à partir d'une adresse en les injectant dans un processus en utilisant l'extension avec une taille spécifiée.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -y "file_path" -r "regex_pattern" : Extrait les fichiers en mémoire à partir d'une adresse en les injectant dans un processus en utilisant une expression régulière.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -y "file_path" -i "file_extension" : Extrait les fichiers en mémoire à partir d'une adresse en les injectant dans un processus en utilisant une extension spécifique.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -y "file_path" -t "file_type" : Extrait les fichiers en mémoire à partir d'une adresse en les injectant dans un processus en utilisant un type de fichier spécifique.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -y "file_path" -A : Extrait tous les fichiers en mémoire à partir d'une adresse en les injectant dans un processus.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -y "file_path" -b "file_basename" : Extrait les fichiers en mémoire à partir d'une adresse en les injectant dans un processus en utilisant un nom de base de fichier spécifique.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -y "file_path" -s "file_size" : Extrait les fichiers en mémoire à partir d'une adresse en les injectant dans un processus en utilisant une taille de fichier spécifique.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -y "file_path" -l "file_location" : Extrait les fichiers en mémoire à partir d'une adresse en les injectant dans un processus en utilisant un emplacement de fichier spécifique.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -y "file_path" -e "file_extension" : Extrait les fichiers en mémoire à partir d'une adresse en les injectant dans un processus en utilisant une extension de fichier spécifique.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -y "file_path" -m "file_magic" : Extrait les fichiers en mémoire à partir d'une adresse en les injectant dans un processus en utilisant une signature magique de fichier spécifique.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -y "file_path" -c "file_count" : Extrait un nombre spécifié de fichiers en mémoire à partir d'une adresse en les injectant dans un processus.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -y "file_path" -z : Extrait les fichiers compressés en mémoire à partir d'une adresse en les injectant dans un processus.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -y "file_path" -g "file_extension" : Extrait les fichiers en mémoire à partir d'une adresse en les injectant dans un processus en utilisant une extension de fichier générique.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -y "file_path" -w : Extrait les fichiers en mémoire à partir d'une adresse en les injectant dans un processus en les écrivant dans un fichier.
volatility -f dump.raw dumpfiles -Q 0xADDRESS -D output_directory -y "file_path" -x : Extrait les fichiers en mémoire à partir d'une adresse en les injectant dans un processus en les exécutant.
Plugins supplémentaires
volatility -f dump.raw malfind : Recherche les injections de code malveillant.
volatility -f dump.raw malfind -p PID : Recherche les injections de code malveillant dans un processus spécifique.
volatility -f dump.raw malfind -D output_directory : Recherche les injections de code malveillant et les extrait dans un répertoire.
volatility -f dump.raw malfind -p PID -D output_directory : Recherche les injections de code malveillant dans un processus spécifique et les extrait dans un répertoire.
volatility -f dump.raw malfind -Y "rule_file" : Recherche les injections de code malveillant en utilisant des règles YARA.
volatility -f dump.raw malfind -p PID -Y "rule_file" : Recherche les injections de code malveillant dans un processus spécifique en utilisant des règles YARA.
volatility -f dump.raw malfind -D output_directory -Y "rule_file" : Recherche les injections de code malveillant et les extrait dans un répertoire en utilisant des règles YARA.
volatility -f dump.raw malfind -p PID -D output_directory -Y "rule_file" : Recherche les injections de code malveillant dans un processus spécifique et les extrait dans un répertoire en utilisant des règles YARA.
SIDs
Vérifiez chaque SSID possédé par un processus. Il pourrait être intéressant de lister les processus utilisant un SID de privilèges (et les processus utilisant un SID de service).
Feuille de triche Volatility
Commandes de base
volatility -f dump.mem imageinfo : Affiche des informations générales sur le dump mémoire.
volatility -f dump.mem pslist : Liste les processus en cours d'exécution.
volatility -f dump.mem psscan : Examine les processus à partir des structures EPROCESS.
volatility -f dump.mem pstree : Affiche les processus sous forme d'arborescence.
volatility -f dump.mem dlllist -p PID : Liste les DLL chargées par un processus spécifique.
volatility -f dump.mem cmdline -p PID : Affiche la ligne de commande d'un processus spécifique.
volatility -f dump.mem filescan : Analyse les handles de fichiers.
volatility -f dump.mem netscan : Examine les connexions réseau.
volatility -f dump.mem connections : Affiche les connexions réseau.
volatility -f dump.mem malfind : Recherche de code malveillant dans les processus.
volatility -f dump.mem apihooks : Recherche les hooks d'API dans les processus.
volatility -f dump.mem ldrmodules : Liste les modules chargés dans les processus.
volatility -f dump.mem modscan : Analyse les modules noyau.
volatility -f dump.mem shimcache : Extrait les entrées de la base de données ShimCache.
volatility -f dump.mem userassist : Extrait les entrées UserAssist.
volatility -f dump.mem hivelist : Liste les hives du registre.
volatility -f dump.mem printkey -o OFFSET : Affiche les sous-clés et valeurs d'une clé de registre.
volatility -f dump.mem hashdump : Dump les hachages de mots de passe.
volatility -f dump.mem truecryptpassphrase : Extrait les passphrases TrueCrypt.
Plugins supplémentaires
Volatility Plugins : Référence des plugins supplémentaires disponibles.
Poignées
Utile pour savoir à quels autres fichiers, clés, threads, processus... un processus a une poignée (a ouvert)
Feuille de triche Volatility
Commandes de base
volatility -f dump.raw imageinfo : Informations sur l'image mémoire
volatility -f dump.raw pslist : Liste des processus en cours d'exécution
volatility -f dump.raw psscan : Analyse des processus non alloués
volatility -f dump.raw pstree : Affiche les processus sous forme d'arborescence
volatility -f dump.raw dlllist -p PID : Liste des DLL chargées par un processus
volatility -f dump.raw filescan : Analyse des fichiers non alloués
volatility -f dump.raw cmdline -p PID : Ligne de commande d'un processus
volatility -f dump.raw netscan : Liste des connexions réseau
volatility -f dump.raw connections : Analyse des connexions réseau
volatility -f dump.raw malfind : Recherche de code malveillant dans les processus
volatility -f dump.raw userassist : Informations sur les programmes utilisés par l'utilisateur
volatility -f dump.raw hivelist : Liste des hives de registre
volatility -f dump.raw printkey -o OFFSET : Affiche les valeurs d'une clé de registre
volatility -f dump.raw hashdump : Dump des mots de passe en mémoire
volatility -f dump.raw shimcache : Analyse du cache de compatibilité des applications
volatility -f dump.raw ldrmodules : Liste des modules chargés par les processus
volatility -f dump.raw modscan : Analyse des modules noyau non alloués
volatility -f dump.raw mutantscan : Analyse des objets de synchronisation
volatility -f dump.raw svcscan : Liste des services système
volatility -f dump.raw getsids : Liste des SID des processus
volatility -f dump.raw apihooks : Recherche de hooks dans les processus
volatility -f dump.raw envars : Variables d'environnement des processus
volatility -f dump.raw dumpfiles -Q chemin_dossier : Extraction des fichiers en mémoire
volatility -f dump.raw memdump -p PID -D chemin_dossier : Extraction de la mémoire d'un processus
volatility -f dump.raw memmap : Cartographie de la mémoire
volatility -f dump.raw timeliner : Création d'une timeline des événements
volatility -f dump.raw screenshot -D chemin_dossier : Capture d'écran de l'écran mémoire
volatility -f dump.raw procdump -p PID -D chemin_dossier : Dump du processus mémoire
volatility -f dump.raw procdump -p PID -D chemin_dossier --dump-dir autre_chemin : Dump du processus mémoire dans un répertoire spécifique
volatility -f dump.raw memstrings -p PID : Recherche de chaînes ASCII et Unicode en mémoire
volatility -f dump.raw yarascan -Y chemin_regles : Analyse avec Yara
volatility -f dump.raw yarascan -Y chemin_regles --yara-file fichier_yara : Analyse avec Yara en utilisant un fichier Yara spécifique
volatility -f dump.raw shimcachemem -s chemin_fichier : Analyse du cache de compatibilité des applications en mémoire
volatility -f dump.raw shimcachemem -s chemin_fichier --output-file fichier_sortie : Analyse du cache de compatibilité des applications en mémoire avec sauvegarde dans un fichier de sortie
Plugins supplémentaires
volatility --plugins=/chemin_vers_plugins -f dump.raw plugin_name : Utilisation de plugins personnalisés
volatility --info | grep -i plugin_name : Recherche d'informations sur un plugin
volatility --info | grep -i profile_name : Recherche d'informations sur un profil
DLLs
Feuille de triche Volatility
Commandes de base
volatility -f dump.mem imageinfo : Informations sur l'image mémoire
volatility -f dump.mem pslist : Liste des processus en cours d'exécution
volatility -f dump.mem psscan : Analyse des processus non affichés dans la liste des tâches
volatility -f dump.mem pstree : Affiche les processus sous forme d'arborescence
volatility -f dump.mem dlllist -p PID : Liste des DLL chargées par un processus
volatility -f dump.mem filescan : Analyse des fichiers ouverts par les processus
volatility -f dump.mem cmdline -p PID : Ligne de commande d'un processus
volatility -f dump.mem consoles : Recherche de consoles virtuelles
volatility -f dump.mem connections : Liste des connexions réseau
volatility -f dump.mem netscan : Analyse des connexions réseau
volatility -f dump.mem svcscan : Liste des services
volatility -f dump.mem malfind : Recherche de code malveillant dans les processus
volatility -f dump.mem apihooks : Recherche de hooks API dans les processus
volatility -f dump.mem shimcache : Extraction de la base de données Shimcache
volatility -f dump.mem hivelist : Liste des hives de registre
volatility -f dump.mem printkey -o OFFSET : Affiche une clé de registre à partir d'un offset donné
volatility -f dump.mem userassist : Extraction des entrées UserAssist
volatility -f dump.mem getsids : Liste des SID des processus
volatility -f dump.mem modscan : Analyse des modules noyau chargés
volatility -f dump.mem driverirp : Analyse des IRP des pilotes
volatility -f dump.mem ssdt : Recherche des adresses de la SSDT
volatility -f dump.mem callbacks : Recherche des adresses de callbacks
volatility -f dump.mem mutantscan : Analyse des objets mutant
volatility -f dump.mem ldrmodules : Liste des modules chargés par le loader
volatility -f dump.mem atomscan : Analyse des objets atom
volatility -f dump.mem deskscan : Analyse des objets de bureau
volatility -f dump.mem hivescan : Analyse des hives de registre
volatility -f dump.mem printkey -K KEY : Affiche une clé de registre à partir d'un chemin donné
volatility -f dump.mem dumpregistry -o OFFSET -s SIZE -k KEY : Extraction d'une partie de la base de registre
volatility -f dump.mem dumpfiles -Q PATH : Extraction des fichiers en mémoire
volatility -f dump.mem dumpfiles -D DIR -Q PATH : Extraction des fichiers en mémoire dans un répertoire donné
volatility -f dump.mem dumpfiles -S PATH -Q PATH : Extraction des fichiers en mémoire avec un nom spécifique
volatility -f dump.mem dumpfiles -n -Q PATH : Extraction des fichiers en mémoire sans les en-têtes
volatility -f dump.mem dumpfiles -Q PATH --dump-dir OUTPUT_DIR : Extraction des fichiers en mémoire dans un répertoire spécifique
volatility -f dump.mem dumpfiles -Q PATH --dump-dir OUTPUT_DIR -D DIR : Extraction des fichiers en mémoire dans un répertoire spécifique avec un préfixe
volatility -f dump.mem dumpfiles -Q PATH --dump-dir OUTPUT_DIR -n : Extraction des fichiers en mémoire sans les en-têtes dans un répertoire spécifique
volatility -f dump.mem dumpfiles -Q PATH --dump-dir OUTPUT_DIR -n -S PATH : Extraction des fichiers en mémoire sans les en-têtes dans un répertoire spécifique avec un nom spécifique
volatility -f dump.mem dumpfiles -Q PATH --dump-dir OUTPUT_DIR -n -D DIR : Extraction des fichiers en mémoire sans les en-têtes dans un répertoire spécifique avec un préfixe
volatility -f dump.mem dumpfiles -Q PATH --dump-dir OUTPUT_DIR -n -D DIR -S PATH : Extraction des fichiers en mémoire sans les en-têtes dans un répertoire spécifique avec un préfixe et un nom spécifique
volatility -f dump.mem dumpregistry -o OFFSET -s SIZE -k KEY --dump-dir OUTPUT_DIR : Extraction d'une partie de la base de registre dans un répertoire spécifique
volatility -f dump.mem dumpregistry -o OFFSET -s SIZE -k KEY --dump-dir OUTPUT_DIR -D DIR : Extraction d'une partie de la base de registre dans un répertoire spécifique avec un préfixe
volatility -f dump.mem dumpregistry -o OFFSET -s SIZE -k KEY --dump-dir OUTPUT_DIR -n : Extraction d'une partie de la base de registre sans les en-têtes dans un répertoire spécifique
volatility -f dump.mem dumpregistry -o OFFSET -s SIZE -k KEY --dump-dir OUTPUT_DIR -n -D DIR : Extraction d'une partie de la base de registre sans les en-têtes dans un répertoire spécifique avec un préfixe
volatility -f dump.mem dumpregistry -o OFFSET -s SIZE -k KEY --dump-dir OUTPUT_DIR -n -D DIR -S PATH : Extraction d'une partie de la base de registre sans les en-têtes dans un répertoire spécifique avec un préfixe et un nom spécifique
Plugins supplémentaires
volatility -f dump.mem shimcachemem : Extraction de la base de données Shimcache en mémoire
volatility -f dump.mem mftparser : Analyse du Master File Table (MFT)
volatility -f dump.mem hivelist : Liste des hives de registre
volatility -f dump.mem printkey -o OFFSET : Affiche une clé de registre à partir d'un offset donné
volvolatility -f dump.mem userassist : Extraction des entrées UserAssist
volatility -f dump.mem getsids : Liste des SID des processus
volatility -f dump.mem modscan : Analyse des modules noyau chargés
volatility -f dump.mem driverirp : Analyse des IRP des pilotes
volatility -f dump.mem ssdt : Recherche des adresses de la SSDT
volatility -f dump.mem callbacks : Recherche des adresses de callbacks
volatility -f dump.mem mutantscan : Analyse des objets mutant
volatility -f dump.mem ldrmodules : Liste des modules chargés par le loader
volatility -f dump.mem atomscan : Analyse des objets atom
volatility -f dump.mem deskscan : Analyse des objets de bureau
volatility -f dump.mem hivescan : Analyse des hives de registre
volatility -f dump.mem printkey -K KEY : Affiche une clé de registre à partir d'un chemin donné
volatility -f dump.mem dumpregistry -o OFFSET -s SIZE -k KEY : Extraction d'une partie de la base de registre
volatility -f dump.mem dumpfiles -Q PATH : Extraction des fichiers en mémoire
volatility -f dump.mem dumpfiles -D DIR -Q PATH : Extraction des fichiers en mémoire dans un répertoire donné
volatility -f dump.mem dumpfiles -S PATH -Q PATH : Extraction des fichiers en mémoire avec un nom spécifique
volatility -f dump.mem dumpfiles -n -Q PATH : Extraction des fichiers en mémoire sans les en-têtes
volatility -f dump.mem dumpfiles -Q PATH --dump-dir OUTPUT_DIR : Extraction des fichiers en mémoire dans un répertoire spécifique
volatility -f dump.mem dumpfiles -Q PATH --dump-dir OUTPUT_DIR -D DIR : Extraction des fichiers en mémoire dans un répertoire spécifique avec un préfixe
volatility -f dump.mem dumpfiles -Q PATH --dump-dir OUTPUT_DIR -n : Extraction des fichiers en mémoire sans les en-têtes dans un répertoire spécifique
volatility -f dump.mem dumpfiles -Q PATH --dump-dir OUTPUT_DIR -n -S PATH : Extraction des fichiers en mémoire sans les en-têtes dans un répertoire spécifique avec un nom spécifique
volatility -f dump.mem dumpfiles -Q PATH --dump-dir OUTPUT_DIR -n -D DIR : Extraction des fichiers en mémoire sans les en-têtes dans un répertoire spécifique avec un préfixe
volatility -f dump.mem dumpfiles -Q PATH --dump-dir OUTPUT_DIR -n -D DIR -S PATH : Extraction des fichiers en mémoire sans les en-têtes dans un répertoire spécifique avec un préfixe et un nom spécifique
volatility -f dump.mem dumpregistry -o OFFSET -s SIZE -k KEY --dump-dir OUTPUT_DIR : Extraction d'une partie de la base de registre dans un répertoire spécifique
volatility -f dump.mem dumpregistry -o OFFSET -s SIZE -k KEY --dump-dir OUTPUT_DIR -D DIR : Extraction d'une partie de la base de registre dans un répertoire spécifique avec un préfixe
volatility -f dump.mem dumpregistry -o OFFSET -s SIZE -k KEY --dump-dir OUTPUT_DIR -n : Extraction d'une partie de la base de registre sans les en-têtes dans un répertoire spécifique
volatility -f dump.mem dumpregistry -o OFFSET -s SIZE -k KEY --dump-dir OUTPUT_DIR -n -D DIR : Extraction d'une partie de la base de registre sans les en-têtes dans un répertoire spécifique avec un préfixe
volatility -f dump.mem dumpregistry -o OFFSET -s SIZE -k KEY --dump-dir OUTPUT_DIR -n -D DIR -S PATH : Extraction d'une partie de la base de registre sans les en-têtes dans un répertoire spécifique avec un préfixe et un nom spécifique
Chaînes par processus
Volatility nous permet de vérifier à quel processus appartient une chaîne.
Il permet également de rechercher des chaînes de caractères à l'intérieur d'un processus en utilisant le module yarascan :
Feuille de triche Volatility
Commandes de base
volatility -f dump.mem imageinfo : Affiche des informations générales sur le dump mémoire.
volatility -f dump.mem pslist : Liste les processus en cours d'exécution.
volatility -f dump.mem psscan : Examine les processus à partir de la mémoire physique.
volatility -f dump.mem pstree : Affiche les processus sous forme d'arborescence.
volatility -f dump.mem dlllist : Liste les DLL chargées dans les processus.
volatility -f dump.mem filescan : Recherche les handles de fichiers ouverts.
volatility -f dump.mem cmdline : Affiche les lignes de commande des processus.
volatility -f dump.mem netscan : Recherche les connexions réseau.
volatility -f dump.mem connections : Affiche les connexions réseau.
volatility -f dump.mem malfind : Recherche les indicateurs de code malveillant.
volatility -f dump.mem apihooks : Recherche les hooks API.
volatility -f dump.mem ldrmodules : Liste les modules chargés dynamiquement.
volatility -f dump.mem modscan : Recherche les modules noyau.
volatility -f dump.mem ssdt : Affiche la table de service du noyau.
volatility -f dump.mem callbacks : Affiche les callbacks du noyau.
volatility -f dump.mem driverirp : Affiche les dispatch routines des pilotes.
volatility -f dump.mem devicetree : Affiche l'arborescence des périphériques.
volatility -f dump.mem hivelist : Liste les hives de registre.
volatility -f dump.mem printkey : Affiche les valeurs de clé de registre.
volatility -f dump.mem userassist : Affiche les entrées UserAssist.
volatility -f dump.mem shimcache : Affiche les entrées ShimCache.
volatility -f dump.mem getsids : Affiche les SID des processus.
volatility -f dump.mem getservicesids : Affiche les SID des services.
volatility -f dump.mem getsidsandprivs : Affiche les SID et privilèges des processus.
volatility -f dump.mem envars : Affiche les variables d'environnement des processus.
volatility -f dump.mem consoles : Affiche les consoles des processus.
volatility -f dump.mem mutantscan : Recherche les objets mutant.
volatility -f dump.mem handles : Affiche les handles des processus.
volatility -f dump.mem vadinfo : Affiche les informations VAD.
volatility -f dump.mem vadtree : Affiche l'arborescence VAD.
volatility -f dump.mem vadwalk : Affiche les pages VAD.
volatility -f dump.mem memmap : Affiche la carte mémoire.
volatility -f dump.mem memdump -p PID -D dossier : Effectue un dump de la mémoire d'un processus spécifique.
volatility -f dump.mem memdump -p PID -D dossier --name : Effectue un dump de la mémoire d'un processus spécifique avec le nom du processus.
volatility -f dump.mem memdump -p PID -D dossier --name --dump-dir : Effectue un dump de la mémoire d'un processus spécifique avec le nom du processus dans un répertoire spécifique.
volatility -f dump.mem memdump -p PID -D dossier --name --dump-dir --output : Effectue un dump de la mémoire d'un processus spécifique avec le nom du processus dans un répertoire spécifique et affiche les informations de progression.
volatility -f dump.mem memdump -p PID -D dossier --name --dump-dir --output --phys-offset : Effectue un dump de la mémoire d'un processus spécifique avec le nom du processus dans un répertoire spécifique, affiche les informations de progression et l'offset physique.
volatility -f dump.mem memdump -p PID -D dossier --name --dump-dir --output --phys-offset --memory : Effectue un dump de la mémoire d'un processus spécifique avec le nom du processus dans un répertoire spécifique, affiche les informations de progression, l'offset physique et la mémoire physique.
volvolatility -f dump.mem memdump -p PID -D dossier --name --dump-dir --output --phys-offset --memory --format : Effectue un dump de la mémoire d'un processus spécifique avec le nom du processus dans un répertoire spécifique, affiche les informations de progression, l'offset physique, la mémoire physique et le format de sortie.
Plugins supplémentaires
volatility -f dump.mem kdbgscan : Recherche le KDBG.
volatility -f dump.mem kpcrscan : Recherche le KPCR.
volatility -f dump.mem psxview : Affiche les processus cachés.
volatility -f dump.mem ldrmodules -p PID : Liste les modules chargés dynamiquement pour un processus spécifique.
volatility -f dump.mem malfind -p PID : Recherche les indicateurs de code malveillant pour un processus spécifique.
volatility -f dump.mem dlllist -p PID : Liste les DLL chargées dans un processus spécifique.
volatility -f dump.mem handles -p PID : Affiche les handles d'un processus spécifique.
volatility -f dump.mem cmdline -p PID : Affiche la ligne de commande d'un processus spécifique.
volatility -f dump.mem filescan -p PID : Recherche les handles de fichiers ouverts pour un processus spécifique.
volatility -f dump.mem vadinfo -p PID : Affiche les informations VAD pour un processus spécifique.
volatility -f dump.mem vadtree -p PID : Affiche l'arborescence VAD pour un processus spécifique.
volatility -f dump.mem vadwalk -p PID : Affiche les pages VAD pour un processus spécifique.
volatility -f dump.mem memdump -p PID -D dossier --name : Effectue un dump de la mémoire d'un processus spécifique avec le nom du processus.
volatility -f dump.mem memdump -p PID -D dossier --name --dump-dir : Effectue un dump de la mémoire d'un processus spécifique avec le nom du processus dans un répertoire spécifique.
volatility -f dump.mem memdump -p PID -D dossier --name --dump-dir --output : Effectue un dump de la mémoire d'un processus spécifique avec le nom du processus dans un répertoire spécifique et affiche les informations de progression.
volatility -f dump.mem memdump -p PID -D dossier --name --dump-dir --output --phys-offset : Effectue un dump de la mémoire d'un processus spécifique avec le nom du processus dans un répertoire spécifique, affiche les informations de progression et l'offset physique.
volatility -f dump.mem memdump -p PID -D dossier --name --dump-dir --output --phys-offset --memory : Effectue un dump de la mémoire d'un processus spécifique avec le nom du processus dans un répertoire spécifique, affiche les informations de progression, l'offset physique et la mémoire physique.
volatility -f dump.mem memdump -p PID -D dossier --name --dump-dir --output --phys-offset --memory --format : Effectue un dump de la mémoire d'un processus spécifique avec le nom du processus dans un répertoire spécifique, affiche les informations de progression, l'offset physique, la mémoire physique et le format de sortie.
UserAssist
Windows garde une trace des programmes que vous exécutez en utilisant une fonctionnalité dans le registre appelée clés UserAssist. Ces clés enregistrent combien de fois chaque programme est exécuté et quand il a été exécuté pour la dernière fois.
RootedCON est l'événement le plus pertinent en matière de cybersécurité en Espagne et l'un des plus importants en Europe. Avec pour mission de promouvoir les connaissances techniques, ce congrès est un point de rencontre bouillonnant pour les professionnels de la technologie et de la cybersécurité dans chaque discipline.
Services
Feuille de triche Volatility
Commandes de base
volatility -f dump.mem imageinfo : Informations sur l'image mémoire
volatility -f dump.mem --profile=PROFILE pslist : Liste des processus
volatility -f dump.mem --profile=PROFILE pstree : Arborescence des processus
volatility -f dump.mem --profile=PROFILE psscan : Analyse des processus
volatility -f dump.mem --profile=PROFILE netscan : Analyse des connexions réseau
volatility -f dump.mem --profile=PROFILE connections : Liste des connexions réseau
volatility -f dump.mem --profile=PROFILE cmdscan : Analyse des commandes exécutées
volatility -f dump.mem --profile=PROFILE consoles : Liste des consoles interactives
volatility -f dump.mem --profile=PROFILE filescan : Analyse des fichiers ouverts
volatility -f dump.mem --profile=PROFILE dlllist : Liste des DLL chargées
volatility -f dump.mem --profile=PROFILE getsids : Liste des SID
volatility -f dump.mem --profile=PROFILE hivelist : Liste des hôtes de registre
volatility -f dump.mem --profile=PROFILE userassist : Liste des éléments UserAssist
volatility -f dump.mem --profile=PROFILE shimcache : Liste des entrées ShimCache
volatility -f dump.mem --profile=PROFILE mftparser : Analyse du Master File Table
volatility -f dump.mem --profile=PROFILE ldrmodules : Liste des modules chargés
volatility -f dump.mem --profile=PROFILE modscan : Analyse des modules
volatility -f dump.mem --profile=PROFILE mutantscan : Analyse des objets Mutant
volatility -f dump.mem --profile=PROFILE svcscan : Analyse des services
volatility -f dump.mem --profile=PROFILE envars : Liste des variables d'environnement
volatility -f dump.mem --profile=PROFILE cmdline : Lignes de commande des processus
volatility -f dump.mem --profile=PROFILE consoles : Liste des consoles interactives
volatility -f dump.mem --profile=PROFILE hivelist : Liste des hôtes de registre
volatility -f dump.mem --profile=PROFILE userassist : Liste des éléments UserAssist
volatility -f dump.mem --profile=PROFILE shimcache : Liste des entrées ShimCache
volatility -f dump.mem --profile=PROFILE mftparser : Analyse du Master File Table
volatility -f dump.mem --profile=PROFILE ldrmodules : Liste des modules chargés
volatility -f dump.mem --profile=PROFILE modscan : Analyse des modules
volatility -f dump.mem --profile=PROFILE mutantscan : Analyse des objets Mutant
volatility -f dump.mem --profile=PROFILE svcscan : Analyse des services
volatility -f dump.mem --profile=PROFILE envars : Liste des variables d'environnement
volatility -f dump.mem --profile=PROFILE cmdline : Lignes de commande des processus
Plugins supplémentaires
volatility -f dump.mem --profile=PROFILE timeliner : Crée une timeline des activités
volatility -f dump.mem --profile=PROFILE dumpfiles -Q ADDRESS -D /path/to/dump/ : Extraction de fichiers
volatility -f dump.mem --profile=PROFILE memdump -p PID -D /path/to/dump/ : Extraction de l'espace mémoire d'un processus
voljson -f dump.mem --profile=PROFILE pslist : Exporter la sortie en JSON
volatility -f dump.mem --profile=PROFILE linux_bash : Analyse des artefacts Bash sur Linux
volatility -f dump.mem --profile=PROFILE linux_netstat : Analyse des connexions réseau sur Linux
volatility -f dump.mem --profile=PROFILE linux_lsof : Liste des fichiers ouverts sur Linux
volatility -f dump.mem --profile=PROFILE linux_yarascan : Analyse des fichiers avec Yara sur Linux