
ETW- und WPP-Tracing-Tool für Sicherheitsforschung. Abonniert mehrere Anbieter, parst Ereignisse automatisch in JSON und unterstützt erweiterte Filterung, Pufferung und Ausgabe auf stdout, in Dateien oder in das Windows-Ereignisprotokoll für die SIEM-Aufnahme.
Ich habe dieses Projekt erstellt, um Nicht-Entwicklern den Einstieg in die Recherche von Event Tracing for Windows (ETW) und Windows PreProcessor Tracing (WPP) zu erleichtern.

Sealighter nutzt die funktionsreiche Krabs ETW-Bibliothek, um eine detaillierte Filterung und Triage von ETW- und WPP-Anbietern und -Ereignissen zu ermöglichen.
Sie können mehrere Anbieter abonnieren und filtern, darunter User-Mode-Anbieter, Kernel-Tracing und WPP-Tracing, und Ereignisse als JSON entweder an stdout, eine Datei oder das Windows-Ereignisprotokoll ausgeben (nützlich für stark frequentierte Ablaufverfolgungen wie FileIO). Es sind keine Kenntnisse der Ereignisse, die der Anbieter erzeugen kann, oder deren Format erforderlich – Sealighter erfasst und parst automatisch alle Ereignisse, die ihm übergeben werden.
Die Ereignisse können dann in Python, PowerShell aus JSON extrahiert oder zur weiteren Suche an Splunk oder ELK weitergeleitet werden.
Die Filterung kann auf verschiedene Aspekte eines Ereignisses angewendet werden: von seiner ID oder Opcode über die Übereinstimmung eines Eigenschaftswerts bis hin zu einer beliebigen Zeichenfolgensuche über das gesamte Ereignis (nützlich bei WPP-Ablaufverfolgungen oder wenn Sie die Ereignisstruktur nicht kennen, aber eine Vorstellung von seinem Inhalt haben). Sie können auch mehrere Filter miteinander verketten oder den Filter negieren. Sie können auch die maximalen Ereignisse pro ID filtern – nützlich, um einen neuen Anbieter zu untersuchen, ohne von ähnlichen Ereignissen überflutet zu werden.
ETW ist ein unglaublich nützliches System sowohl für Red als auch Blue Teams. Red Teams können Einblicke in die inneren Abläufe von Windows-Komponenten gewinnen, und Blue Teams können wertvolle Erkenntnisse über verdächtige Aktivitäten erhalten.
Ein typischer Forschungsablauf wäre:
logman query providers oder Suchen nach WPP-Ablaufverfolgungen in BinärdateienDies mit ETW-Ereignissen zu tun, kann schwierig sein, wenn man keinen Code schreibt, um mit der schwer zugänglichen ETW-API zu interagieren und Ereignisse zu parsen. Wenn Sie kein versierter Programmierer sind (oder sich nicht mit der API befassen möchten), besteht die einzige andere Möglichkeit darin, eine Kombination älterer integrierter Windows-Tools zu verwenden, um als binäre etl-Dateien auf die Festplatte zu schreiben und sich dann damit auseinanderzusetzen. WPP-Ablaufverfolgungen verschärfen die Probleme, da sie fast keine leicht auffindbaren Daten zu Anbietern und deren Ereignissen liefern.
Projekte wie JDU2600's Event List und ETWExplorer bieten einige statische Einblicke, aber Anbieter enthalten oft verschleierte Ereignisnamen wie Event(1001), was bedeutet, dass die interessantesten Daten erst durch dynamisches Ausführen einer Ablaufverfolgung und Beobachten der Ausgabe sichtbar werden.
In gewisser Weise bewegt sich dies in einem ähnlichen Bereich wie FuzzySecs SilkETW. Aber während Silk eher produktionsreif für Verteidiger ist, ist dies für Forscher wie mich konzipiert und enthält daher eine Reihe von Funktionen, die ich mit Silk nicht bekommen konnte, hauptsächlich aufgrund der unterschiedlichen Bibliothek, die sie für das Tool verwendet haben. Weitere Informationen finden Sie hier.
Wahrscheinlich jemand, der die Grundlagen von ETW versteht und wirklich eintauchen möchte, um herauszufinden, welche Daten man daraus gewinnen kann, ohne Code schreiben oder manuell herausfinden zu müssen, wie man Ereignisse erhält und parst.
Bitte lesen Sie die folgenden Seiten:
Installation – So starten Sie Sealighter, einschließlich einer einfachen Konfiguration und der Einrichtung der Windows-Ereignisprotokollierung, falls erforderlich.
Configuration – So konfigurieren Sie Sealighter, einschließlich der Angabe, welche Anbieter protokolliert werden sollen und wohin protokolliert werden soll.
Filtering – Tiefer Einblick in alle Arten der Filterung, die Sealighter bietet.
Buffering – So verwenden Sie das Puffern, um viele ähnliche Ereignisse als eines zu melden.
Parsing Data – So erhalten und parsen Sie Daten von Sealighter.
Scenarios – Beispielhafte Szenarien, wie ich Sealighter in meiner Forschung verwendet habe.
Limitations – Dinge, die Sealighter nicht gut oder gar nicht kann.
Der Name ist eine Verkürzung von Seafood Highlighter, wie wir in Oz (Australien) Kunstkrebsfleisch nennen. Da es auf Krabs ETW basiert, fand ich den Namen lustig.
Zögern Sie nicht, ein Issue zu eröffnen, auch wenn ich, wie in den Vergleichsdokumenten angegeben, nur eine einzelne Person bin und dieses Tool forschungsbereit ist, nicht produktionsbereit.