COM Hijacking
hackingDéfinition
Le COM Hijacking (détournement de Component Object Model) exploite le mécanisme de résolution des objets COM de Windows pour faire exécuter du code malveillant à la place d'un composant COM légitime. Windows recherche les entrées COM dans un ordre prédéfini, permettant à un attaquant d'enregistrer une entrée COM malveillante dans un emplacement prioritaire sans droits d'administrateur. Windows résout les COM IDs (CLSIDs) en cherchant dans l'ordre : HKCU\Software\Classes\CLSID (registre utilisateur, sans droits admin) puis HKLM\Software\Classes\CLSID (registre système, nécessite admin). Si un CLSID est uniquement enregistré dans HKLM, un attaquant peut créer une entrée dans HKCU avec le même CLSID pointant vers un exécutable malveillant. Les applications qui instancient cet objet COM chargeront alors la version malveillante. L'identification des COM hijacking opportunities utilise Process Monitor (filtre sur HKCU CLSID pour les résultats 'NAME NOT FOUND') pour trouver les CLSIDs recherchés dans HKCU par des applications légitimes mais non enregistrés. Ces CLSIDs sont des candidats parfaits au hijacking. Le COM Hijacking est apprécié pour la persistance car : il ne nécessite pas de droits d'administrateur (si ciblant HKCU), il est déclenché automatiquement par des applications légitimes qui instancient l'objet COM, il est difficile à détecter car le CLSID malveillant coexiste avec d'autres entrées HKCU légitimes, et les clés de registre HKCU sont rarement auditées avec autant d'attention que les Run Keys. Des applications qui instancient fréquemment des objets COM (explorer.exe, Office, Task Scheduler, etc.) offrent de nombreuses opportunités de COM hijacking. Des outils comme COMHijackToolkit automatisent la recherche d'opportunités sur un système cible.
Fonctionnement
L'attaque crée une entrée dans HKCU\Software\Classes\CLSID\{GUID_CIBLE}\InProcServer32 pointant vers une DLL malveillante, ou dans LocalServer32 pour un exécutable. Quand l'application légitime tente d'instancier l'objet COM via CoCreateInstance, Windows trouve l'entrée HKCU en priorité et charge la DLL malveillante. Cette DLL peut exporter les fonctions COM attendues (proxy forwarding) tout en exécutant du code malveillant.
Exploitation offensive
Task Scheduler, Windows Explorer et de nombreuses applications système instancient régulièrement des objets COM, offrant des déclencheurs de persistance fiables. Des CLSIDs spécifiques associés à des applications exécutées périodiquement (Task Scheduler, backup agents) permettent une exécution régulière sans entrée Run Keys ou service visible.
Détection et mitigation
La surveillance de la création d'entrées CLSID dans HKCU (audit registre avec EventID 4657) et les EDR qui surveillent le chargement de DLLs depuis des emplacements inhabituels peuvent détecter cette technique. Autoruns avec l'option de filtrage des entrées HKCU-only identifie les entrées COM suspectes. La restriction des accès en écriture sur le registre HKCU est difficile car elle casserait des applications légitimes.
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés. 2.1.7
Un projet cybersécurité ?
Expert dispo · Réponse 24h