IMPORTANTE: questo README e altra documentazione non sono aggiornati per riflettere le modifiche apportate alle ultime versioni beta (dato che sono successi molti cambiamenti). Tutto verrà aggiornato a tempo debito quando sarà rilasciata una versione stabile (vedi Roadmap fino alla prossima release). Sentiti libero di eseguire le versioni beta e fare domande se hai bisogno di aiuto.

Cos'è
EDR con raccolta di artefatti guidata dalla rilevazione. Il motore di rilevazione è costruito su un progetto precedente, Gene, specificamente progettato per confrontare eventi Windows con regole definite dall'utente.
Cosa si intende per "raccolta di artefatti guidata dalla rilevazione"?
Significa che un avviso può attivare direttamente la raccolta di alcuni artefatti (file, registro,
memoria del processo). In questo modo sei certo di aver raccolto gli artefatti il prima possibile
(quasi in tempo reale).
Tutto questo lavoro è stato svolto nel mio tempo libero nella speranza che possa aiutare altre persone; spero che lo apprezziate. A meno che non riceva finanziamenti per sviluppare ulteriormente questo progetto, continuerò a svilupparlo secondo le mie possibilità. Farò tutto il possibile per risolvere i problemi in tempo e fornire aggiornamenti. Sentiti libero di aprire issue per migliorare questo progetto e mantenerlo vivo.
Perché
- Fornire un EDR Open Source alla comunità
- Garantire trasparenza sulle regole di rilevazione per permettere agli analisti di capire perché una regola si è attivata
- Offrire potenti primitive di rilevazione attraverso un motore di regole flessibile
- Ottimizzare i processi di Incident Response riducendo drasticamente il tempo tra la rilevazione e la raccolta degli artefatti
Come
NB: l'agente EDR può essere eseguito in modo autonomo (senza essere connesso a un EDR manager)
Cosa devi sapere
- Funziona solo su Windows utilizzando i log ETW
- Si basa su Sysmon per tutto il lavoro pesante (componente kernel)
- Motore di rilevazione molto potente e personalizzabile (alimentato da gene)
- Costruito da un Incident Responder per tutti gli Incident Responder con l'obiettivo di rendere il loro lavoro meno doloroso
- Impatto ridotto -> nessun processo injection
- Può coesistere con qualsiasi prodotto antivirus (si consiglia di eseguirlo insieme a MS Defender)
- Progettato per alte prestazioni. Può facilmente arricchire e analizzare fino a 15 milioni di eventi al giorno per endpoint senza impatto sulle prestazioni. Buona fortuna a ottenere lo stesso con un SIEM.
- Facilmente integrabile con altri strumenti (Splunk, ELK, MISP ...)
- Integrato con il framework ATT&CK
- Esiste una potente API amministrativa per semplificare la gestione di grandi distribuzioni (nessuna GUI ancora)
Installazione
Requisiti
- Installa Sysmon
- Configura Sysmon
- Puoi trovare configurazioni Sysmon ottimizzate qui
- La registrazione di qualsiasi ProcessCreate e ProcessTerminate è obbligatoria
- Prendi nota del percorso del binario Sysmon perché ti servirà in seguito
NB: il filtraggio degli eventi può essere fatto al 100% con regole Gene, quindi non preoccuparti di creare una configurazione Sysmon complicata.
Raccomandazioni pre-installazione
Per ottenere il massimo da WHIDS potresti voler migliorare la tua politica di logging.
- Abilita la registrazione dei moduli PowerShell
- Controllo Creazione Servizi: gpedit.msc ->
Computer Configuration\Windows Settings\Security Settings\Advanced Audit Policy Configuration\System Audit Policies\System\Audit Security System Extension -> Abilita
- Abilita il Controllo del File System. Sysmon fornisce solo eventi FileCreate quando vengono creati nuovi file, quindi se vuoi / hai bisogno di registrare altri tipi di accessi (Lettura, Scrittura, ...) devi abilitare l'Auditing del File System.
- gpedit.msc ->
Computer Configuration\Windows Settings\Security Settings\Advanced Audit Policy Configuration\System Audit Policies\Object Access\Audit File System -> Abilita
- Clicca con il tasto destro su qualsiasi cartella -> Proprietà -> Sicurezza -> Avanzate -> Controllo -> Aggiungi
Seleziona un'entità (inserisci il nome dell'utente/gruppo per cui vuoi il controllo). Inserisci il gruppo Everyone se vuoi registrare l'accesso di qualsiasi utente.
Applica a viene utilizzato per selezionare l'ambito di questa policy di controllo a partire dalla cartella selezionata
Autorizzazioni di base seleziona i tipi di accessi per cui vuoi che vengano generati i log
- Conferma
- I log di controllo del File System appariranno nel canale
Security
- Se vuoi un antivirus sui tuoi endpoint, mantieni , prima di tutto perché è un buon AV ma anche perché registra gli avvisi in un monitorato dall'EDR.
Agente EDR endpoint (Whids.exe)
Questa sezione copre l'installazione dell'agente sull'endpoint.
- Scarica ed estrai l'ultima release di WHIDS https://github.com/0xrawsec/whids/releases
- Esegui
manage.bat come amministratore
- Avvia l'installazione selezionando l'opzione appropriata
- Verifica che i file siano stati creati nella directory di installazione
- Modifica il file di configurazione selezionando l'opzione appropriata in
manage.bat o usando il tuo editor di testo preferito
- Salta questo passaggio se esegui con una connessione a un manager, perché le regole verranno aggiornate automaticamente. Se non c'è nulla nella directory delle regole lo strumento sarà inutile, quindi assicurati che ci siano alcune regole gene al suo interno. Alcune regole sono incluse con WHIDS e ti verrà chiesto se vuoi installarle o meno. Se vuoi le regole più aggiornate, puoi ottenerle qui (prendi quelle compilate)
- Avvia i servizi dall'opzione appropriata in
manage.bat o semplicemente riavvia (opzione preferita altrimenti alcuni campi di arricchimento saranno incompleti portando a falsi avvisi)
- Se hai configurato un manager non dimenticare di eseguirlo per ricevere avvisi e dump
NB: Al momento dell'installazione, il servizio Sysmon sarà reso dipendente dal servizio WHIDS in modo da essere certi che l'EDR venga eseguito prima che Sysmon inizi a generare eventi.
EDR Manager
Il manager EDR può essere installato su diverse piattaforme; sono forniti binari precompilati per Windows, Linux e Darwin.
- Crea un certificato TLS se necessario per connessioni HTTPS
- Crea un file di configurazione (c'è un argomento da riga di comando per generare una configurazione base)
- Esegui il binario
Esempi di configurazione
Per favore visita doc/configuration.md
Ulteriore documentazione
Problemi noti
- Non funziona correttamente quando eseguito da una condivisione di rete mappata come unità di rete (questo caso impedisce a whids di identificarsi e quindi genera rumore). Esempio: se
\\vbox\test è montato come unità Z:, eseguire Z:\whids.exe non funzionerà mentre eseguire \\vbox\test\whids.exe funzionerebbe.
Roadmap fino alla prossima release
Changelog
v1.7
- Nuova API HTTP amministrativa con le seguenti funzionalità:
- Gestire gli endpoint (elenco, creazione, eliminazione)
- Ottenere statistiche di base sul manager
- Eseguire comandi sugli endpoint e ottenere risultati
- Può rilasciare file prima dell'esecuzione, per eseguire binari/script non presenti sull'endpoint. I file rilasciati vengono cancellati dopo l'esecuzione del comando.
- Può recuperare file (dopo l'esecuzione del comando), per recuperare i risultati del comando
- Raccogliere file dagli endpoint per scopi forensi
- Contenere / Rilasciare gli endpoint limitando tutto il traffico di rete tranne la comunicazione con il manager.
- Interrogare i log degli endpoint
- Interrogare gli avvisi degli endpoint
- Effettuare un pivot su un timestamp e recuperare log/avvisi intorno a quel pivot temporale
- Accedere al report dell'endpoint
- Punteggio (relativo a ciascun ambiente) che consente di ordinare gli endpoint e individuare quelli che si comportano diversamente dagli altri.
- Avvisi / TTP osservati in un determinato intervallo di tempo
- Gestire le regole (elenco, creazione, aggiornamento, salvataggio, eliminazione)
- Integrazione con Sysmon v12 e v13
- Integrare eventi ClipboardData
- Inserire il contenuto dei dati degli appunti all'interno dell'evento per consentire la creazione di regole sul contenuto degli appunti
- Integrare eventi ProcessTampering
- Arricchire l'evento con un punteggio di differenza tra la sezione .text su disco e in memoria
- Implementato il certificate pinning sul client per migliorare la sicurezza del canale di comunicazione tra endpoint e server di gestione
- Capacità di filtraggio dei log, che consentono di raccogliere eventi contestuali. Il filtraggio dei log è ottenuto creando regole di filtraggio Gene (c.f. Documentazione Gene).
- File di configurazione in formato TOML per una migliore leggibilità
- Migliore protezione della directory di installazione
Lavori correlati

Github:https://github.com/tines Sito web:https://www.tines.com/ Twitter:@tines_io