Analysez en détail les processus avec Volatility
Dans le premier chapitre, nous avons vu quelques commandes de base pour extraire des
informations liées aux processus en cours de fonctionnement. Il existe de nombreuses
autres commandes permettant l’exploration et l’analyse des processus.
1.Affichez l'arborescence des processus avec pstree :
Nous avons vu qu’il était possible de lister les processus en cours de fonctionnement dans le
dump mémoire avec la commande pslist. Il existe toutefois une autre
commande, pstree, qui permet d’afficher la liste des processus sous forme
d’arborescence.
L’option pstree peut s’avérer très utile car elle permettra d’identifier les processus parents
d’un processus en particulier. Ainsi, vous pourrez noter les structures suspectes. Par
exemple, il n'est pas normal qu’un CMD soit un processus fils d’Internet Explorer !
Voici la commande à exécuter pour afficher l'arborescence des processus :
Résultat :
Par exemple, dans notre cas, nous pouvons voir que le processus précédemment identifié
est fils du process avec le PID 3544 correspondant au processus Winword.
3.Affichez les processus cachés avec psxview :
Une autre commande qui peut être utilisée pour lister les processus est psxview. Cette
commande permet d’afficher les processus cachés.
Détectez l'injection de code avec malfind :
a commande malfind peut être utilisée pour détecter de l’injection de code malveillant.
Pour cela, utilisez cette commande :
Le code injecté est un indice d’une infection. Nous pouvons
récupérer ce code avec la commande malfind :
vol.py -f memdum.mem --profile=Win7SP1x86 malfind -D /home/ista/Bureau/tp dump
Nous pouvons aussi extraire les dlls infectés avec :
vol.py -f memdump.mem --profile=Win7SP1x86 --pid=1808 dlldump -D /home/ista/Buerau/tp dump
5.Process dump avec procdump :
Lors de l’analyse mémoire, il sera possible de dumper un processus en particulier pour
l’analyser en détail. Il est également possible de réaliser un dump mémoire d’un processus
en cours d’exécution.
7. Extraction des services
La commande svcscan permet de lister les services sur la machine en cours
d’investigation.
Les malwares peuvent utiliser les services Windows comme moyen de
persistance permettant de survivre au redémarrage
Allez plus loin avec d'autres options de Volatility
Volatility permet une analyse en profondeur de la mémoire voici quelques autres
commandes qui pourront vous servir :
cmdscan pour extraire l’historique des commandes entrées dans l’invite de
commande, et donc voir quelles ont été les dernières commandes entrées
avant l'incident. Si vous détectez une commande suspecte entrée juste avant
l'incident, vous avez peut-être trouvé le déclencheur du malware !
yarascan permettant d'utiliser des YARA rules. Les YARA rules sont un moyen de
chercher des caractéristiques particulières des malwares dans des fichiers, afin de
détecter des fichiers malveillants. Il faut installer yara pour volatility
8.Les plugins Volatility
Il est également possible de développer et d’utiliser des plugins complémentaires, par
exemple pour extraire des informations relatives à un malware en particulier
Pour utiliser un plugin, il suffit de spécifier l’emplacement du plugin avec l’option --
plugins=“”. Nous pouvons voir ici un exemple avec le plugin autoruns. il vous
permet de détecter quelles sont les manières dont le malware persiste sur la
machine.
Ici, nous pouvons voir qu'une clé autorun a été identifiée et démarre un fichier VBS
dans le répertoire : C:\Users\johnoc\AppData\Local\Temp\krtYMkVgyjNdd.vbs.
nous avons utilisé quelques options du framework Volatility afin de mener notre
analyse du dump mémoire :
pstree afin de lister l’arborescence des processus ;
psxview pour détecter si un processus est caché ;
malfind révèle les injections de code potentiellement malveillant ;
il est possible de dumper un processus avec les commande memdump et
procmemdump ;
il est possible d’utiliser cmdscan, les YARA rules et les plugins pour une
utilisation avancée.
Nous avons identifié plusieurs éléments :
1. Le processus rad5163B.tmp.exe est fils du processus Winword et exécute des
actions sur le système avec ses processus enfants.
2. Nous avons dumpé ce processus pour l'analyser plus tard.
3. Une clef autorun a été identifiée et démarre un fichier VBS (persistance)
NB : avant de commencer le TP vous pouvez installer les plugins manquant en
tapant la commande
python2.7 -m pip install pycrypto distorm3==3.4.4