🧩Plugins

🎈 Syntaxe

Avec Volatility3, vous devez maintenant préciser le système d'exploitation avant de choisir le plugin. Par exemple, utilisez windows.info pour Windows, linux.info pour Linux et mac.info pour macOS. Cette modification est due au fait qu'il n'y a plus de profils génériques pour différencier les systèmes d'exploitation pour les plugins. Chaque système d'exploitation a ses propres structures et opérations de mémoire.

Exemple :

python3 vol.py -f <chemin_vers_image_mémoire> <système d'exploitation>.<module>

🕵️‍♂️ Plugins de Volatility

Volatility offre un large éventail de plugins puissants conçus pour explorer et analyser les images de mémoire. Ces plugins fournissent des informations précieuses sur les processus en cours d'exécution, les connexions réseau, les fichiers ouverts, les registres système et bien plus encore. Voici quelques-uns des plugins les plus couramment utilisés :

🔄 Processus

  • pslist : Affiche une liste détaillée de tous les processus actifs, incluant l'ID du processus, le nom et le PID parent.

  • pstree : Présente les processus sous forme d'arborescence, illustrant les relations hiérarchiques entre eux.

  • psscan : Analyse la mémoire pour détecter les processus masqués ou détruits en recherchant les structures de processus.

📁 Fichiers

  • filescan : Recherche les objets de fichier en mémoire et affiche les détails tels que le nom du fichier et l'adresse mémoire.

  • handles : Affiche les handles ouverts par chaque processus, aidant à comprendre les fichiers actuellement utilisés.

🌐Réseau

  • netscan : Analyse la mémoire pour détecter les sockets réseau en écoute ou en attente de connexion.

  • netstat : Identifie les connexions réseau présentes au moment de l'extraction sur la machine hôte, tentant d'identifier toutes les structures de mémoire associées aux connexions réseau.

Dans certains cas, la commande netstat peut être instable, surtout avec les anciennes versions de Windows. Pour contourner ce problème, d'autres outils comme Bulk_extractor peuvent être utilisés pour extraire un fichier PCAP à partir du fichier mémoire, offrant ainsi une alternative pour analyser les connexions réseau.

  • connections : Affiche les connexions réseau actives, y compris les adresses IP locales et distantes, ainsi que les ports utilisés.

📚 Analyse Avancée

  • malfind : Identifie les processus injectés et fournit une vue hexadécimale, ASCII et de désassemblage de la zone infectée.

  • yarascan : Compare le fichier mémoire avec des règles YARA pour détecter des motifs associés à des malwares ou à des comportements suspects.

🖼️ Identification de l'Image

  • imageinfo : Fournit des informations de base sur l'image mémoire, telles que le système d'exploitation, la version du noyau, et d'autres détails cruciaux pour guider l'analyse ultérieure.

🗝️ Registre

  • hivelist : Liste les hôtes de registre actuellement chargés en mémoire.

  • printkey : Affiche les sous-clés et les valeurs d'une clé de registre spécifique.

  • hivedump : Extrait un hôte de registre spécifique en mémoire et l'enregistre dans un fichier pour une analyse ultérieure.

Ces plug-ins offrent une gamme variée d'outils pour explorer et analyser les images de mémoire, aidant ainsi à la détection des malwares, à l'analyse des processus et à la compréhension des activités système.

🕵️‍♂️ Analyse Avancée de la Mémoire

La forensique de mémoire avancée peut devenir confuse lorsque l'on commence à parler des objets système et de la manière dont les logiciels malveillants interagissent directement avec le système, surtout si vous n'avez pas d'expérience préalable dans la chasse à certaines des techniques utilisées telles que l'accrochage et la manipulation des pilotes. Lorsque vous faites face à un adversaire avancé, vous pouvez rencontrer des logiciels malveillants, la plupart du temps des rootkits, qui emploieront des mesures d'évasion très astucieuses nécessitant à l'analyste de plonger dans les pilotes, les mutex et les fonctions accrochées. Plusieurs modules peuvent nous aider dans ce voyage pour découvrir davantage de logiciels malveillants cachés dans la mémoire.

🔗 Accrochage (Hooking)

L'accrochage est une technique utilisée par les logiciels malveillants pour intercepter et modifier le comportement normal des fonctions système et des appels système. Voici quelques types courants d'accrochage :

🖥️ SSDT Hooks

Les SSDT Hooks (System Service Descriptor Table) consistent à modifier les entrées de la table des descripteurs de services système. Cette table est utilisée par le noyau Windows pour accéder aux fonctions du système. En accrochant une entrée de cette table, un logiciel malveillant peut rediriger les appels système vers son propre code, lui permettant ainsi de contrôler le comportement du système.

🔄 IRP Hooks

Les IRP Hooks (I/O Request Packet) impliquent la manipulation des paquets de requêtes d'entrée/sortie du système. Les pilotes de périphériques Windows utilisent les IRP pour communiquer avec les périphériques matériels. En accrochant les IRP, un logiciel malveillant peut modifier les opérations d'entrée/sortie normales du système, ce qui peut être utilisé pour cacher des activités malveillantes ou pour intercepter des données sensibles.

📚 IAT Hooks

Les IAT Hooks (Import Address Table) consistent à modifier la table d'adresses d'importation utilisée par les programmes pour localiser les fonctions des bibliothèques partagées (DLL). En accrochant la table d'adresses d'importation d'un processus, un logiciel malveillant peut rediriger les appels de fonction vers son propre code, ce qui lui permet d'intercepter ou de modifier le comportement des programmes en cours d'exécution.

🍴 EAT Hooks

Les EAT Hooks (Export Address Table) sont similaires aux IAT Hooks, mais ils impliquent la modification de la table d'adresses d'exportation, qui répertorie les fonctions exportées par une DLL. En accrochant la table d'adresses d'exportation d'une DLL, un logiciel malveillant peut remplacer les fonctions normales par ses propres fonctions malveillantes, ce qui peut entraîner un comportement indésirable ou dangereux du système.

🍕 Inline Hooks

Les Inline Hooks consistent à remplacer directement le code d'une fonction par un code malveillant. Plutôt que de modifier une table ou une structure de données, un logiciel malveillant insère son propre code directement dans le flux d'exécution d'une fonction, ce qui lui permet d'intercepter et de modifier le comportement de la fonction sans laisser de traces dans les structures de données du système.

🛡️Contre-mesures et Plugins Complémentaires

Pour contrer les techniques d'accrochage utilisées par les logiciels malveillants, plusieurs plugins complémentaires peuvent être utilisés. Voici un résumé des principaux plugins et de leurs fonctions :

🖥️ Plugin SSDTscan

  • Fonction : Analyse la table des descripteurs de services système (SSDT) à la recherche de modifications suspectes.

  • Avantages : Détecte les altérations de la SSDT, aidant ainsi à localiser les logiciels malveillants qui ont compromis le système.

🚫Plugin DriverUnload

  • Fonction : Surveille les déchargements de pilotes de périphériques du système.

  • Avantages : Permet de détecter les activités malveillantes en surveillant les déchargements de pilotes suspects.

🔍 Plugin InlineScan

  • Fonction : Recherche les modifications du code en mémoire, y compris les altérations introduites par des techniques d'accrochage en ligne.

  • Avantages : Aide à détecter les tentatives d'accrochage et à prévenir les attaques malveillantes en identifiant les altérations du code dans les fonctions système et les DLL.

📚 Plugin IATScan

  • Fonction : Détecte les altérations de la table d'adresses d'importation (IAT) dans les processus en cours d'exécution.

  • Avantages : Repère les tentatives d'accrochage et les activités malveillantes associées en surveillant les changements dans les adresses des fonctions importées par les programmes.

🔒Plugin Memory Integrity Checker

  • Fonction : Surveille l'intégrité de la mémoire système en détectant les modifications suspectes dans les structures de données critiques.

  • Avantages : Identifie et neutralise les tentatives d'accrochage et d'autres attaques malveillantes en détectant les altérations de structures clés telles que les tables des descripteurs de services système (SSDT), les tables d'adresses d'importation (IAT) et les tables d'adresses d'exportation (EAT).

Last updated