Hyper-V est l'hyperviseur de type 1 de Microsoft : un hyperviseur fin s'exécute sous une partition racine privilégiée, et les partitions invitées atteignent les services de l'hôte via VMBus, un transport de canal par ring-buffer. Chaque VM a un processus worker (vmwp.exe) dans la partition racine, et les périphériques synthétiques qu'utilise un invité sont servis par des Virtualization Service Providers (VSP) là. La surface d'évasion guest-to-host est cette gestion de VMBus et des périphériques synthétiques dans la partition racine ; à ses côtés se trouvent le plan de gestion (cmdlets WMI et PowerShell) et les artefacts sur disque, checkpoints et disques virtuels VHD/VHDX, qui contiennent les données des invités.
# from a Windows guest: the synthetic devices and VMBus
Get-PnpDevice | Where-Object { $_.InstanceId -like 'VMBUS*' }
# from the host: VMs, their worker processes, and management
Get-VM; Get-Process vmwp
Sous-thèmes#
- Évasion guest-to-host : breakout VMBus et périphériques synthétiques vers la partition racine.
- Vol de checkpoints et de VHD : voler les disques virtuels et l'état sauvegardé.
- Accès à l'hôte et shell : exécution sur l'hôte Hyper-V.
- Plan de gestion et abus de WMI : la surface de contrôle WMI et PowerShell.
- Exploits d'évasion connus : les bugs récurrents VMBus et VSP.