Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Winshark — Un plugin per Wireshark per strumentare ETW | Kitploit
Strumenti/GitHubGitHub/airbus-cert/winshark
Sniffing e Analisi dei PacchettiInformatica ForenseSicurezza di ReteAnalisi dei Log
GitHubairbus-cert/winshark

Winshark

Un plugin per Wireshark per strumentare ETW

Vedi Repository
59360104 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Winshark

Wireshark plugin per lavorare con Event Tracing for Windows

Microsoft Message Analyzer è in pensione e i suoi pacchetti di download sono stati rimossi dai siti microsoft.com il 25 novembre 2019. Wireshark ha costruito una vasta libreria di dissector di protocolli di rete. Il miglior strumento per Windows sarebbe quello in grado di raccogliere e mescolare tutti i tipi di log...

Benvenuto Winshark!!!

Winshark è basato su un backend libpcap per catturare ETW (Event tracing for Windows), e un generatore che produrrà tutti i dissector per i provider ETW conosciuti sulla tua macchina. Abbiamo aggiunto il supporto per Tracelogging per coprire quasi tutte le tecniche di log sul sistema operativo Windows.

Con Winshark e la potenza di Windows, possiamo ora catturare log di rete e di eventi nello stesso strumento. Windows espone molti provider ETW, in particolare uno per la cattura di rete ;-) Non c'è più bisogno di un driver NDIS esterno.

Questo è un grande miglioramento in termini di utilizzo:

  • Permette di mescolare tutti i tipi di eventi (sistema e rete)
  • Permette di utilizzare il filtraggio di Wireshark sui log degli eventi
  • Permette di tracciare i log di rete e di sistema per ID processo!!!
  • Permette di catturare i log di Windows e la traccia di rete in un unico file pcap!!!
  • Cattura NamedPipe tramite il driver filtro file system NpEtw

Se vuoi:

  • Catturare il Traffico di Rete Usando Winshark
Scarica lo strumento
Filtrare per ID Processo
  • Catturare il Traffico NamedPipe
  • Installazione

    Installa prima Wireshark. Poi installa semplicemente Winshark.

    Attualmente, devi chiedere a Wireshark di interpretare DLT_USER 147 come ETW. Questo perché non hai ancora un valore vero da libpcap per il nostro nuovo Data Link. Abbiamo inviato una richiesta pull per avere un valore DLT dedicato; è ancora in sospeso. Per farlo devi aprire la scheda Preferences sotto il pannello Edit. Seleziona DLT_USER sotto Protocols e modifica (Edit) la tabella delle incapsulazioni:

    Configurazione DLT_USER

    E imposta winshark per DLT = 147 :

    DLT 147 impostato sul protocollo ETW

    Buon divertimento!

    Compilazione

    Winshark è basato su cmake:

    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
    

    Come funziona

    Per capire meglio come funziona Winshark, dobbiamo prima capire come funziona ETW.

    ETW è suddiviso in tre parti:

    • Un Provider che emetterà log e identificato da un ID univoco
    • Una Sessione che mescolerà uno o più provider
    • Un Consumer che leggerà i log emessi da una sessione

    Provider

    Ci sono molti tipi diversi di provider. I più comuni e utilizzabili sono i provider registrati. Un provider registrato, o basato su manifest, è registrato sotto la chiave di registro HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers. Questo crea il collegamento tra un ID provider e una dll. Il manifest è incluso nella dll associata in una risorsa chiamata WEVT_TEMPLATE.

    Puoi elencare tutti i provider registrati sulla tua macchina usando logman:

    root@kitploit:~
    logman query providers
    

    Puoi anche elencare tutti i provider associati a un particolare processo:

    root@kitploit:~
    logman query providers -pid 1234
    

    Alcuni di loro potrebbero apparire senza nome; questi tipi di provider possono produrre log WPP o TraceLogging.

    Sessione

    Le sessioni vengono create per raccogliere log da più di un provider. Puoi creare la tua sessione usando logman:

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

    Puoi elencare tutte le sessioni attive da un prompt dei comandi come amministratore:

    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.
    

    Qui puoi vedere alcuni interessanti sessioni usate dal logger degli eventi per catturare log dalle sessioni Applicazione e Sistema e da Sysmon.

    Consumer

    Un consumer è un semplice programma che legge i log da una sessione. Consumer ben noti sono:

    • Event Logger
    • logman
    • netsh
    • tracert

    E ora Winshark!!! Winshark è un semplice consumer ETW. Il vero consumer sottostante è libpcap, (wpcap.dll per Windows) che viene utilizzato da dumpcap.exe, il processo responsabile della cattura dei pacchetti.

    Wireshark

    Wireshark è suddiviso in tre parti (sì, anche lui):

    • Wireshark.exe che si occupa di analizzare e dissezionare i protocolli
    • dumpcap.exe che si occupa di catturare i pacchetti
    • libpcap (wpcap.dll) che si occupa di interfacciare dumpcap.exe con il sistema operativo

    Winshark si inserisce nella prima e nell'ultima parte. Implementa un backend per libpcap per catturare eventi ETW. Winshark funziona con le sessioni ETW, ecco perché puoi selezionare una sessione ETW al posto dell'interfaccia di rete all'inizio della cattura. Poi Winshark genera dissector lua per ogni provider basato su manifest registrato sul tuo computer, durante la fase di installazione. Winshark è anche in grado di analizzare i provider basati su tracelogging.

    Catturare il traffico di rete

    Per catturare il traffico di rete usando Winshark, puoi usare due semplici modi:

    pktmon (Packet Monitor)

    pktmon è uno strumento di diagnostica di rete integrato e cross-component per Windows. Può essere utilizzato per la cattura di pacchetti, rilevamento di perdita di pacchetti, filtraggio e conteggio (supportato da RS5)

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

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

    puoi eseguire pktmon -h per più opzioni (come amministratore)

    Ad esempio: Aggiungi un filtro per i pacchetti

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

    Poi avvia Wireshark con privilegi di amministratore e seleziona l'interfaccia Pktmon: Selezione interfaccia ETW

    Questo avvierà la cattura dei pacchetti:

    Cattura pacchetti ETW

    netsh trace

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

    E poi crea una sessione ETW associata al provider Microsoft-Windows-NDIS-PacketCapture:

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

    Poi avvia Wireshark con privilegi di amministratore e seleziona l'interfaccia Winshark-PacketCapture:

    Selezione interfaccia ETW

    Questo avvierà la cattura dei pacchetti:

    Cattura pacchetti ETW

    Filtrare per ID processo

    ETW contrassegna ogni pacchetto con un'intestazione che imposta alcuni metadati sul mittente. Uno di questi è l'ID Processo dell'emettitore. Questo è un grande miglioramento rispetto a una classica cattura di pacchetti da un driver NDIS. Basta compilare il campo filtro di Wireshark con la seguente espressione:

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

    Cattura pacchetti ETW

    Catturare NamedPipe

    @kobykahane fornisce un driver filtro file system che emette un ETW per ogni azione eseguita su un NamedPipe.

    Installazione

    • Superare il controllo della firma del driver in modalità test
    root@kitploit:~
    bcdedit /set testsigning on
    
    • Installa NpEtwSetup.msi
    • Riavvia
    • Aggiorna il dissector di Winshark facendo doppio clic su C:\Program Files\Wireshark\WinsharkUpdate.bat con diritti di Amministratore

    Cattura

    • Apri un cmd.exe in Modalità amministratore
    • Avvia il driver
    root@kitploit:~
    sc start NpEtw
    
    • Crea una sessione ETW
    root@kitploit:~
    logman start namedpipe -p NpEtw -ets -rt
    
    • Avvia Wireshark e seleziona la sessione namedpipe. Buon divertimento!

    Cattura namedpipe ETW

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

    Questo progetto fa parte di una presentazione fatta per SSTIC