Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Winshark — Ein Wireshark-Plugin zur Instrumentierung von ETW | Kitploit
Tools/GitHubGitHub/airbus-cert/winshark
Paket-Sniffing & AnalyseForensikNetzwerksicherheitLog-Analyse
GitHubairbus-cert/winshark

Winshark

Ein Wireshark-Plugin zur Instrumentierung von ETW

Repository anzeigen
59360vor 4 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Winshark

Wireshark-Plugin zur Arbeit mit der Ereignisablaufverfolgung für Windows

Microsoft Message Analyzer wird eingestellt und seine Downloadpakete wurden am 25. November 2019 von den microsoft.com-Websites entfernt. Wireshark hat eine riesige Bibliothek von Netzwerkprotokoll-Dissectoren aufgebaut. Das beste Tool für Windows wäre eines, das alle Arten von Protokollen sammeln und mischen kann...

Willkommen Winshark!!!

Winshark basiert auf einem libpcap-Backend zur Erfassung von ETW (Ereignisablaufverfolgung für Windows) und einem Generator, der alle Dissectoren für bekannte ETW-Anbieter auf Ihrem Rechner erstellt. Wir haben Tracelogging-Unterstützung hinzugefügt, um nahezu alle Protokollierungstechniken im Windows-Betriebssystem abzudecken.

Mit Winshark und der Leistungsfähigkeit von Windows können wir jetzt Netzwerk- und Ereignisprotokolle im selben Tool erfassen. Windows stellt viele ETW-Anbieter zur Verfügung, insbesondere einen für die Netzwerkerfassung ;-) Kein externer NDIS-Treiber mehr nötig.

Dies ist eine enorme Verbesserung in der Nutzung:

  • Ermöglicht das Mischen aller Arten von Ereignissen (System und Netzwerk)
  • Ermöglicht die Verwendung der Wireshark-Filterung auf Ereignisprotokollen
  • Ermöglicht die Verfolgung von Netzwerk- und Systemprotokollen nach Prozess-ID!!!
  • Ermöglicht die Erfassung von Windows-Protokollen und Netzwerkablaufverfolgung in einer einzigen pcap-Datei!!!
  • Erfassen von NamedPipe über den NpEtw-Dateisystemfiltertreiber

Wenn Sie möchten:

  • Netzwerkverkehr mit Winshark erfassen
  • Nach Prozess-ID filtern
  • NamedPipe-Verkehr erfassen

Installation

Bitte installieren Sie zuerst Wireshark. Installieren Sie dann einfach Winshark.

Derzeit müssen Sie Wireshark anweisen, DLT_USER 147 als ETW zu interpretieren. Dies liegt daran, dass Sie noch keinen echten Wert von libpcap für unseren neuen Data Link haben. Wir haben einen Pull-Request eingereicht, um einen dedizierten DLT-Wert zu erhalten; dieser ist noch ausstehend. Dazu müssen Sie den Reiter Preferences unter dem Menü Edit öffnen. Wählen Sie DLT_USER unter Protocols und klicken Sie Edit in der Tabelle der Kapselungen:

DLT_USER-Konfiguration

Und setzen Sie winshark für DLT = 147:

DLT 147 auf ETW-Protokoll gesetzt

Viel Spaß!

Erstellen

Winshark wird von cmake unterstützt:

root@kitploit:~
git clone https://github.com/airbus-cert/winshark --recursive
mkdir build_winshark
cd build_winshark
cmake ..\Winshark
cmake --build . --target package --config release

Funktionsweise

Um zu verstehen, wie Winshark funktioniert, müssen wir zunächst verstehen, wie ETW funktioniert.

ETW ist in drei Teile unterteilt:

  • Ein Anbieter (Provider), der Protokolle ausgibt und durch eine eindeutige ID identifiziert wird
  • Eine Sitzung (Session), die einen oder mehrere Anbieter mischt
  • Ein Verbraucher (Consumer), der von einer Sitzung ausgegebene Protokolle liest

Anbieter (Provider)

Es gibt viele verschiedene Arten von Anbietern. Die gebräuchlichsten und nutzbarsten sind registrierte Anbieter. Ein registrierter Anbieter (oder manifestbasierter Anbieter) ist unter dem Registrierungsschlüssel HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers eingetragen. Dies stellt die Verbindung zwischen einer Anbieter-ID und einer DLL her. Das Manifest ist in der zugehörigen DLL in einer Ressource namens WEVT_TEMPLATE enthalten.

Sie können alle auf Ihrem Rechner registrierten Anbieter mit logman auflisten:

root@kitploit:~
logman query providers

Sie können auch alle von einem bestimmten Prozess gebundenen Anbieter auflisten:

root@kitploit:~
logman query providers -pid 1234

Einige von ihnen können ohne Namen erscheinen; diese Art von Anbietern können WPP- oder TraceLogging-Protokolle erzeugen.

Sitzung (Session)

Sitzungen werden erstellt, um Protokolle von mehr als einem Anbieter zu sammeln. Sie können Ihre eigene Sitzung mit logman erstellen:

root@kitploit:~
logman start Mysession -p "Microsoft-Windows-RemoteDesktopServices-RdpCoreTS" -ets -rt
logman update MySession -p "Microsoft-Windows-NDIS-PacketCapture" -ets -rt

Sie können alle aktiven Sitzungen über eine Admin-Befehlszeile auflisten:

root@kitploit:~
logman query -ets

Data Collector Set                      Type                          Status
-------------------------------------------------------------------------------
...
EventLog-Application                    Trace                         Running
EventLog-Microsoft-Windows-Sysmon-Operational Trace                         Running
EventLog-System                         Trace                         Running
...
The command completed successfully.

Sie sehen hier einige interessante Sitzungen, die vom Ereignisprotokollierer verwendet werden, um Protokolle aus den Sitzungen Application, System und Sysmon zu erfassen.

Verbraucher (Consumer)

Ein Consumer ist ein einfaches Programm, das Protokolle aus einer Sitzung liest. Bekannte Consumer sind:

  • Ereignisprotokollierer
  • logman
  • netsh
  • tracert

Und jetzt Winshark!!! Winshark ist ein einfacher ETW-Consumer. Der eigentliche zugrundeliegende Consumer ist libpcap (wpcap.dll für Windows), das von dumpcap.exe verwendet wird, dem Prozess, der für die Paketerfassung zuständig ist.

Wireshark

Wireshark ist in drei Teile aufgeteilt (ja, auch er):

  • Wireshark.exe, das für das Parsen und Zerlegen von Protokollen zuständig ist
  • dumpcap.exe, das für die Erfassung von Paketen zuständig ist
  • libpcap (wpcap.dll), das für die Schnittstelle zwischen dumpcap.exe und dem Betriebssystem zuständig ist

Winshark findet im ersten und im letzten Teil statt. Es implementiert ein Backend für libpcap zur Erfassung von ETW-Ereignissen. Winshark arbeitet mit ETW-Sitzungen, weshalb Sie zu Beginn der Erfassung eine ETW-Sitzung anstelle einer Netzwerkschnittstelle auswählen können. Dann generiert Winshark während des Installationsschritts lua-Dissectoren für jeden auf Ihrem Computer registrierten manifestbasierten Anbieter. Winshark kann auch tracelogging-basierte Anbieter parsen.

Netzwerkverkehr erfassen

Um Netzwerkverkehr mit Winshark zu erfassen, können Sie zwei einfache Methoden verwenden:

pktmon (Packet Monitor)

pktmon ist ein integriertes, komponentenübergreifendes Netzwerkdiagnosetool für Windows. Es kann für Paketerfassung, Erkennung von Paketverlusten, Paketfilterung und -zählung verwendet werden (unterstützt ab RS5).

(https://docs.microsoft.com/en-us/windows-server/networking/technologies/pktmon/pktmon)

root@kitploit:~
pktmon start -c -m real-mode

Sie können pktmon -h für weitere Optionen ausführen (als Admin)

Zum Beispiel:

root@kitploit:~
pktmon filter add -t icmp
pktmon filter add -t tcp -p 80

Starten Sie dann Wireshark mit Administratorrechten und wählen Sie die Pktmon-Schnittstelle: ETW-Schnittstellenauswahl

Dadurch wird die Paketerfassung gestartet: ETW-Paketerfassung

netsh trace

root@kitploit:~
netsh.exe trace start capture=yes report=no correlation=no

Erstellen Sie dann eine ETW-Sitzung, die mit dem Anbieter Microsoft-Windows-NDIS-PacketCapture verknüpft ist:

root@kitploit:~
logman start Winshark-PacketCapture -p "Microsoft-Windows-NDIS-PacketCapture" -rt -ets

Starten Sie dann Wireshark mit Administratorrechten und wählen Sie die Schnittstelle Winshark-PacketCapture: ETW-Schnittstellenauswahl

Dadurch wird die Paketerfassung gestartet: ETW-Paketerfassung

Nach Prozess-ID filtern

ETW kennzeichnet jedes Paket mit einem Header, der einige Metadaten über den Absender setzt. Eine davon ist die Process ID des Emitters. Dies ist eine enorme Verbesserung gegenüber einer klassischen Paketerfassung von einem NDIS-Treiber. Geben Sie einfach das Filterfeld von Wireshark mit dem folgenden Ausdruck ein:

root@kitploit:~
winshark.header.ProcessId == 1234

ETW-Paketerfassung

NamedPipe erfassen

@kobykahane stellt einen Dateisystemfiltertreiber zur Verfügung, der für jede Aktion auf einer NamedPipe ein ETW ausgibt.

Installation

  • Treibersignierungsprüfung im Testmodus umgehen
root@kitploit:~
bcdedit /set testsigning on
  • Installieren Sie NpEtwSetup.msi
  • Neustart
  • Aktualisieren Sie den Winshark-Dissector, indem Sie C:\Program Files\Wireshark\WinsharkUpdate.bat mit Admin-Rechten doppelklicken

Erfassung

  • Öffnen Sie eine cmd.exe im Admin-Modus
  • Starten Sie den Treiber
root@kitploit:~
sc start NpEtw
  • Erstellen Sie eine ETW-Sitzung
root@kitploit:~
logman start namedpipe -p NpEtw -ets -rt
  • Starten Sie Wireshark und wählen Sie die Sitzung namedpipe. Viel Spaß!

ETW NamedPipe-Erfassung

SSTIC (Symposium sur la sécurité des technologies de l'information et des communications)

Dieses Projekt ist Teil einer Präsentation, die für SSTIC erstellt wurde.

Tool herunterladen