Skip to content

Glossar

CommandLineEventConsumer

Der Standard-Consumer von WMI, der einen Prozess startet: CommandLineTemplate, ExecutablePath und WorkingDirectory, als SYSTEM beim Auslösen des Filters.

CommandLineEventConsumer ist der Standard-Event-Consumer von WMI, der einen Prozess startet, wenn der Event-Filter auslöst, an den er gebunden ist. Die wichtigen Eigenschaften sind CommandLineTemplate (die vollständige Befehlszeile), ExecutablePath (das Programm, optional, wenn die Vorlage es bereits nennt) und WorkingDirectory; weitere steuern das Fenster, die Prozesspriorität und ein KillTimeout. Der Prozess wird vom WMI-Provider-Host WmiPrvSE.exe gestartet und läuft als SYSTEM. Die Klasse ist in root\subscription definiert und leitet sich von __EventConsumer ab.

Warum das für Untersuchungen wichtig ist

Er ist der Consumer, der bei WMI-Persistenz am häufigsten auftaucht, weil er alles ausführt: eine in einem benutzerbeschreibbaren Ordner abgelegte Binärdatei, einen kodierten PowerShell-Befehl, mshta oder rundll32 mit einer entfernten Nutzlast. Kombiniert mit einem Auslöser beim Systemstart oder bei der Anmeldung verschafft er einem Angreifer nach jedem Neustart Codeausführung als SYSTEM, ohne Run-Schlüssel, Dienst oder geplanten Task.

Nicht jede Instanz ist bösartig. Der Windows-eigene BVTConsumer, der auf Images aus der Zeit von Windows 7 vorkommt, ist ein CommandLineEventConsumer, der cscript KernCap.vbs aus C:\tools\kernrate ausführen würde; das Skript existiert normalerweise nicht, also läuft nichts. Beurteilen Sie jeden Consumer nach seinem Inhalt: dem Befehl, den Pfaden, dem Filter, an den er gebunden ist, und seiner CreatorSID. Auf dem Host sind Prozesse mit WmiPrvSE.exe als Elternprozess der passende Ausführungsnachweis.

Beispiel

Der Consumer aus dem Beispiel von WMI Parser (fiktiver Host FIN-WKS-07), als MOF geschrieben:

instance of CommandLineEventConsumer as $Cons
{
    Name = "IntelPerfMonitor";
    CommandLineTemplate = "C:\\ProgramData\\Intel\\m64.exe -svc";
};

An einen Filter gebunden, der etwa vier Minuten nach jedem Systemstart auslöst, startet er m64.exe bei jedem Neustart als SYSTEM. Eine ältere Kopie desselben Consumers, wiederhergestellt aus freigegebenem Speicher, zeigt, dass er zuvor einen kodierten PowerShell-Befehl ausführte.

Verwandte Begriffe

Laden Sie das Beispiel oder Ihr eigenes Repository in WMI Parser, um jeden Befehlszeilen-Consumer mit seinem Binding zu sehen. Wie Sie Windows-Standardobjekte von echten Befunden unterscheiden, lesen Sie in SCM Event Log Consumer und BVTConsumer.