GNU/Linux >> Tutoriels Linux >  >> Linux

Comment installer et utiliser l'outil médico-légal de mémoire Volatility

L'une des parties importantes de l'analyse des logiciels malveillants est l'analyse de la mémoire vive (RAM). Il aide à identifier les processus malveillants en cours d'exécution, les activités réseau, les connexions ouvertes, etc. dans le système compromis. Cet article concerne l'outil de sécurité open source "Volatility" pour l'analyse de la mémoire volatile. Il peut être utilisé pour l'analyse de la RAM des systèmes 32/64 bits et prend en charge l'analyse des systèmes Windows, Linux, Mac et Android. Le Volatility Framework est implémenté dans le langage de script Python et peut être facilement utilisé sur les systèmes d'exploitation Linux et Windows. Il est utilisé pour analyser les vidages sur incident, les vidages bruts, les vidages VMware et VirtualBox. Les techniques d'extraction sont effectuées de manière totalement indépendante du système étudié et donnent une visibilité complète sur l'état d'exécution du système. Ainsi, cet article porte sur l'analyse médico-légale du vidage de la mémoire RAM à l'aide de l'outil de volatilité. Le plugin "malfind" de la volatilité aide à vider le processus malveillant et à l'analyser. Un autre plugin de la volatilité est "cmdscan" également utilisé pour lister les dernières commandes sur la machine compromise. Dans cette enquête médico-légale, des ressources en ligne telles que le site Web "virustotal" et "payload security" seront utilisées pour vérifier les résultats. En fin de compte, Windows Defender et Malware Bytes seront utilisés pour analyser les programmes malveillants.

Prise en charge des formats de mémoire

Le format de mémoire suivant est pris en charge par la dernière version de Volatility [1].

  • Mémoire physique brute/complétée
  • Firewire (IEEE 1394)
  • Témoin expert (EWF)
  • Vidage sur incident Windows 32 bits et 64 bits
  • Hibernation Windows 32 et 64 bits
  • Fichiers MachO 32 et 64 bits
  • Dumps de base de Virtualbox
  • État enregistré VMware (.vmss) et instantané (.vmsn)
  • Format HPAK (FastDump)
  • Vidages mémoire QEMU

Installation

L'outil Volatilité est disponible pour les systèmes d'exploitation Windows, Linux et Mac. Pour Windows et Mac OS, des exécutables autonomes sont disponibles et peuvent être installés sur Ubuntu 16.04 LTS à l'aide de la commande suivante.

apt-get install volatility

Analyse de la mémoire

Dans ce didacticiel, l'analyse médico-légale du vidage de la mémoire brute sera effectuée sur la plate-forme Windows à l'aide de l'exécutable autonome de l'outil Volatility. Il est courant dans le processus d'enquête que l'enquêteur médico-légal trouve plusieurs programmes malveillants sur le disque dur compromis. Ainsi, l'analyse de la mémoire devient très importante dans de tels événements, car des programmes malveillants ou des logiciels malveillants peuvent être exécutés sur le système compromis.

Vérification de l'intégrité

Le hachage MD5 du vidage mémoire du système malveillant est donné ci-dessous. Il est calculé pour vérifier l'image acquise avant de commencer l'analyse médico-légale.

MD5:               ee043142485a83f4d49a3a7899408500             

Analyse de la volatilité

L'outil de volatilité est utilisé pour déterminer si le PC est infecté ou non. Comme nous le savons, le programme malveillant peut être extrait des processus en cours d'exécution à partir du vidage de la mémoire. Ainsi, tout d'abord, il est nécessaire d'identifier les "profils" pris en charge pour l'image mémoire vidé. Comme indiqué ci-dessous, la commande suivante est utilisée pour identifier les "profils" de l'image.

"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" imageinfo -f memdump3.raw

Ainsi, les deux profils suivants sont suggérés par la commande "imageinfo".

Win7SP0x86 , Win7SP1x86

Maintenant, la commande mentionnée ci-dessous est utilisée pour obtenir une liste des processus en cours d'exécution dans le vidage de la mémoire.

"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 pslist -f memdump3.raw

partie 1                                                                               

partie-2

Le plugin "pslist" de l'outil de volatilité affiche les processus dans le vidage mémoire. Comme le montre la sortie ci-dessus, peu de programmes ressemblent à "0KqEC12.exe ” et “rdpclip.exe ” sont nouveaux sur le système d'exploitation Windows. Il peut s'agir d'applications malveillantes ou nouvelles pour le système d'exploitation Windows. De même, plusieurs "iexplore.exe ” les programmes semblent également suspects.

Ainsi, le but de la commande suivante est d'afficher les processus sous forme d'arborescence (parent/enfant). Cela montrera la liaison du processus avec le processus parent. Cela nous aidera à identifier le processus parent du programme malveillant.

 "E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 pstree -f memdump3.raw

partie 1

partie 2

Comme indiqué dans la sortie ci-dessus de "pstree ” plug-in de l'outil Volatility, les processus sont affichés avec leurs PID et PPID. Nous avons mis en évidence les programmes malveillants pour une enquête plus approfondie sur la machine victime. Maintenant, "malfin ” plug-in (qui est utilisé pour détecter les DLL malveillantes dans le processus) de Volatility sera utilisé contre les processus mis en évidence.

ID de processus :1120 (svchost.exe)

La commande suivante avec le commutateur malfind est utilisée pour vider les DLL malveillantes dans le répertoire "output".

 E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-1120 -p 1120 -f memdump3.raw

Comme indiqué ci-dessous, aucune dll n'est trouvée par le plug-in malfind.

ID de processus :1788 (rdpclip.exe)

Exécutez à nouveau la même commande avec le PID 1788 pour extraire la DLL du processus. Cependant, aucune DLL n'est trouvée par le plug-in.

E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-1788 -p 1788 -f memdump3.raw

ID de processus :2104 (explorer.exe)

Comme indiqué ci-dessous, la commande suivante est exécutée avec le PID "2104" et malfind a extrait les DLL du processus.

 E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-2104 -p 2104 -f memdump3.raw

La sortie du plug-in malfind montre le vidage des DLL extraites du processus malveillant.

ID de processus :2240(0kqEC12.exe)

Le plug-in malfind s'exécute sur le PID "2240", ce qui semble suspect pour le système d'exploitation Windows.

E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-2240 -p 2240 -f memdump3.raw

La sortie du plug-in malfind pour le PID "2240" est illustrée ci-dessous.

ID de processus :2840 (iexplore.exe)

La sortie de l'outil de volatilité par rapport au PID "2840" est illustrée ci-dessous.

 E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-2840 -p 2840 -f memdump3.raw

Ce processus semble également malveillant car il utilise également le même nom que le processus Windows "iexplorer".

ID de processus :2364(iexplore.exe)

De même, malfind s'exécute contre le programme malveillant "iexplore" avec le PID "2364".

 E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-2364 -p 2364 -f memdump3.raw

Le vidage de malfind par rapport au PID "2364" est illustré ci-dessous.

ID de processus :3728 (iexplore.exe)

Comme indiqué ci-dessous, le plug-in de volatilité pour le vidage du programme malveillant est exécuté avec le PID "3728"

 E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-3728 -p 3728 -f memdump3.raw

  L'instantané suivant montre le vidage du plug-in malfind par rapport au PID "3728".

Résultats de l'analyse

Les vidages des programmes malveillants sont analysés à l'aide de Windows Defender et des octets Malware.

 Windows Défenseur

Le résultat de l'analyse de Windows Defender est affiché ci-dessous et il est identifié comme "Trojan:Win32/EyeStye.N"  &  "Trojan:Win32/EyeStye.plugin"

Les détails des chevaux de Troie sont donnés ci-dessous.

Ce cheval de Troie enregistre les frappes au clavier, surveille l'activité Internet et vole certains identifiants de connexion, puis envoie les données capturées à un attaquant distant à des fins financières. Il peut télécharger des logiciels malveillants supplémentaires, réduire la sécurité du navigateur Web et utiliser un rootkit pour masquer son activité malveillante [2]. Le malware utilise l'injection de code afin d'entraver la détection et la suppression. Lorsque "EyeStye.N" s'exécute, il peut injecter du code dans des processus en cours d'exécution tels que cmd.exe et explorer.exe.

Notre analyse montre qu'un programme malveillant est injecté dans le programme "explorer.exe" qui est le parent des programmes malveillants "iexplore.exe".

 MalwareBytes

L'instantané suivant montre que MalwareBytes a également détecté des DLL extraites comme malveillantes et les a nommées "Trojan.Grabber".

  Historique des commandes (historique CMD)

  Un autre plug-in des outils Volatility est "cmdscan" qui analyse l'historique des commandes exécutées sur la machine. Le résultat de la commande suivante affiche l'historique des commandes exécutées sur le PC compromis.

 E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 cmdscan -f memdump3.raw

La sortie du "cmdscan" montre que l'attaquant a exécuté plusieurs commandes sur l'invite de commande et a exécuté le programme malveillant "iexplorer.exe" et "ieplore.exe". Un autre suspect montré dans la sortie ci-dessus est "_lt112.spn". Il est recherché sur les ressources en ligne et le résultat montre qu'il est lié au programme malveillant.

fichier _lt112.spn

L'analyste a recherché "_lt112.spn ” chaîne sur Internet et l'a trouvée sur les sites suivants.

  • https://malwr.com/analysis/ODMwYzM1NGViZDkwNDc4YTllYWU4ZTVlMTE1YzJmNGQ/

  • https://www.hybrid-analysis.com/sample/1416ff3fca01d4d4854799f2d3880fb6e100de3f7fa1c54465d4d6b9cf9b5d96?environmentId=100

 Connexion réseau

Comme nous savons que la connexion réseau peut être trouvée dans l'analyse de la mémoire, le plug-in "netscan" est exécuté sur l'image mémoire et le résultat montre que le programme malveillant "iexplore" a ouvert plusieurs connexions sur la machine victime.

 E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 netscan -f memdump3.raw

Partie-1

Partie 2

Partie-3

Ainsi, une analyse détaillée de la mémoire montre que le PC est compromis par le logiciel malveillant qui s'exécute sous les noms "explorer.exe" et "iexplore.exe" sur la machine victime. Cela montre également que le programme malveillant "iexplore.exe" se connecte sur le port 80 à partir de la machine victime.

 Références

  1. http://www.volatilityfoundation.org/24
  2. https://www.microsoft.com/security/portal/threat/encyclopedia/entry.aspx?Name=Trojan:Win32/EyeStye.N


Linux
  1. Comment installer et utiliser telnet sur Kali Linux

  2. Comment installer et utiliser Helm dans Kubernetes

  3. Comment installer et utiliser Flatpak sous Linux

  4. Comment installer et utiliser Traceroute sous Linux

  5. Comment installer et utiliser l'outil de ligne de commande Mosh Linux

Comment installer et utiliser R sur Ubuntu

Comment installer et utiliser l'outil Pigz sous Linux

Comment installer et utiliser la commande fd sous Linux

Comment installer et utiliser Nu Shell sous Linux

Comment installer et utiliser l'outil de surveillance des ressources Bpytop sur Ubuntu 20.04

Comment installer et utiliser Docker sur AlmaLinux 8