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
5936012vor 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:

Tool herunterladen
  • 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.