Qu'est-ce que VmwareHardenedLoader ?
VmwareHardenedLoader est un chargeur permettant l'atténuation de la
détection de machine virtuelle en renforçant et customisant VMware.
Pour l'instant, seuls les machines virtuelles invitées sous Windows (Vista jusqu'à Win10) et sous architecture x64 sont pris en charge.
Cela donne un invité Vmware non détecté par VMProtect 3.2, Safengine et Themida (fonctionnalité anti-vm).
Qu'est-ce que ça fait ?
Le pilote VmLoader corrige SystemFirmwareTable à l'exécution, et il supprime toutes les signatures détectables comme "VMware", "Virtual" ou "VMWARE".
Compilation
Visual Studio 2015 / 2017 et
Windows Driver Kit 10 sont requis.
Ouvrir VmLoader.sln avec Visual Studio 2015 / 2017
Compiler VmLoader comme Release x64. (pas de support pour l'architecture x86 pour le moment)
N'oubliez pas de tester-signer "bin/vmloader.sys" si vous voulez le charger en mode test-sign.
Installation
Attention
N'installer pas vmtools, cela ruinerait tout !
Utiliser TeamViewer / AnyDesk / mstsc / VNC viewer à la place !
Permière étape : Ajouter les configurations suivantes dans le .vmx
hypervisor.cpuid.v0 = "FALSE"
board-id.reflectHost = "TRUE"
hw.model.reflectHost = "TRUE"
serialNumber.reflectHost = "TRUE"
smbios.reflectHost = "TRUE"
SMBIOS.noOEMStrings = "TRUE"
isolation.tools.getPtrLocation.disable = "TRUE"
isolation.tools.setPtrLocation.disable = "TRUE"
isolation.tools.setVersion.disable = "TRUE"
isolation.tools.getVersion.disable = "TRUE"
monitor_control.disable_directexec = "TRUE"
monitor_control.disable_chksimd = "TRUE"
monitor_control.disable_ntreloc = "TRUE"
monitor_control.disable_selfmod = "TRUE"
monitor_control.disable_reloc = "TRUE"
monitor_control.disable_btinout = "TRUE"
monitor_control.disable_btmemspace = "TRUE"
monitor_control.disable_btpriv = "TRUE"
monitor_control.disable_btseg = "TRUE"
monitor_control.restrict_backdoor = "TRUE"
Si vous avez un disque virtuel SCSI à l'emplacement scsi0 (premier emplacement) comme lecteur système, n'oubliez pas d'ajouter
scsi0:0.productID = "Whatever you want"
scsi0:0.vendorID = "Whatever you want"
Exemple :
scsi0:0.productID = "Tencent SSD"
scsi0:0.vendorID = "Tencent"
Deuxième étape: Modifier l'adresse MAC
Modifier l'adresse MAC de l'invité à ce que vous souhaitez sauf ce qui suit:
TCHAR *szMac[][2] = {
{ _T("\x00\x05\x69"), _T("00:05:69") }, // VMWare, Inc.
{ _T("\x00\x0C\x29"), _T("00:0c:29") }, // VMWare, Inc.
{ _T("\x00\x1C\x14"), _T("00:1C:14") }, // VMWare, Inc.
{ _T("\x00\x50\x56"), _T("00:50:56") }, // VMWare, Inc.
};

Vous pouvez ajouter
ethernet0.address = "Some random mac address"
dans le fichier vmx à la place de modifier la l'adresse MAC dans l'interface graphique de Vmware
Exemple :
ethernet0.address = "00:11:56:20:D2:E8"
Troisième étape: Exécuter install.bat dans la machine virtuelle invitée avec les privilèges Administrateur
Si une erreur se déclanche au démarrage du service, utiliser DbgView pour capturer les log de débug du kernel. Vous pouvez poster un rapport de problème avec les logs de DbgView et avec ntoskrnl.exe attaché au rapport.
Si aucune erreur ne se déclanche, c'est que tout fonctionne bien.
Aperçu
Vmware invité win8.1 x64 avec le programme VMProtect 3.2 (option anti-vm activée)
Licence
Ce logiciel est publié sous la licence MIT License, voir le fichier LICENSE.
Quelques procédures utiles proviennent de
https://github.com/tandasat/HyperPlatform
https://github.com/aquynh/capstone est utilisé pour désassembler le code ntoskrnl.
A FAIRE
Les informations de la carte graphique virtuelle vmware peuvent être détectées en interrogeant l'interface DXGI, qui peut être modifiée en modifiant les fichiers de pilote graphique.
Téléchargement
Tags
VIRTUALISATION
MATÉRIEL INFORMATIQUE
WINDOWS
OUTIL D'ADMINISTRATION
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.