Bug Hunting in Hypervisors
Instructeurs: Corentin Bayet & Bruno Pujos
Dates: 15 au 18 juin 2026
Lieu: Hilton DoubleTree Montreal
Capacité: 15
Les hyperviseurs sont des logiciels complexes qui jouent un rôle critique dans l'infrastructure moderne, mais comme tout logiciel, ils ne sont pas immunisés contre les failles qui peuvent être exploitées par des attaquants sophistiqués. Cette formation plonge dans les profondeurs techniques des technologies de virtualisation et explore les failles menant aux évasions de machines virtuelles (VM). Durant cette formation, vous pourrez affûter vos compétences sur plusieurs plateformes, de l'analyse initiale d'une cible à l'exploitation de vulnérabilités du monde réel.
Le cours explore les surfaces d'attaque que les hyperviseurs exposent à leurs invités, tant statiquement que dynamiquement. En décomposant comment les machines virtuelles communiquent avec les hyperviseurs et leurs composants internes, les participants apprennent à appliquer leurs compétences existantes en recherche de vulnérabilités et exploitation à tout logiciel de virtualisation. La formation fournit également des insights détaillés pour chaque cible étudiée, incluant leurs architectures, vulnérabilités typiques et conseils pour une chasse aux bugs efficace.
Ce cours est idéal pour les chercheurs en sécurité et analystes de vulnérabilités qui sont déjà familiers avec la programmation système de bas niveau et les techniques d'exploitation courantes mais nouveaux aux internes des hyperviseurs. À la fin de la formation, les participants ont une base solide dans les surfaces d'attaque de virtualisation et la recherche de vulnérabilités ainsi que la capacité de créer des exploits de preuve de concept ciblant les hyperviseurs.
Le cours est conçu pour être donné en 4 jours de 7 heures.
Sujets couverts
- Comprendre les internes, composants et architectures des hyperviseurs
- Outils et techniques pour effectuer efficacement la chasse aux bugs sur les logiciels de virtualisation
- Méthodologie pour naviguer dans les bases de code des hyperviseurs, tant open source que closed source
- Analyser et pratiquer avec des vulnérabilités du monde réel dans QEMU/KVM, VirtualBox, VMware Workstation et ESXi
Sujets abordés
1. Bases des hyperviseurs
Les principaux concepts fondamentaux des hyperviseurs et leur rôle dans la virtualisation seront introduits:
- La définition et le but d'un hyperviseur
- Architecture et composants de base
- Virtualisation assistée par matériel x86
- VT-x/AMD-V
- EPT/SLAT
- La nécessité de l'émulation de périphériques et de la para-virtualisation pour fournir du matériel à l'invité
2. Interagir avec l'hyperviseur
Les étudiants apprendront comment les machines virtuelles communiquent avec les hyperviseurs et comment répliquer ces interactions pour la chasse aux bugs:
- Mécanismes pour déclencher des interactions invité-hôte via MMIO, PMIO et DMA
- Utilisation des interfaces PCI/PCIe pour communiquer avec des périphériques émulés ou para-virtualisés spécifiques
- Outils et techniques pour scripter les communications invité-hyperviseur
3. Naviguer et comprendre la base de code
Les participants apprennent à naviguer efficacement dans les bases de code d'hyperviseurs tant open-source que propriétaires:
- Exploration des dispositions architecturales de QEMU/KVM, VirtualBox, VMware Workstation et ESXi
- Techniques pour identifier les zones d'intérêt, telles que les fonctions de mappage mémoire, l'initialisation de périphériques et les gestionnaires
- Exploitation des outils et méthodes de rétro-ingénierie pour analyser du code complexe et closed-source
- Révision des stratégies pour localiser la documentation et les ressources pour aider à symboliser le code closed-source et comprendre les internes
4. Chasse aux bugs
Les formateurs décriront une approche structurée pour identifier et exploiter les vulnérabilités dans les hyperviseurs:
- Identification des surfaces d'attaque courantes
- Reconnaissance des types de bugs spécifiques à la virtualisation
- Outils et stratégies pour déboguer les hyperviseurs
- Exploration des défis de fuzzing et solutions possibles
- Redécouverte et exploitation de vulnérabilités n-day comme formation pratique pour la chasse aux bugs du monde réel
Exercices
Les exercices sont divisés en plusieurs étapes et intégrés tout au long de chaque jour de formation. Chaque jour se concentre sur un hyperviseur différent pour démontrer les concepts couverts. Pour chaque cible, les étudiants auront l'opportunité d'analyser et d'exploiter au moins une vulnérabilité n-day du monde réel qui a impacté l'hyperviseur.
Explorer l'émulation de périphériques sur QEMU/KVM
Dans cet exercice, les participants explorent les détails de l'émulation de périphériques de QEMU pour découvrir des vulnérabilités potentielles. Tout au long de la journée, les participants explorent les modèles de communication courants et les interactions de périphériques, et développent les compétences nécessaires pour identifier leurs premières vulnérabilités dans un périphérique émulé conçu. Dans l'étape finale, les étudiants identifieront et déclencheront une vulnérabilité du monde réel qui a affecté une version précédente de QEMU.
Navigation du code VirtualBox et développement d'exploit
Cet exercice introduit VirtualBox comme cible pour l'exploitation. Les participants explorent les aspects de la gestion I/O et de l'émulation de périphériques de VirtualBox pour identifier les vulnérabilités. En appliquant les méthodologies apprises, ils analyseront les opérations de mappage mémoire, localiseront les bugs potentiels et développeront un exploit de preuve de concept pour une vulnérabilité sélectionnée.
Rétro-ingénierie et chasse aux bugs dans VMware
Les participants font de la rétro-ingénierie sur les composants des hyperviseurs closed-source de VMware, mappant les fonctions critiques liées à la gestion de mémoire et au traitement I/O. La dernière partie rassemble toutes les compétences développées pendant la formation. Les participants analysent à la fois VMware ESXi et Workstation pour identifier les vulnérabilités n-day et tentent de développer des exploits de preuve de concept.
Exigences
Matériel/Logiciel:
- Un ordinateur capable d'exécuter VMware Workstation Pro (gratuit et téléchargeable depuis le site web Broadcom)
- Virtualisation imbriquée avec plusieurs hyperviseurs différents (fonctionne uniquement sur VMWare Workstation)
- Le processeur doit être un Intel ou AMD x86 supportant VT-X ou AMD-V (les iMac basés sur des puces ARM ne fonctionneront pas)
- Hôte Linux préféré. Si l'hôte est Windows, Hyper-V doit être désactivé pendant la formation
- L'étudiant doit avoir des privilèges administrateur sur l'ordinateur
- HexRays IDA avec décompilateur x64 (la version gratuite IDA Free suffit; IDA Pro avec décompilateur ARM et capacités de scripting est préféré)
- Votre éditeur de code favori
Prérequis:
- Compétences de programmation de base en C et Python
- Familiarité avec le comportement informatique de bas niveau (exécution Userland vs Kernel, architecture de processeur x86 de base)
- Connaissance des concepts et techniques de rétro-ingénierie
- Compréhension et expérience des vulnérabilités C courantes et techniques d'exploitation (débordements de tampon, use-after-free, conditions de course, variables non initialisées, ROP, heap massaging, contournement ASLR)
Formateurs
Corentin Bayet est le CTO de REverse Tactics et un chercheur en sécurité chevronné avec plus de 7 années d'expérience en recherche de vulnérabilités et exploitation. Son expertise réside dans les technologies de bas niveau, incluant les systèmes d'exploitation, noyaux et hyperviseurs. Corentin a démontré publiquement plusieurs évasions de VM lors d'événements de haut profil comme Pwn2Own (2020, 2024), mettant en valeur ses compétences avancées en sécurité des hyperviseurs. Il a également donné des conférences marquantes sur la chasse aux bugs dans la virtualisation lors de conférences renommées telles que EkoParty 2020, GreHack 2023 et GreHack 2024.
Bruno Pujos est le PDG et fondateur de REverse Tactics, apportant plus de 10 années d'expérience en tant que chercheur en sécurité spécialisé dans les systèmes de bas niveau et les technologies de virtualisation. Il a démontré publiquement son expertise en réalisant plusieurs évasions de VM et escalades de privilèges sur Windows lors de Pwn2Own (2020, 2022, 2024). Bruno est également un formateur expérimenté, ayant dispensé des cours avancés sur la rétro-ingénierie et la chasse aux bugs, incluant des sessions axées sur la rétro-ingénierie de micrologiciel et UEFI BIOS.
Contact des formateurs: info recon cx
Pour s'inscrire
Cliquez ici pour vous inscrire.
