Dans le cycle de vie d'une intrusion ciblée, le maintien de l'accès sans déclencher les alertes d'intégrité du système de fichiers représente le Graal des attaquants. Alors que les sondes EDR conventionnelles surveillent agressivement les clés de registre de démarrage automatique (ASEP comme HKLM\Software\Microsoft\Windows\CurrentVersion\Run) et les tâches planifiées schtasks, la technique MITRE ATT&CK T1546.003 (WMI Event Subscription) offre un vecteur de persistance asynchrone redoutable, totalement découplé de la persistance binaire classique.
Anatomie de l'attaque : Le triptyque WMI sans fichier
L'infrastructure Windows Management Instrumentation (WMI) permet aux administrateurs de superviser des événements système. Les attaquants détournent cette architecture en instanciant trois classes interdépendantes au sein du namespace root\subscription :
- __EventFilter : Une requête WQL (WMI Query Language) qui surveille l'occurrence d'un signal système (ex. temps écoulé depuis le boot via
SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA 'Win32_PerfFormattedData_PerfOS_System' AND TargetInstance.SystemUpTime >= 300, ouverture de session utilisateur ou insertion de périphérique). - __EventConsumer : L'action à déclencher. Les attaquants recourent quasi-systématiquement à
CommandLineEventConsumer(exécution d'une CLI arbitraire comme PowerShell encodé ou MSHTA) ouActiveScriptEventConsumer(exécution de VBScript/JScript en mémoire). - __FilterToConsumerBinding : Le lien relationnel qui active l'association entre le filtre et le consommateur.
Une fois le binding enregistré dans le fichier de base de données OBJECTS.DATA du repository WMI (%SystemRoot%\System32\wbem\Repository), le code malveillant s'exécute sous le contexte privilégié NT AUTHORITY\SYSTEM par le truchement de WmiPrvSE.exe ou svchost.exe, sans qu'aucun fichier exécutable résident ne subsiste sur le disque.
L'angle mort natif des terminaux
Bien que Microsoft Defender for Endpoint intercepte l'instanciation des processus enfants spawned par WMI Provider Host, la simple détection comportementale post-exécution intervient souvent trop tard. La création du binding via PowerShell CIM cmdlets (New-CimInstance), WMI CLI (wmic.exe) ou compilation MOF (mofcomp.exe) est régulièrement noyée au milieu du bruit administratif légitime généré par les outils de télémétrie constructeurs (Dell, Lenovo) ou d'inventaire SCCM.
Détection KQL dans Defender for Endpoint
La règle Advanced Hunting ci-dessous interroge la table DeviceEvents pour isoler les liaisons d'événements WMI et les déclenchements de consommateurs, en parsant le JSON de métadonnées pour extraire la commande cible tout en éliminant les faux positifs d'administration courants :
DeviceEvents
| where ActionType in ("WmiBindEvent", "WmiEventConsumerTriggered")
| extend EvtData = parse_json(AdditionalFields)
| extend ConsumerPath = tostring(EvtData.Consumer),
FilterQuery = tostring(EvtData.Filter),
WmiNamespace = coalesce(tostring(EvtData.Namespace), @"root\subscription")
| extend ConsumerType = case(
ConsumerPath has "CommandLineEventConsumer", "CommandLine",
ConsumerPath has "ActiveScriptEventConsumer", "ActiveScript", "Other")
| extend TargetPayload = extract(@"CommandLineTemplate\s*=\s*""([^"]+)""", 1, ConsumerPath)
| where not(ConsumerPath has_any ("CCMExec", "DellSystemDetect", "Lenovo", "SCX", "BcastDVR"))
| project Timestamp, DeviceId, DeviceName, ConsumerType, TargetPayload,
FilterQuery, ConsumerPath, WmiNamespace, InitiatingProcessAccountName, InitiatingProcessCommandLine
| sort by Timestamp descRemédiation SOAR orchestrée par Akuity SOC
Face à une souscription malveillante, la vitesse de neutralisation est déterminante pour empêcher le rechargement d'un implant Cobalt Strike ou d'un ransomware :
- Corrélation et Désobfuscation IA : L'assistant IA in-app d'Akuity SOC exécute la corrélation KQL en tâche de fond et désobfusque le payload CIM sans exporter la moindre donnée vers des outils web tiers.
- Riposte SOAR chirurgicale en 1-clic : Exécution immédiate des actions d'API Defender
isolateDevice()etquickScanDevice()depuis l'inventaire des éléments de preuve. L'isolation réseau maintient délibérément le canal Live Response ouvert pour permettre l'éradication ciblée du binding WMI sans déconnecter l'analyste. - Gouvernance Zéro Trust : L'élévation de privilèges pour la suppression du namespace WMI est soumise à un challenge MFA AAL2 obligatoire, avec traçabilité immuable de chaque Server Action, certifiée conforme aux exigences NIS 2 et SOC 2 Type II.
Neutralisez les persistances sans fichier et orchestrez vos ripostes Defender for Endpoint en un clic avec la plateforme SOAR souveraine d'Akuity SOC.
Démarrer votre essai gratuit de 14 jours (sans carte bancaire) →Mini-FAQ Technique
Comment supprimer manuellement un consommateur WMI malveillant via Live Response ?
Dans une session Live Response Defender for Endpoint, exécutez les commandes PowerShell CIM suivantes pour éliminer la persistance :Get-CimInstance -Namespace root\subscription -ClassName __FilterToConsumerBinding | Where-Object { $_.Filter.Name -eq 'AttackerFilter' } | Remove-CimInstance, puis supprimez individuellement l'__EventConsumer et l'__EventFilter associés.
Pourquoi le monitoring du registre seul échoue-t-il à voir cette persistance ?
Les souscriptions WMI ne créent aucune clé dans les branches Run, RunOnce ou Services. Toutes les définitions de filtres et de consommateurs sont sérialisées dans la base de données binaire complexe du repository WMI (OBJECTS.DATA), un format propriétaire opaque que les scanners de clés de registre conventionnels ne parsent pas nativement.