
Strumento di tracciamento ETW e WPP per la ricerca sulla sicurezza. Si sottoscrive a più provider, analizza automaticamente gli eventi in JSON e supporta filtri avanzati, buffering e output su stdout, file o Windows Event Log per l'ingestione in SIEM.
Ho creato questo progetto per aiutare i non sviluppatori a immergersi nella ricerca del Tracciamento degli Eventi per Windows (ETW) e del Tracciamento del PreProcessore di Windows (WPP).

Sealighter sfrutta la ricca libreria Krabs ETW per abilitare il filtraggio dettagliato e il triage di Provider ed Eventi ETW e WPP.
Puoi sottoscrivere e filtrare più provider, inclusi Provider in modalità utente, Tracciamento del kernel e Tracciamento WPP, e produrre eventi come JSON su stdout, un file o il Registro Eventi di Windows (utile per tracce ad alto volume come FileIO). Non è necessaria alcuna conoscenza degli eventi che il provider può produrre o del loro formato; Sealighter cattura e analizza automaticamente qualsiasi evento richiesto.
Gli eventi possono quindi essere analizzati da JSON in Python, PowerShell, o inoltrati a Splunk o ELK per ulteriori ricerche.
Il filtraggio può essere effettuato su vari aspetti di un evento, dal suo ID o Opcode, alla corrispondenza di un valore di proprietà, fino a una ricerca di stringa arbitraria sull'intero evento (utile nelle tracce WPP o quando non si conosce la struttura dell'evento, ma si ha un'idea del suo contenuto). Puoi anche concatenare più filtri insieme o negare il filtro. Puoi anche filtrare il numero massimo di eventi per ID, utile per investigare un nuovo provider senza essere inondato da eventi simili.
ETW è un sistema incredibilmente utile sia per i team Red che Blue. I team Red possono ottenere informazioni sul funzionamento interno dei componenti di Windows, e i team Blue possono ottenere preziose intuizioni su attività sospette.
Un tipico ciclo di ricerca potrebbe essere:
logman query providers o cercare tracce WPP nei binariFare questo con gli eventi ETW può essere difficile senza scrivere codice per interagire e analizzare gli eventi dall'ostica API ETW. Se non sei un programmatore esperto (o non vuoi avere a che fare con l'API), le uniche altre opzioni sono usare una combinazione di vecchi strumenti Windows integrati per scrivere su disco come file binari etl, e poi gestirli. Le tracce WPP complicano ulteriormente le cose, fornendo quasi nessun dato facilmente reperibile sui provider e i loro eventi.
Progetti come JDU2600's Event List e ETWExplorer forniscono alcune informazioni statiche, ma i Provider spesso contengono nomi di eventi offuscati come Event(1001), il che significa che i dati più interessanti diventano visibili solo eseguendo dinamicamente una traccia e osservando l'output.
In un certo senso, questo si colloca in uno spazio simile a SilkETW di FuzzySec. Ma mentre Silk è più pronto per la produzione per i difensori, questo è progettato per ricercatori come me, e come tale contiene una serie di funzionalità che non ho potuto ottenere con Silk, principalmente a causa della diversa libreria utilizzata per alimentare lo strumento. Vedi Qui per maggiori informazioni.
Probabilmente qualcuno che comprende le basi di ETW e vuole davvero immergersi nella scoperta di quali dati si possono ricavare, senza dover scrivere codice o capire manualmente come ottenere e analizzare gli eventi.
Si prega di leggere le seguenti pagine:
Installazione - Come iniziare a eseguire Sealighter, inclusa una configurazione semplice, e come impostare la registrazione degli eventi di Windows se necessario.
Configurazione - Come configurare Sealighter, incluso come specificare quali Provider registrare e dove registrare.
Filtraggio - Approfondimento su tutti i tipi di filtraggio offerti da Sealighter.
Buffering - Come usare il buffering per segnalare molti eventi simili come uno solo.
Analisi dei Dati - Come ottenere e analizzare i dati da Sealighter.
Scenari - Esempi di scenari su come ho usato Sealighter nella mia ricerca.
Limitazioni - Cose che Sealighter non fa bene o per niente.
Il nome è una contrazione di Seafood Highlighter, che è come chiamiamo la finta carne di granchio in Australia. Poiché è basato su Krabs ETW, ho pensato che il nome fosse divertente.
Sentiti libero di aprire un issue, anche se come dico nei documenti di confronto sono una sola persona, e questo è uno strumento pronto per la ricerca, non per la produzione.