Analyse d’un binaire compromis et de ses mécanismes d’exfiltration.
Vous avez désormais identifié le rôle joué par l’extension VS Code non validée dans la compromission du produit final déployé chez les clients, et ACME Solutions vous en félicite.
Il vous reste toutefois à expliquer précisément le fonctionnement de l’application compromise.
Pour cette dernière étape, vous ne disposez plus que du binaire suspect tel qu’il a été déployé chez les clients d’ACME Solutions.
Mobilisez une dernière fois vos compétences d’auditeur afin de comprendre comment l’application permet l’exfiltration des identifiants utilisateurs tout en échappant aux mécanismes de détection du système.
Nous allons réaliser un reverse engineering d’un exécutable malveillant se faisant passer pour KeePass. Ce dernier semble avoir été conçu pour exfiltrer des mots de passe de manière discrète. L’analyse présentera les différentes étapes de l’investigation, les outils employés et les conclusions tirées à chaque phase.
Pour commencer, nous utilisons PE-Bear, un outil spécialisé dans l’analyse du format des fichiers Portable Exécutable (PE). PE-Bear est léger, rapide et permet de visualiser les en-têtes du fichier sans l’exécuter, ce qui est essentiel en présence de malwares potentiels.
Dans l’inspection du binaire, nous constatons que celui-ci cible le framework .NET.

Nous poursuivons avec dnSpy, un outil permettant de désassembler et de déboguer les assemblages .NET. Il est idéal pour visualiser et modifier le code IL (Intermediate Language) et C#.
Rapidement, nous remarquons que l’assembleur est fortement offusqué. Cela complique l’analyse, car les noms de classes, méthodes et variables sont brouillés.

Malgré l’offuscation , en explorant les métadonnées, nous parvenons à extraire des informations importantes comme la version du framework utilisé : .NET Framework 4.8.

De plus, nous identifions que l’offuscation a été réalisée avec ConfuserEx v1.0.0, un outil open-source très connu pour rendre les binaires .NET difficiles à analyser.

Face à l’offuscation avancée, l’analyse statique devient moins efficace. Nous basculons alors vers une approche dynamique.
Pour cela, nous utilisons API Monitor v2, un outil capable d’intercepter et de surveiller en temps réel tous les appels aux API Windows effectués par un processus. API Monitor est particulièrement utile pour découvrir des comportements suspects sans avoir besoin d’accéder au code source ou de réussir à lever l’offuscation du binaire.
Méthodologie : Nous lançons API Monitor et attachons la surveillance au processus KeePass.exe. En parallèle, nous interagissons avec l’application, notamment en essayant d’afficher un mot de passe pour déclencher un comportement.
Pendant cette interaction, nous observons les appels API pour détecter toute activité anormale.
En surveillant l’application lors de l’affichage d’un mot de passe, nous détectons l’utilisation de certaines APIs sensibles.


L’appel à IsDebuggerPresent, une API classique pour détecter la présence d’un débogueur, est observé.

De même pour CheckRemoteDebuggerPresent, une autre API pour détecter un débogage distant.

Ces vérifications trahissent la volonté du malware de se protéger contre l’analyse.
Nous observons aussi des appels à FindWindowA pour rechercher la présence de logiciels de débogage tels que OllyDbg, x64dbg, IDA et WinDbg. Cela confirme l’intégration de techniques anti-analyse.

En complément, l’appel à GetTickCount64 est une technique supplémentaire pour déterminer si l’ordinateur a été allumé récemment.

En analysant ces méthodes, nous comprenons que même avec des contournements classiques de sandbox/débogueur, il est possible que d’autres techniques de détection soient mises en œuvre, comme l’analyse des drivers ou de caractéristiques matérielles propres à des environnements virtuels et donc qu’il ne faudra pas passer par une VM.
Après avoir satisfait toutes les conditions de «non-détection» du malware, nous observons alors un comportement réseau suspect.
Avec Wireshark, nous capturons des requêtes DNS étranges. Le malware utilise l’API CreateFile pour provoquer des résolutions DNS, déclenchées par Windows lui-même. Cette technique permet de masquer l’exfiltration, car aucun trafic TCP/IP direct n’est initié par l’application.

Les informations sensibles (ex. mots de passe) sont encodées directement dans les sous domaines DNS envoyés.
Ce malware, déguisé en KeePass, déploie une stratégie sophistiquée pour éviter toute détection :
La détection et l’analyse ont été possibles grâce à une approche combinée d’analyse statique et dynamique, l’utilisation d’outils adaptés (PE-Bear, dnSpy, API Monitor v2, Wireshark) et une bonne compréhension des mécaniques internes des malwares modernes.