WMI Subscription
hackingDéfinition
Les abonnements aux événements WMI (Windows Management Instrumentation Event Subscription) constituent un mécanisme de persistance avancé et difficile à détecter sur Windows. WMI est l'infrastructure de gestion des systèmes Windows qui permet de surveiller et de répondre à des événements système. Les attaquants exploitent cette fonctionnalité légitime pour créer des déclencheurs d'exécution de code persistant. Un abonnement WMI se compose de trois éléments : un Event Filter (définit l'événement déclencheur : démarrage du système, connexion d'un utilisateur, exécution d'un processus spécifique, événement temporel), un Event Consumer (définit l'action à effectuer lors du déclenchement : exécution d'un script ou d'un exécutable, ou manipulation de logs via LogFileEventConsumer), et un FilterToConsumerBinding (lie le filter au consumer). L'avantage principal des abonnements WMI pour la persistance est leur invisibilité : ils ne créent pas d'entrées dans les Run Keys, ne créent pas de services, ne modifient pas les tâches planifiées visibles, et sont stockés dans les dépôts WMI (fichiers .mof dans C:\Windows\System32\wbem\) qui ne sont généralement pas surveillés par les outils d'analyse traditionnels. La création d'un abonnement WMI malveillant via PowerShell nécessite environ 10 lignes de code et des droits d'administrateur. Metasploit, Empire, et de nombreux frameworks d'attaque incluent des modules pour déployer des abonnements WMI persistants. Certains APT comme APT29 (Cozy Bear) ont utilisé cette technique pour maintenir un accès très discret pendant des mois. La détection des abonnements WMI malveillants est complexe mais possible : les enregistrements de création d'abonnements apparaissent dans les logs WMI Activity Operational (Microsoft-Windows-WMI-Activity/Operational), et des outils comme WMI_Forensics, Autoruns (avec l'onglet WMI), et les plateformes EDR modernes surveillent ce vecteur.
Fonctionnement
Un EventFilter définit la condition déclenchante (ex: SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA 'Win32_PerfFormattedData_PerfOS_System' pour un déclenchement toutes les 60 secondes). Un ActiveScriptEventConsumer ou CommandLineEventConsumer définit l'action (exécution d'un script VBScript/JScript ou d'une commande). Le FilterToConsumerBinding lie les deux. Ces objets persistent dans le namespace WMI root\subscription.
Exploitation offensive
La discrétion des abonnements WMI est leur principal atout : ils ne sont pas visibles dans Autoruns avec les paramètres par défaut, ne créent pas d'entrées dans le registre Run Keys, et survivent aux redémarrages. Les abonnements avec des conditions fréquentes (toutes les N secondes) permettent un accès régulier similaire à un cron job Windows complètement invisible aux outils standards.
Détection et mitigation
La surveillance des logs WMI-Activity/Operational (Event ID 5857, 5858, 5859, 5860, 5861) permet de détecter la création d'abonnements. Les EDR modernes, notamment Microsoft Defender for Endpoint, surveillent les opérations WMI suspectes. Des outils de forensique comme wmi-forensics.py extraient et analysent les abonnements WMI existants pour identifier les entrées malveillantes.
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.
Un projet cybersécurité ?
Expert dispo · Réponse 24h