
Un repository di query KQL incentrato sul threat hunting e sul rilevamento delle minacce per Microsoft Sentinel e Microsoft XDR (ex Microsoft 365 Defender).
_ _____ _ _____ _ _ ____ _____ _ _____ _ _ _ _ _ _ _____ ___ _ _ ____
| |/ / _ \| | |_ _| | | | _ \| ____| / \|_ _| | | | | | | | \ | |_ _|_ _| \ | |/ ___|
| ' | | | | | | | | |_| | |_) | _| / _ \ | | | |_| | | | | \| | | | | || \| | | _
| . | |_| | |___ | | | _ | _ <| |___ / ___ \| | | _ | |_| | |\ | | | | || |\ | |_| |
|_|\_\__\_|_____| |_| |_| |_|_| \_|_____/_/ \_|_| |_| |_|\___/|_| \_| |_| |___|_| \_|\____|
[!NOTE]
27 gennaio: dopo quasi un anno di contributi, questo repository è in fase di profonda ristrutturazione per adeguarsi all'attuale panorama della community e anche per una contestualizzazione molto migliore al fine di continuare a contribuire.
Questo repository è uno sforzo per fornire query di rilevamento e hunting già pronte (e altro ancora) al fine di aiutare analisti e threat hunter a sfruttare la potenza di KQL in Microsoft Sentinel e Microsoft Defender XDR.
Per favore:
Buon divertimento, e non esitare a contattarmi per qualsiasi dubbio e suggerimento: cyb3rmik3.
Se Microsoft Sentinel e Microsoft 365 Defender sono i tuoi strumenti quotidiani, dovresti considerare di seguire il corso Microsoft Certified Security Operations Analyst (codice esame SC-200). Acquisirai familiarità con l'ampia gamma di prodotti di sicurezza Microsoft e con come utilizzarli per fornire dati, segnali di sicurezza e analizzare avvisi e incidenti.
Ciò nonostante, puoi passare direttamente al corso Microsoft incentrato su KQL:
La formazione esperta di Microsoft Defender XDR advanced hunting fornisce una guida completa per analisti della sicurezza e threat hunter per migliorare le proprie competenze nell'advanced hunting. La formazione viene erogata attraverso una serie di webcast intitolati "Tracking the Adversary" e "L33TSP3AK".
Mehmet Ergene (noto come cyb3rmonk) ha fondato la blu raven academy dove offre i seguenti corsi di formazione KQL, inclusa l'esperienza pratica in un ambiente lab iper-realistico.
Rod Trent ha creato la serie MustLearnKQL, un insieme di post sul blog e video su YouTube che rappresenta uno sforzo per discutere ed educare sulla potenza e la semplicità del Kusto Query Language.
Invictus ha creato il corso Incident Response in the Microsoft Cloud che illustra come eseguire l'incident response in Microsoft Azure e Microsoft 365. Questo include le basi di KQL, ma anche i querypack KQL e casi d'uso più avanzati e query KQL per gli attacchi al cloud.
I dati sono organizzati in una gerarchia di database, tabelle e colonne, in modo simile a SQL. Ad esempio, la tabella DeviceNetworkEvents nello schema di advanced hunting contiene informazioni sulle connessioni di rete e sugli eventi correlati.
where filtra in base a un predicato specifico
DeviceNetworkEvents
| where LocalIP == "192.168.0.1"
DeviceNetworkEvents
| where DeviceName has "ComputerName"
Restituisce lo scostamento temporale rispetto al momento in cui viene eseguita la query
DeviceNetworkEvents
| where Timestamp > ago(1d)
Seleziona le colonne da includere nell'ordine specificato
DeviceNetworkEvents
| where Timestamp > ago(1d)
| where DeviceName has "ComputerName"
| project Timestamp, ActionType, RemoteIP, RemotePort, RemoteUrl
Il threat hunting dovrebbe essere un processo continuo. Iniziamo dall'inizio del nostro ciclo con la nostra Ipotesi. La nostra Ipotesi ci aiuta a pianificare cosa andremo a cercare, il che richiede di comprendere dove andremo a cacciare e come lo faremo. Ciò significa che dobbiamo comprendere i dati che abbiamo, gli strumenti che abbiamo, le competenze che abbiamo e come lavorare con essi. Il ciclo di hunting non si ferma quando eseguiamo la caccia. Ci sono ancora diverse fasi che dobbiamo condurre lungo tutto il ciclo di vita, inclusa la risposta alle anomalie. Anche se non troviamo una minaccia attiva, ci saranno attività da svolgere. Maggiori informazioni.
L'approccio all'hunting ha due componenti: la caratterizzazione dell'attività malevola e l'esecuzione dell'hunting. Queste componenti dovrebbero essere attività in corso, aggiornate continuamente in base alle nuove informazioni sugli avversari e sul terreno. Maggiori informazioni.