Sur Workstation et Fusion, chaque VM est émulée par un processus vmware-vmx dans la session de l'utilisateur hôte, de sorte qu'une évasion guest-to-host est le même problème de corruption mémoire que sur ESXi, avec le gain atterrissant sur l'hôte de bureau. Les surfaces accessibles sont identiques car le code est partagé : le périphérique SVGA II et son flux de commandes 3D, les contrôleurs USB émulés, les NIC virtuelles, et les canaux de contrôle backdoor GuestRPC et VMCI. Une faille de sûreté mémoire dans l'un d'eux donne l'exécution de code dans vmware-vmx, qui s'exécute avec les privilèges de celui qui a démarré la VM.
# the escape surface, enumerated from inside the guest (same as ESXi)
lspci -nn | grep -iE 'svga|vmxnet|usb|vmci'
lsusb; dmesg | grep -iE 'vmwgfx|vmxnet|vmw_vmci'
Les mécanismes par périphérique sont documentés sous les pages guest-to-host d'ESXi, puisque les modèles de périphériques sont partagés :
- Analyse du flux de commandes SVGA 3D, voir SVGA et graphismes 3D.
- Gestion des descripteurs et des anneaux des contrôleurs USB, voir Contrôleurs USB.
- Gestion des anneaux et des descripteurs des NIC virtuelles, voir NIC virtuelles.
- Les canaux backdoor GuestRPC et VMCI, voir Backdoor et VMCI.
Ce qui diffère d'ESXi#
# the host is a desktop OS, so post-escape you are in the user's session:
# - Windows: vmware-vmx.exe runs as the logged-in user (or elevated if the VM was)
# - macOS/Linux: vmware-vmx runs as the user; Fusion uses a helper for some ops
# privilege after escape = the VM-launching user's, then local privesc on the host
Notes d'exploitation#
- Les classes de bugs des modèles de périphériques sont partagées avec ESXi, donc les mécanismes et l'énumération sont identiques ; la différence est l'environnement d'atterrissage, une session utilisateur de bureau plutôt que l'hôte vmkernel.
- Le privilège post-évasion égale celui de l'utilisateur exécutant la VM ; une élévation de privilèges locale supplémentaire sur l'OS de bureau est souvent nécessaire pour le contrôle complet de l'hôte, contrairement à ESXi où
vmxest déjà fortement privilégié. - Les fonctionnalités d'intégration (dossiers partagés, glisser-déposer) sont plus couramment activées sur les produits de bureau que sur les serveurs, rendant la surface GuestRPC/HGFS particulièrement pertinente ici ; voir Abus des dossiers partagés et du glisser-déposer.