SCM Event Log Consumer und BVTConsumer: harmlos oder nicht?
Die zwei WMI-Subscriptions von Windows — SCM Event Log und BVTFilter/BVTConsumer: Inhalt, warum sie harmlos sind und wie Angreifer die Namen missbrauchen.
Kurz gesagt. Zwei WMI Event Subscriptions gehören zu Windows selbst. SCM Event Log (SCM Event Log Filter → NTEventLogEventConsumer SCM Event Log Consumer) leitet Ereignisse des Dienststeuerungs-Managers (Service Control Manager) an das Ereignisprotokoll weiter. BVT (BVTFilter → CommandLineEventConsumer BVTConsumer, cscript KernCap.vbs) ist ein Überbleibsel aus der Build-Verifizierung auf Images der Windows-7-Ära. Beide sind harmlos, wenn ihr Inhalt übereinstimmt. Prüfen Sie den Inhalt, nicht nur den Namen.
Warum das wichtig ist
Jede Prüfung von root\subscription stößt zuerst auf diese beiden, und wer neu in WMI ist, meldet sie womöglich als Persistenz. Der umgekehrte Fehler wiegt schwerer: Ein Angreifer, der einen vertrauenswürdigen Namen wiederverwendet — oder den Standard-Consumer bearbeitet —, rutscht durch eine Allowlist, die nur Namen prüft. PyWMIPersistenceFinder hat beide Bindings bereits als „häufig, möglicherweise legitim“ gekennzeichnet; WMI Parser geht einen Schritt weiter und vergleicht jede Eigenschaft mit dem, was Windows installiert.
SCM Event Log
| Objekt | Erwarteter Inhalt |
|---|---|
__EventFilter SCM Event Log Filter | Query = select * from MSFT_SCMEventLogEvent, QueryLanguage = WQL, EventNamespace = root\cimv2 |
NTEventLogEventConsumer SCM Event Log Consumer | SourceName = Service Control Manager, NameOfUserSIDProperty = sid |
__FilterToConsumerBinding | __EventFilter.Name="SCM Event Log Filter" → NTEventLogEventConsumer.Name="SCM Event Log Consumer" |
Diese Subscription existiert ab Windows Vista. Ihre CreatorSID ist meist S-1-5-32-544 (die Gruppe Administratoren), da sie bei der Installation angelegt wird. Der Consumer schreibt einen Eintrag ins Ereignisprotokoll; er führt keinen Code aus.
BVTFilter und BVTConsumer
| Objekt | Erwarteter Inhalt |
|---|---|
__EventFilter BVTFilter | SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA "Win32_Processor" AND TargetInstance.LoadPercentage > 99 |
CommandLineEventConsumer BVTConsumer | CommandLineTemplate = cscript KernCap.vbs, WorkingDirectory = C:\\tools\\kernrate (die doppelten Backslashes sind so gespeichert) |
__FilterToConsumerBinding | __EventFilter.Name="BVTFilter" → CommandLineEventConsumer.Name="BVTConsumer" |
„BVT“ steht für Build Verification Test. Die Subscription würde ein Kernel-Profiling-Skript starten, wenn ein Prozessor über 99 % Last bleibt; C:\tools\kernrate\KernCap.vbs existiert auf einem normalen System nicht, daher passiert nichts. Sie taucht auf Images der Ära Windows 7 / Server 2008 R2 und auf davon aktualisierten Rechnern auf, und ihre CreatorSID ist typischerweise ein lokaler Administrator (RID 500).
Was stutzig machen sollte
- Ein Standardname mit anderem Inhalt: ein
BVTConsumer, dessen Befehl nichtcscript KernCap.vbslautet, ein anderes Arbeitsverzeichnis, einSCM Event Log Consumer, der einCommandLineEventConsumerist, oder ein Filter mit anderer Abfrage. WMI Parser markiert dies als Standardname, anderer Inhalt. - Eine vorhandene
KernCap.vbs. LiegtC:\tools\kernrate\KernCap.vbsauf dem Datenträger, wird die ruhende BVT-Subscription aktiv: Lesen Sie das Skript. - Ein drittes Binding an einen Standard-Filter oder -Consumer. Angreifer können ihren eigenen Consumer an einen vorhandenen Filter binden. Zählen Sie die Bindings, nicht nur die Objekte.
- Standardobjekte mit anderem Inhalt in freigegebenem Speicher. Eine wiederhergestellte ältere Version eines Standardobjekts bedeutet, dass es irgendwann geändert wurde.
Alles andere ist nicht automatisch bösartig
Management-Agenten, Endpoint-Security-Produkte und Herstellertools (Hardware-Monitoring, Konfigurationsmanagement) registrieren ebenfalls Subscriptions. Sie sind „kein Windows-Standard“, nicht „bösartig“. Identifizieren Sie das Produkt anhand der Namen, Befehlszeilen und Pfade und vergleichen Sie mit einem sauberen Rechner desselben Builds.
FAQ
Ist SCM Event Log Consumer bösartig?
Nicht, wenn er dem Windows-Standard entspricht: ein NTEventLogEventConsumer mit SourceName Service Control Manager, gebunden an den SCM Event Log Filter, der MSFT_SCMEventLogEvent in root\cimv2 abfragt.
Was sind BVTConsumer und kernCap.vbs?
BVTFilter und BVTConsumer sind ein Überbleibsel aus der Build-Verifizierung auf Images der Ära Windows 7 und Server 2008 R2. Der Consumer führt cscript KernCap.vbs aus C:\tools\kernrate aus, wenn die CPU-Last über 99 % bleibt; das Skript existiert normalerweise nicht, daher wird nichts ausgeführt.
Sollte ich die Standard-WMI-Subscriptions löschen?
Nicht nötig, wenn sie den Standards entsprechen. Entscheidend ist ein Standardname mit abweichendem Inhalt: eine geänderte Abfrage, eine andere Consumer-Klasse oder eine andere Befehlszeile.