Présentation de PeStudio : configuration, tutoriel et conseils

An overview of the free malware analysis tool PeStudio.
Neil Fox
6 minute de lecture
Dernière mise à jour 23 février 2024

L'outil PeStudio s'utilise pour l'analyse statique des logiciels malveillants, et c'est l'un de mes outils préférés d'analyse de malwares.

Lorsque j'entame l'analyse d'un malware, je commence toujours par le charger dans PeStudio. Il fournit énormément de données sur l'échantillon ; c'est une véritable mine d'informations qui vont servir de base à mon rapport. PeStudio est idéal pour réaliser le triage initial d'un échantillon de malware.

Dans cet article, je vais vous présenter PeStudio et certaines de ses principales fonctionnalités, et vous expliquer comment vous pouvez l'utiliser pour démarrer l'analyse d'un malware.

Structure et fonctionnalités de base de PeStudio

J'apprécie particulièrement la facilité d'utilisation de l'outil PeStudio, et sa disposition claire et simple. Double-cliquez sur l'icône de bureau pour ouvrir l'outil, et faites simplement glisser l'échantillon de malware dans l'outil pour commencer à l'étudier.

Plusieurs onglets s'offrent maintenant à l'utilisateur, fournissant diverses informations extraites de l'échantillon par PeStudio

Onglet principal

Lors de l'ouverture d'un échantillon de malware dans PeStudio, l'utilisateur voit apparaître l'onglet « Main » (Principal).

Cet onglet donne des informations comme les hachages de l'échantillon. Si vous êtes confronté à un incident lié à un malware dans votre organisation, vous pouvez utiliser ces informations pour commencer à bloquer l'accès et à rechercher les appareils dont le système de fichiers contient ces hachages.

PeStudio fournit également les premiers octets en hexadécimal ; dans l'image ci-dessus nous pouvons voir la séquence « 4D 5A ». Cette information est utile car elle confirme que le fichier est bien un exécutable Windows. Les premiers octets de l'en-tête d'un fichier auront toujours le même motif selon le type de fichier. En tant qu'utilisateurs Windows, nous identifions généralement un fichier par l'extension ajoutée au nom du fichier, par ex. « .exe ». Toutefois, le système d'exploitation reconnaît chaque type de fichier d'après le motif d'octets dans l'en-tête ; un exécutable Windows commence toujours par « 4D 5A » en hexadécimal, ce qui équivaut aux valeurs « MZ » en ASCII.

L'entropie du fichier est également indiquée, ce qui est utile car la valeur d'entropie peut aider à déterminer si le malware est packé ou non. En effet, les malwares sont souvent packés, de sorte que leur code malveillant est masqué. La création d’un tel code demande du temps : les malandrins mettent donc tout en œuvre pour qu’il ne soit pas facile de l’étudier et de déterminer rapidement ce qu’il fait et comment le neutraliser.

L’entropie est mesurée sur une échelle allant de 0 à 8. Plus la valeur est élevée, plus il y a des chances que le malware soit packé ; des valeurs de 7-8 en sont quasiment la confirmation. C'est utile, car PeStudio nous indique ainsi que nous devrons dépacker le malware afin d'en extraire des indicateurs de compromission basés sur les données (IOC) dont nous pourrons nous servir.

Dans l'image ci-dessous, nous pouvons voir que PeStudio a identifié une signature pour UPX, un packer courant utilisé par les auteurs de malware. Donc, grâce à PeStudio, nous pouvons commencer à déterminer si un échantillon est packé ou non.

Onglet Indicateurs

L'onglet suivant dans PeStudio est l'onglet « Indicators » (Indicateurs), qui met en évidence les données de l'échantillon potentiellement malveillantes et donc intéressantes pour l'analyste de malware.

indicators-1024x525

L'image ci-dessus montre que PeStudio a identifié plusieurs indicateurs et les a classés sur une échelle allant de 1 à 3, le niveau 1 étant un indicateur de malveillance probant. Dans cet exemple, l'outil a identifié des chaînes, des sections et des importations malveillantes et a trouvé un autre fichier au sein de l'échantillon.

Toutes ces informations sont utiles car PeStudio permet d'analyser en profondeur ces indicateurs suspects dans les onglets Chaînes, Sections et Importations situés sur le côté gauche.

Onglet Sections

Cet onglet affiche les différentes sections du fichier exécutable.

Dans l'image ci-dessus, nous pouvons voir les noms des sections associées au packer UPX, confirmant ainsi que le malware est effectivement packé. Nous constatons également que la section UPX1 contient le fichier qui a été mentionné en premier lieu dans l'onglet Indicateurs. Remarquez que cette section représente près de 88 % du fichier et possède aussi un niveau d'entropie élevé. Cela montre que le malware dépacké est stocké à cet emplacement. Une fois le malware dépacké, nous pouvons voir des sections plus typiques d'un exécutable.

sections_unpacked-1024x469

L'image ci-dessus montre comment les noms des sections ont changé une fois le malware dépacké. Les sections peuvent s'appeler n'importe comment, mais certaines d'entre elles ont des noms que l'on retrouve couramment.

La section « .text » contient du code exécutable ; si nous examinons les colonnes des noms de sections, nous pouvons voir un « x » dans la colonne correspondant à la première section, à côté du volet d'autorisation, qui indique que cette section possède des autorisations exécutables.

Les sections « .rdata » et « .data » stockent des données ; comme on le voit, PeStudio a identifié que la section données est inscriptible.

La section « .idata » stocke la table des adresses d'importation (IAT), évoquée plus loin dans l'article.

La section « .rsrc » stocke les ressources pouvant être utilisées par le malware, comme les chaînes et les fichiers supplémentaires.

Onglet Bibliothèques

L'onglet « Libraries » (Bibliothèques) est utile car il affiche les fichiers DLL (Dynamic Link Library) en cours d'importation par le malware.

libraries-1024x568

L'image ci-dessus montre que PeStudio a mis sur liste noire certains fichiers DLL, ce qui signifie qu'ils sont peut-être utilisés par le malware à des fins malveillantes. Si on examine les noms et les descriptions, il y a fort à supposer que urlmon.dll, wininet.dll et ws2_32.dll concernent la fonctionnalité réseau. Le rôle du fichier winmm.dll n'est pas immédiatement évident ; toutefois, une recherche rapide du fichier DLL sur Google peut vous éclairer.

winmmdll-1024x351

Il semblerait que le malware importe peut-être des fonctionnalités servant à enregistrer de l'audio à partir d'un appareil piraté. Chaque fichier DLL contiendra un ensemble unique d'API ; il s'agit là de fonctions Windows légitimes qui peuvent être importées et utilisées par le malware. En cliquant sur l'onglet Importations, nous pouvons voir quelles sont ces fonctions.

Onglet Importations

L'onglet « Imports » (Importations) liste les fonctions/API que le malware a importées ; on l'appelle aussi IAT (table des adresses d'importation). Si on clique sur l'onglet « Blacklist » (Liste Noire), PeStudio triera l'API en déplaçant vers le haut toutes les fonctions mises sur liste noire.

imports-1024x465

Ces informations s'avèrent utiles pour comprendre comment le malware peut se comporter une fois qu'il a compromis un hôte. L'image ci-dessus montre l'API qui a été importée.

L'avantage, c'est qu'à côté de chaque nom d'API, PeStudio vous indique dans la colonne « group » (groupe) à quel type d'activité est liée l'API. Sur la capture d'écran ci-dessus, nous constatons que le malware a importé certaines fonctionnalités relatives au registre, et peut donc utiliser « RegCreateKeyA » pour créer une clé d'exécution qui lancera le malware au démarrage.

Nous pouvons également voir une API que PeStudio associe à l'activité réseau : « URLDownloadToFileA » indique clairement que le malware a la capacité de télécharger des fichiers supplémentaires à partir d'Internet. Ce type d'information est extrêmement utile, car avant d'exécuter le malware dans un laboratoire d'analyse des malwares ou dans Cuckoo Sandbox, nous pouvons nous faire une idée de son comportement.

Ces informations sont également utiles si par la suite, nous entamons la rétro-ingénierie du malware à l'aide d'un outil tel que x64dbg, car nous aurons déjà identifié certaines fonctionnalités intéressantes pour lesquelles nous pourrons définir certains points d'arrêt et voir quelles valeurs sont transmises à cette API par le malware.

Onglet Chaînes

L'onglet « Strings » (Chaînes) liste toutes les chaînes lisibles par un humain que PeStudio a identifiées dans le fichier binaire. PeStudio vous indique quel type de chaîne a été trouvé et où ces chaînes se trouvent dans le fichier binaire. Mais ce que je trouve utile dans cette partie de l'outil, ce sont les colonnes « blacklist », « hint » et « group ».

Les chaînes mises sur liste noire sont des chaînes que PeStudio a déjà trouvées dans des échantillons de malware. La colonne « hint » donne à l'utilisateur des indices sur la nature de la chaîne, tout comme la colonne « group ».

L'image ci-dessus montre que PeStudio a trouvé des chaînes intéressantes.

PeStudio confirme que la chaîne « Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0) » est un agent utilisateur. Il s'agit d'un ancien échantillon utilisé pour l'exemple dans ce blog. Toutefois, si un agent utilisateur unique était identifié dans le cadre d'un incident de cybersécurité, ce serait une information précieuse, car l'équipe de réponse aux incidents pourrait alors commencer à rechercher cet agent utilisateur dans les journaux proxy de l'organisation afin d'identifier tout hôte supplémentaire compromis.

La chaîne intéressante suivante est « Software\Microsoft\Windows\CurrentVersion\Run ». Il s'agit d'une clé d'exécution courante utilisée par les auteurs de malware pour lancer automatiquement le logiciel malveillant si l'appareil est redémarré. C'est ce qu'on appelle un mécanisme de persistance, et le malware utilise une fonctionnalité Windows légitime.

Les logiciels légitimes utilisent cette technique afin que votre logiciel préféré démarre automatiquement lorsqu'un appareil est mis sous tension. Si vous lancez l'éditeur du registre en tapant « regedit » dans la barre de recherche de Windows, vous pourrez vérifier quel logiciel dispose d'une clé d'exécution dans cet emplacement du registre pour démarrer automatiquement.

regedit-1024x207

Dans l'image ci-dessus, j'ai navigué jusqu'à « HKLM\Software\Microsoft\Windows\CurrentVersion\Run » sur mon appareil hôte et je peux voir le logiciel qui sera lancé au démarrage. Dans mon laboratoire d'analyse des malwares, je pourrais également utiliser cette technique après avoir exécuté un malware pour voir s'il utilise un mécanisme de persistance, puis identifier l'emplacement du mécanisme de persistance du malware sur le disque.

Planifiez une démonstration personnalisée de 30 minutes.
Voir Varonis en action.

Configuration de PeStudio

PeStudio est très facile à installer : rendez-vous à l'adresse https://www.winitor.com/ et la page suivante s'affichera.

pestudio_home-1024x306

Cliquez sur l'onglet « Download » (Télécharger), puis vous pourrez télécharger la version gratuite de PeStudio en cliquant sur « Download pestudio » (Télécharger pestudio).

Vous serez invité à télécharger la dernière version sous forme de fichier zip.

pestudio

Il suffit de décompresser le fichier, et PeStudio fonctionnera comme une application autonome. Surveillez le site Web, car Marc Ochsenmeier, le créateur de PeStudio, fournit régulièrement des mises à jour de l'outil.

Conclusion

PeStudio est un excellent outil qui s'avère très complet, tant pour apprendre à analyser des malwares que pour trier un incident lié à un malware ou pour écrire une règle YARA. Chaque fois que j'ai besoin de créer un nouveau laboratoire d'analyse des malwares, c'est le premier outil que j'installe, et je l'utilise toujours en première instance pour examiner un malware.

Si vous cherchez à améliorer la posture de sécurité de votre organisation, consultez Varonis Edge : Détection de périmètre et Plateforme de sécurité des données.

Que dois-je faire maintenant ?

Vous trouverez ci-dessous trois solutions pour poursuivre vos efforts visant à réduire les risques liés aux données dans votre entreprise:

1

Planifiez une démonstration avec nous pour voir Varonis en action. Nous personnaliserons la session en fonction des besoins de votre organisation en matière de sécurité des données et répondrons à vos questions.

2

Consultez un exemple de notre évaluation des risques liés aux données et découvrez les risques qui pourraient subsister dans votre environnement. Cette évaluation est gratuite et vous montre clairement comment procéder à une remédiation automatisée.

3

Suivez-nous sur LinkedIn, YouTube et X (Twitter) for pour obtenir des informations sur tous les aspects de la sécurité des données, y compris la DSPM, la détection des menaces, la sécurité de l’IA et plus encore.

Essayez Varonis gratuitement.

Obtenez un rapport détaillé sur les risques liés aux données basé sur les données de votre entreprise.
Se déploie en quelques minutes.

Keep reading

Varonis tackles hundreds of use cases, making it the ultimate platform to stop data breaches and ensure compliance.

process-hacker :-présentation-d'un-gestionnaire-de-tâches-avancé
Process Hacker : présentation d'un gestionnaire de tâches avancé
Cet article présente Process Hacker. Cet outil est populaire chez les professionnels de la sécurité qui analysent les malwares, car il indique l’activité en temps réel des processus et fournit une multitude d’informations techniques sur le comportement d’un processus donné.
comment-utiliser-ghidra-pour-la-rétro-ingénierie-des-malwares
Comment utiliser Ghidra pour la rétro-ingénierie des malwares
Une présentation de l’outil d’analyse des malwares Ghidra. Cet article explique comment installer et utiliser l’interface Ghidra.
présentation-des-11-meilleurs-outils-d’analyse-des-malwares-et-de-leurs-fonctionnalités
Présentation des 11 meilleurs outils d’analyse des malwares et de leurs fonctionnalités
Cet article se penche sur 11 outils d’analyse des malwares redoutablement efficaces, notamment PeStudio, Process Hacker, ProcMon, ProcDot et Autoruns, et vous dévoile leur intérêt.
guide-des-règles-yara-:-apprendre-à-utiliser-cet-outil-de-recherche-de-logiciels-malveillants
Guide des règles YARA : Apprendre à utiliser cet outil de recherche de logiciels malveillants
Les règles YARA sont utilisées pour classer et identifier des échantillons de malwares en créant des descriptions de familles de malware basées sur des modèles textuels ou binaires.