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
593604 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
  • 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

Scarica lo strumento