Skip to content

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.

Veröffentlicht am 3 Min. Lesezeit

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

ObjektErwarteter Inhalt
__EventFilter SCM Event Log FilterQuery = select * from MSFT_SCMEventLogEvent, QueryLanguage = WQL, EventNamespace = root\cimv2
NTEventLogEventConsumer SCM Event Log ConsumerSourceName = 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

ObjektErwarteter Inhalt
__EventFilter BVTFilterSELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA "Win32_Processor" AND TargetInstance.LoadPercentage > 99
CommandLineEventConsumer BVTConsumerCommandLineTemplate = 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 nicht cscript KernCap.vbs lautet, ein anderes Arbeitsverzeichnis, ein SCM Event Log Consumer, der ein CommandLineEventConsumer ist, oder ein Filter mit anderer Abfrage. WMI Parser markiert dies als Standardname, anderer Inhalt.
  • Eine vorhandene KernCap.vbs. Liegt C:\tools\kernrate\KernCap.vbs auf 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.

Verwandte Artikel

Verwandte Artikel

Schritt-für-Schritt-Checkliste zu WMI-Persistenz: Live-Abfragen, Repository, Ereignis-IDs 5860 und 5861, Sysmon 19–21, Ausführungsspuren und Bereinigung.
Warum gelöschte WMI-Filter, Consumer und Bindings in OBJECTS.DATA überleben, Index vs. Carving und python-cim vs. PyWMIPersistenceFinder.
So funktioniert WMI-Persistenz über Event Subscriptions: __EventFilter, Event Consumer und __FilterToConsumerBinding, ihr Speicherort und wie Sie sie finden.