Un invité Hyper-V est isolé par l'hyperviseur, il ne peut donc pas toucher l'hôte directement ; il atteint les fonctionnalités de l'hôte via VMBus, par lequel les périphériques synthétiques dialoguent avec les Virtualization Service Providers (VSP) dans la partition racine, et via le processus worker (vmwp.exe) qui gère les périphériques émulés et le commutateur virtuel. S'évader signifie faire manipuler incorrectement par l'un de ces composants de la partition racine des données contrôlées par l'invité : un paquet VMBus, une requête de périphérique synthétique ou un accès à un périphérique émulé. L'exécution de code atterrit dans la partition racine ou le processus worker, ce qui équivaut au contrôle de l'hôte car la partition racine administre tous les invités.
# the VMBus devices and channels visible from the guest
Get-PnpDevice | Where-Object InstanceId -like 'VMBUS*'
# synthetic storage/net/video/HID are the high-level targets; the transport is VMBus
Sous-thèmes#
- VMBus : le transport de canal par ring-buffer entre l'invité et la partition racine.
- Périphériques synthétiques : les périphériques de stockage, réseau, vidéo et HID adossés aux VSP.
- Commutateur virtuel : le datapath réseau dans la partition racine.