Analyse d'Artefact : Windows Management Instrumentation (WMI)
1. Aperçu architectural de WMI
Section intitulée « 1. Aperçu architectural de WMI »Afin de chasser les abus de WMI, les analystes doivent comprendre son architecture sous-jacente. WMI n’est pas un exécutable unique ; c’est un framework complexe.
- Le référentiel WMI (WMI Repository) : une base de données centrale (
C:\Windows\System32\wbem\Repository) stockant les définitions de tous les objets système gérables. - Les fournisseurs WMI (WMI Providers) : des bibliothèques de liens dynamiques (DLL) qui agissent comme intermédiaires entre le service WMI et les composants réels de l’OS (ex: un fournisseur pour les processus, un pour le registre, un pour les journaux d’événements).
- Les consommateurs WMI (WMI Consumers) : les interfaces ou scripts qui interrogent les fournisseurs. Historiquement, l’outil en ligne de commande
wmic.exeétait massivement utilisé. Cependant, Microsoft dépréciant progressivementwmicdans les versions modernes de Windows, les attaquants ont basculé presque entièrement vers les cmdlets PowerShell (Get-WmiObject,Invoke-WmiMethod, et les nouvelles cmdlets CIM commeGet-CimInstance).
2. Utilisation malveillante de WMI (TTPs)
Section intitulée « 2. Utilisation malveillante de WMI (TTPs) »Les adversaires exploitent les capacités administratives légitimes de WMI à travers trois phases distinctes de la chaîne d’attaque (kill chain).
A. Reconnaissance (Découverte)
Section intitulée « A. Reconnaissance (Découverte) »WMI permet à un attaquant de cartographier un système ou un réseau sans déposer d’outils de scan personnalisés sur le disque.
wmic product get name,version(énumère les logiciels/antivirus installés).wmic process list brief(liste les processus en cours d’exécution).wmic qfe get hotfixid(identifie les correctifs de sécurité installés pour trouver des CVE manquantes).
B. Mouvement latéral (Exécution)
Section intitulée « B. Mouvement latéral (Exécution) »WMI est l’alternative la plus furtive à PsExec et au mouvement latéral basé sur SMB. Si un attaquant possède des identifiants d’administrateur local pour une machine cible, il peut utiliser WMI pour y générer un processus à distance.
- L’attaque :
wmic /node:"PC-CIBLE" process call create "cmd.exe /c powershell.exe -enc <payload>" - Implication Forensique : contrairement à PsExec, qui dépose un service très visible (
PSEXESVC), l’exécution à distance WMI s’appuie sur le processus hôte natif du fournisseur WMI (WmiPrvSE.exe).
C. Persistance sans fichier (Souscriptions d’événements)
Section intitulée « C. Persistance sans fichier (Souscriptions d’événements) »C’est la capacité la plus dangereuse de WMI. Les attaquants peuvent configurer WMI pour agir comme un déclencheur autonome de code malveillant, créant une persistance qui survit aux redémarrages sans toucher aux clés de registre Run classiques ou aux dossiers de démarrage.
Cette technique nécessite la création du Trio WMI :
- Filtre d’événement (Event Filter) : la condition de déclenchement (ex: “attendre que la durée de fonctionnement du système soit de 5 minutes” ou “attendre que l’utilisateur Admin se connecte”).
- Consommateur d’événement (Event Consumer) : l’action à entreprendre lorsque le filtre se déclenche. Les attaquants utilisent typiquement le
CommandLineEventConsumer(pour exécuter un script) ou l’ActiveScriptEventConsumer(pour exécuter du VBScript/JScript entièrement en mémoire). - Liaison (FilterToConsumerBinding) : le lien logique connectant le déclencheur (Filtre) à l’action (Consommateur).
3. Investigation DFIR et télémétrie
Section intitulée « 3. Investigation DFIR et télémétrie »Puisque WMI est un composant système de confiance, distinguer l’activité informatique administrative de l’exploitation malveillante nécessite une analyse comportementale granulaire.
A. Anomalies de la filiation des processus (Événement 4688)
Section intitulée « A. Anomalies de la filiation des processus (Événement 4688) »Lorsqu’un attaquant utilise WMI pour un mouvement latéral ou l’exécution d’une persistance, la charge utile est générée par le WMI Provider Host.
- Filiation suspecte :
WmiPrvSE.exe→cmd.exeoupowershell.exe. - Les outils de gestion informatique légitimes (comme SCCM) pouvant produire une filiation similaire, les analystes doivent scruter les arguments de la
CommandLineà la recherche d’offuscation ou de requêtes réseau anormales (callbacks).
B. Télémétrie Sysmon (La défense ultime)
Section intitulée « B. Télémétrie Sysmon (La défense ultime) »Microsoft a explicitement conçu les événements Sysmon 19, 20 et 21 pour combattre la persistance WMI sans fichier. Dans un environnement de poste de travail standard, la création de consommateurs d’événements WMI personnalisés est excessivement rare.
- Événement 19 :
WmiEventFilter activity detected(Filtre détecté) - Événement 20 :
WmiEventConsumer activity detected(Consommateur détecté) - Événement 21 :
WmiEventConsumerToFilter activity detected(La liaison)
C. Journaux natifs WMI-Activity
Section intitulée « C. Journaux natifs WMI-Activity »Si Sysmon n’est pas déployé, les analystes doivent s’appuyer sur le journal d’événements natif WMI-Activity/Operational, qui doit être explicitement activé et transféré via GPO.
- Événement 5861 : consigne la création d’une liaison WMI. C’est l’équivalent natif le plus proche de l’ID 21 de Sysmon et un indicateur critique de l’établissement d’une persistance.
4. Requêtes de Threat Hunting
Section intitulée « 4. Requêtes de Threat Hunting »// Détecte les processus enfants anormaux générés par le WMI Provider Host// indiquant une potentielle exécution à distance ou le déclenchement d'une persistance.DeviceProcessEvents| where InitiatingProcessFileName =~ "wmiprvse.exe"// Cibler les shells de commande et les moteurs de script| where FileName in~ ("cmd.exe", "powershell.exe", "pwsh.exe", "wscript.exe", "cscript.exe")// Filtrer le bruit des outils de gestion IT connus (à personnaliser selon votre environnement)| where ProcessCommandLine !contains "ccmsetup"| project TimeGenerated, DeviceName, InitiatingProcessAccountName, InitiatingProcessFileName, FileName, ProcessCommandLine| sort by TimeGenerated desctitle: Persistance sans fichier WMI (Sysmon 21)id: 1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6dstatus: stabledescription: Détecte la création d'une liaison WmiEventConsumerToFilter, l'étape finale dans l'établissement d'une persistance sans fichier basée sur WMI.logsource: product: windows category: wmi_eventdetection: selection: # Événement Sysmon 21 EventID: 21 # Se concentrer sur les types de consommateurs malveillants courants Destination|contains: - 'CommandLineEventConsumer' - 'ActiveScriptEventConsumer' condition: selectionlevel: criticaltags: - attack.persistence - attack.privilege_escalation - attack.t1546.003Références et lectures complémentaires
Section intitulée « Références et lectures complémentaires »- MITRE ATT&CK : Event Triggered Execution: WMI Event Subscription (T1546.003)
- FireEye / Mandiant : WMI vs. WMI: Monitoring for Malicious Activity
- Playbook lié : Chasse à la persistance (Threat Hunting)
- Artefact lié : Événement 4688 (Création de processus)
- Artefact lié : Télémétrie Sysmon