Volatility 3

Portage de l’outil Volatility « Autorun » de Thomas Chopitea sur Volatility

Auteur : Anthony FEY
05/12/2022
Cybersécurité
En savoir plus sur notre CSIRT

L’outil Volatility 2 “Autorun” est un des outils tiers les plus populaires dans le domaine de l’analyse inforensique.

Cet outil avait pour but d’être utilisé dans un projet interne mais malheureusement ce projet, nécessitant la version 3 de Volatility, n’a pas pu aboutir dû à la non rétrocompatibilité des outils conçus originellement pour Volatility 2. Cet outil étant un des outils phares de l’analyse inforensic, Il a donc été décidé de le porter sur cette dernière.

Volatility Framework est une collection d’outils libres et open-source développée en Python et publiée par Black Hat DC permettant d’extraire les informations contenues dans les Dumps mémoire pouvant provenir de nombreux systèmes d’exploitation tels que Windows, Mac et Linux. Initialement développée sous Python 2, la suite contient des outils appelés « Plugins » permettant d’effectuer des analyses comme générer une liste des processus, des dernières connexions établies, etc...

Par ailleurs cet ensemble permet aussi de développer ses propres « plugins » grâce à l’utilisation de leur Framework pour ainsi répondre à d’autres besoins.

Les points négatifs de la version sous Python 2 (Volatility 2) est l’utilisation de « Profil » c’est-à-dire que pour chaque dump mémoire, il est nécessaire de préciser exactement la version du système où le dump a été généré jusqu’au service pack près, et pire encore pour Windows 10, connaître exactement le numéro de la build utilisée.

Il existe un plugin « imageinfo » permettant d’essayer de retrouver le profil adéquat, mais le résultat n’est pas garanti. L’autre point faible de Volatility est sa lenteur ; en effet, les résultats peuvent varier de quelques secondes à plusieurs minutes, voire plusieurs heures.

Pour pallier ces problèmes, l’éditeur du logiciel a récemment décidé de migrer sa suite sur Python 3 (Volatility 3) en y apportant quelques changements notables, comme l’élimination des « profils » et une amélioration remarquable en termes de rapidité du lancement des plugins, pour n’en citer que quelques-uns.

github

Autorun conçu par Thomas Chopitea (@Tomchop) est un des plugins tiers les plus intéressants à utiliser lors d’une analyse d’un dump de mémoire. Ce plugin va repérer et afficher toutes les applications et processus en mémoire qui tournent de manière persistante sur le système c’est-à-dire qui sont capables de se relancer après un redémarrage.

Ces points de persistance peuvent êtres multiples :

  • Cela peut être des clés de registre se trouvant dans les clés de type « Run » ou « RunOnce »

  • Des services Windows

  • Des patchs de rétrocompatibilité pour supporter des applications conçues pour d’anciennes versions de Windows. Ces patchs peuvent contenir des DLLs malveillants

  • L’ajout de chemins d’applications dans les clés (Shell, Userinit) gérant l’ouverture et la fermeture des sessions Windows (Winlogon)

  • Des logiciels cachés dans le Planificateur de tâches Windows permettant de programmer le démarrage de programmes ou de scripts à des temps prédéfinis ou après certains intervalles prédéfinis.

https://github.com/tomchop/volatility-autoruns

Telindus CSIRT

Ce portage permet d’apporter :

  • Une compatibilité de l’outil avec Volatility 3 

  • Un gain non négligeable au niveau du temps d’analyse

  • Une exportation des résultats sous différents formats tel que JSON, CSV, etc…

 

Ce portage a été mis à disposition de la communauté sur le GitHub du CSIRT de Telindus ( https://github.com/Telindus-CSIRT/volatility3-autoruns ) avec en supplément une publication sur le compte Twitter de celui-ci :

https://twitter.com/TelindusCSIRT/status/1413416541887008773

La publication de cet outil devrait permettre ainsi à la communauté de faciliter leur migration sur la nouvelle version de Volatility pour ainsi obtenir les avantages qu’elle apporte. Elle permettra aussi à la communauté d’apporter des améliorations sur celle-ci grâce à sa publication sur le GitHub de Telindus afin de rendre les analyses encore plus pertinentes.