ESXi est l'hyperviseur de type 1 de VMware : le vmkernel s'exécute sur le matériel, et chaque machine virtuelle est soutenue par un processus vmx en espace utilisateur qui émule ses périphériques. Offensivement, il est attaqué dans deux directions. Depuis l'intérieur d'un invité, la cible est l'émulation de périphériques de vmx, une évasion de sûreté mémoire vers l'hôte. Depuis l'hôte ou le réseau de gestion, les cibles sont les datastores qui contiennent les disques de chaque VM et les services de gestion qui donnent un shell hôte. ESXi est une cible à forte valeur car un seul hôte exécute de nombreuses VM, donc la compromission de l'hôte les expose toutes.
# from a guest: emulated device inventory (escape surface)
lspci -nn; lsusb
# from the network: ESXi management surface
nmap -p 22,443,427,902 <esxi-host> # SSH, host UI/API, CIM/SLP, vmx authd
curl -sk https://<esxi-host>/ # host client / API reachable
Sous-sujets#
- Évasion guest-to-host : sortir d'une VM via les périphériques émulés.
- Vol de datastore et de VMDK : voler les disques virtuels et leurs données.
- Accès à l'hôte et shell : obtenir l'exécution sur l'hôte ESXi.
- Exploits d'évasion connus : les évasions récurrentes de modèles de périphériques.