VMwareHardenedLoader : rendre une machine virtuelle VMware indétectable
Quand la machine virtuelle se fait griller dès le premier coup d'œil
Si vous faites de l'analyse de malwares ou du reverse engineering, vous connaissez sans doute la scène. Vous montez une belle machine virtuelle VMware bien propre, vous y déposez votre échantillon suspect, vous lancez l'exécutable… et là, rien. Le programme se ferme sans broncher, ou pire, il affiche un gentil message vous expliquant qu'il a détecté un environnement virtualisé. Vous venez de vous faire repérer.
C'est un classique. Une grande partie des malwares modernes, mais aussi de nombreux logiciels commerciaux protégés, embarquent des mécanismes dits « anti-VM ». L'idée est simple : si le code s'aperçoit qu'il tourne dans une machine virtuelle, il en déduit qu'un analyste est en train de l'observer, et il refuse de dévoiler son véritable comportement. Résultat, votre laboratoire d'analyse devient inutile. C'est précisément le problème que VMwareHardenedLoader se propose de résoudre.
VMwareHardenedLoader, c'est quoi au juste ?
VMwareHardenedLoader, parfois abrégé « VmLoader », est un projet open source signé hzqst et disponible sur GitHub. Concrètement, il s'agit d'un driver noyau pour Windows dont le rôle est de gommer les traces qui trahissent la présence de VMware au sein d'une machine virtuelle invitée.
Le principe technique tient en une phrase, et les auteurs ne s'en cachent pas : le driver patche la table SystemFirmwareTable à la volée, directement pendant l'exécution du système. Ce faisant, il fait disparaître toutes les signatures détectables du type « VMware », « Virtual » ou « VMWARE » qui traînent habituellement dans les tables firmware de la machine. Là où un logiciel curieux irait fouiller pour démasquer la virtualisation, il ne trouvera plus que des informations d'apparence tout à fait ordinaire.
En clair : VMwareHardenedLoader ne cache pas votre machine virtuelle, il la déguise en machine physique aux yeux des logiciels qui cherchent à la démasquer.
À quoi ça sert concrètement ?
L'intérêt de l'outil se manifeste surtout face aux solutions de protection logicielle les plus répandues. D'après le projet, VMwareHardenedLoader permet de déjouer les mécanismes anti-VM intégrés dans des protecteurs comme VMProtect 3.2, Safengine ou encore Themida. Ce sont des noms bien connus dans le monde du packing et de l'obfuscation, et ils intègrent tous des routines qui refusent de s'exécuter dans un environnement virtualisé.
Un allié pour l'analyse et la recherche
Pour un analyste en sécurité, l'avantage est évident. Étudier un binaire protégé ou un malware récalcitrant devient nettement plus simple lorsque celui-ci accepte enfin de s'exécuter normalement dans votre laboratoire. Vous conservez tous les bénéfices de la machine virtuelle : instantanés, isolation, restauration rapide en cas de contamination, tout en supprimant l'obstacle qui vous empêchait d'observer le comportement réel du programme.
Un outil pédagogique sur les techniques d'évasion
Au-delà de son usage pratique, VMwareHardenedLoader est aussi une excellente illustration de la façon dont fonctionnent les techniques de détection de VM et, à l'inverse, les techniques d'évasion. Comprendre où et comment un logiciel va chercher à identifier un hyperviseur, c'est déjà se donner les moyens de mieux concevoir ses propres environnements d'analyse. Le projet met le doigt sur des zones bien précises : tables firmware, adresses MAC, identifiants de disques, comportement du CPU face à certaines instructions.
Comment on le met en œuvre ?
Soyons clairs : VMwareHardenedLoader n'est pas un utilitaire grand public que l'on installe en deux clics. C'est un outil destiné à un public averti, et sa mise en place demande un peu de méthode. Elle se déroule en trois grandes étapes.
1. Préparer le fichier .vmx
La première étape consiste à modifier le fichier de configuration .vmx de votre machine virtuelle. Il faut y ajouter une série de paramètres, une vingtaine environ, destinés à désactiver certains comportements de l'hyperviseur qui pourraient trahir la virtualisation. On y trouve par exemple des lignes de ce genre :
hypervisor.cpuid.v0 = "FALSE"
monitor_control.disable_directexec = "TRUE"
Pour les configurations à base de disques SCSI, le projet recommande même de renseigner de faux identifiants de fabricant et de produit, histoire de ne pas laisser un contrôleur de disque un peu trop bavard révéler la supercherie.
2. Changer l'adresse MAC
Deuxième point d'attention : la carte réseau. VMware attribue par défaut des adresses MAC appartenant à des plages bien identifiées (00:05:69, 00:0C:29, 00:1C:14 et 00:50:56). Un logiciel malveillant un peu curieux n'a qu'à lire les premiers octets de votre adresse MAC pour deviner qu'il tourne dans une VM VMware. Il faut donc remplacer cette adresse par une valeur ne correspondant à aucune de ces plages, soit via l'interface graphique, soit directement dans le fichier .vmx.
3. Installer le driver
Enfin, une fois dans la machine virtuelle, il ne reste plus qu'à lancer le script install.bat avec les privilèges administrateur pour charger le driver. Notez que le chargement d'un driver non signé nécessite d'activer le mode « test-signing » de Windows. Côté systèmes supportés, l'outil vise les invités Windows Vista à Windows 10, uniquement en 64 bits. Les versions 32 bits ne sont pas prises en charge.
Un avertissement à ne surtout pas ignorer
Il y a un piège que le projet souligne en toutes lettres, et il mérite qu'on s'y arrête : n'installez pas les VMware Tools. Les auteurs sont catégoriques sur ce point, car les VMware Tools réintroduisent quantité de signatures et ruineraient tout le travail de dissimulation du loader. Vous perdrez donc au passage le confort qu'apportent ces outils, comme le presse-papiers partagé ou le glisser-déposer entre l'hôte et l'invité.
La parade suggérée est de piloter la machine virtuelle par une solution d'accès distant classique, du type TeamViewer, AnyDesk ou VNC. Vous conservez ainsi un poste de travail confortable sans réinjecter les traces que vous venez justement d'effacer.
Faut-il l'adopter ?
VMwareHardenedLoader est un projet ciblé, sous licence MIT, qui répond à un besoin très concret des professionnels de la sécurité et des chercheurs. Si votre quotidien tourne autour de l'analyse de malwares, du reverse engineering de binaires protégés ou de l'étude des techniques d'évasion, il constitue une brique intéressante à ajouter à votre boîte à outils. Il vous fera gagner un temps précieux face aux échantillons qui refusent de coopérer.
Gardez toutefois à l'esprit qu'il s'agit d'un outil technique, qui exige une compréhension solide de la virtualisation et de la configuration bas niveau de Windows. Manipulé dans un laboratoire d'analyse correctement isolé, il rendra de fiers services. Comme toujours dans notre métier, la maîtrise de l'environnement reste la première des précautions.
Quelques suggestions sur le sujet de la virtualisation
Vous avez aimé cet article ? Voici quelques suggestions qui devraient vous plaire :
- Virtualisation et Cloud, les nouveaux enjeux sécuritaires
- Les différentes techniques de détection de la virtualisation
- live CD de hacking : utiliser Ventoy sur clé USB3 avec VirtualBox
Tags
Inscription à notre lettre d'information
Inscrivez-vous à notre lettre d'information pour vous tenir au courant de nos actualités et de nos dernières trouvailles.
© 2000-2026 - Tous droits réservés SecuriteInfo.com