Lær avansert spørringsspråk for jakt
Gjelder for:
- Microsoft Defender XDR
Avansert jakt er basert på Kusto-spørringsspråket. Du kan bruke Kusto-operatorer og -setninger til å konstruere spørringer som finner informasjon i et spesialisert skjema.
Se denne korte videoen for å lære litt praktisk grunnleggende om Kusto-spørringsspråk.
Hvis du vil forstå disse konseptene bedre, kjører du den første spørringen.
Prøv den første spørringen
Gå til Jakt i Microsoft Defender-portalen for å kjøre den første spørringen. Bruk følgende eksempel:
// Finds PowerShell execution events that could involve a download
union DeviceProcessEvents, DeviceNetworkEvents
| where Timestamp > ago(7d)
// Pivoting on PowerShell processes
| where FileName in~ ("powershell.exe", "powershell_ise.exe")
// Suspicious commands
| where ProcessCommandLine has_any("WebClient",
"DownloadFile",
"DownloadData",
"DownloadString",
"WebRequest",
"Shellcode",
"http",
"https")
| project Timestamp, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine,
FileName, ProcessCommandLine, RemoteIP, RemoteUrl, RemotePort, RemoteIPType
| top 100 by Timestamp
Kjør denne spørringen i avansert jakt
Beskriv spørringen og angi tabellene som skal søkes
En kort kommentar er lagt til i begynnelsen av spørringen for å beskrive hva den er for. Denne kommentaren hjelper deg hvis du senere bestemmer deg for å lagre spørringen og dele den med andre i organisasjonen.
// Finds PowerShell execution events that could involve a download
Selve spørringen starter vanligvis med et tabellnavn etterfulgt av flere elementer som begynner med en datakanal (|
). I dette eksemplet begynner vi med å opprette en sammenføying av to tabeller, DeviceProcessEvents
og DeviceNetworkEvents
legger til elementer i rør etter behov.
union DeviceProcessEvents, DeviceNetworkEvents
Angi tidsintervallet
Det første piped-elementet er et tidsfilter som er begrenset til de sju foregående dagene. Begrensning av tidsintervallet bidrar til å sikre at spørringer yter bra, returnerer håndterbare resultater og ikke tidsavbrudd.
| where Timestamp > ago(7d)
Obs!
Kusto-tidsfiltre er i UTC uavhengig av tidssone du har angitt i innstillingene.
Kontroller bestemte prosesser
Tidsintervallet etterfølges umiddelbart av et søk etter prosessfilnavn som representerer PowerShell-programmet.
// Pivoting on PowerShell processes
| where FileName in~ ("powershell.exe", "powershell_ise.exe")
Søk for bestemte kommandostrenger
Etterpå ser spørringen etter strenger i kommandolinjer som vanligvis brukes til å laste ned filer ved hjelp av PowerShell.
// Suspicious commands
| where ProcessCommandLine has_any("WebClient",
"DownloadFile",
"DownloadData",
"DownloadString",
"WebRequest",
"Shellcode",
"http",
"https")
Tilpass resultatkolonner og lengde
Nå som spørringen tydelig identifiserer dataene du vil finne, kan du definere hvordan resultatene ser ut. project
returnerer bestemte kolonner, og top
begrenser antall resultater. Disse operatorene bidrar til å sikre at resultatene er godt formatert og rimelig store og enkle å behandle.
| project Timestamp, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine,
FileName, ProcessCommandLine, RemoteIP, RemoteUrl, RemotePort, RemoteIPType
| top 100 by Timestamp
Velg Kjør spørring for å se resultatene.
Tips
Du kan vise spørringsresultater som diagrammer og raskt justere filtre. Hvis du vil ha veiledning, kan du lese om hvordan du arbeider med spørringsresultater
Lær vanlige spørringsoperatorer
Du har nettopp kjørt den første spørringen og har en generell idé om komponentene. Det er på tide å backtrack litt og lære noen grunnleggende. Kusto-spørringsspråket som brukes av avansert jakt, støtter en rekke operatorer, inkludert de følgende vanlige.
Operatør | Beskrivelse og bruk |
---|---|
where |
Filtrer en tabell til delsettet med rader som oppfyller et predikat. |
summarize |
Produsere en tabell som aggregerer innholdet i inndatatabellen. |
join |
Slå sammen radene i to tabeller for å danne en ny tabell ved å sammenligne verdier for de angitte kolonnene fra hver tabell. Se sammenføyning av tabeller i KQL for å finne ut hvordan. |
count |
Returner antall poster i inndatapostsettet. |
top |
Returner de første N-postene sortert etter de angitte kolonnene. |
limit |
Returner opp til det angitte antallet rader. |
project |
Velg kolonnene som skal inkluderes, gi nytt navn til eller slippe, og sett inn nye beregnede kolonner. |
extend |
Opprett beregnede kolonner og føy dem til resultatsettet. |
makeset |
Returner en dynamisk (JSON)-matrise av settet med distinkte verdier som Uttr tar i gruppen. |
find |
Finn rader som samsvarer med et predikat på tvers av et sett med tabeller. |
Hvis du vil se et levende eksempel på disse operatorene, kan du kjøre dem fra Kom i gang-delen i avansert jakt.
Forstå datatyper
Avansert jakt støtter Kusto-datatyper, inkludert følgende vanlige typer:
Datatype | Beskrivelse og spørringsimplikasjoner |
---|---|
datetime |
Data- og tidsinformasjon som vanligvis representerer tidsstempler for hendelser. Se støttede datetime-formater |
string |
Tegnstreng i UTF-8 omsluttet av enkle anførselstegn (' ) eller doble anførselstegn (" ). Les mer om strenger |
bool |
Denne datatypen støtter true eller false tilstander. Se støttede litteraler og operatorer |
int |
32-biters heltall |
long |
64-biters heltall |
Hvis du vil lære mer om disse datatypene, kan du lese om Kusto-skalardatatyper.
Få hjelp mens du skriver spørringer
Dra nytte av følgende funksjonalitet for å skrive spørringer raskere:
- Autosuggest – etter hvert som du skriver spørringer, gir avansert jakt forslag fra IntelliSense.
- Skjematre – en skjemarepresentasjon som inneholder listen over tabeller og deres kolonner, angis ved siden av arbeidsområdet. Hvis du vil ha mer informasjon, holder du pekeren over et element. Dobbeltklikk et element for å sette det inn i redigeringsprogrammet for spørring.
- Skjemareferanse – referanse i portalen med tabell- og kolonnebeskrivelser samt støttede hendelsestyper (
ActionType
verdier) og eksempelspørringer
Arbeide med flere spørringer i redigeringsprogrammet
Du kan bruke redigeringsprogrammet for spørring til å eksperimentere med flere spørringer. Slik bruker du flere spørringer:
- Skill hver spørring med en tom linje.
- Plasser markøren på en hvilken som helst del av en spørring for å velge spørringen før du kjører den. Dette kjører bare den valgte spørringen. Hvis du vil kjøre en annen spørring, flytter du markøren tilsvarende og velger Kjør spørring.
For et mer effektivt arbeidsområde kan du også bruke flere faner på samme jaktside. Velg Ny spørring for å åpne en fane for den nye spørringen.
Du kan deretter kjøre forskjellige spørringer uten å åpne en ny nettleserfane.
Obs!
Bruk av flere nettleserfaner med avansert jakt kan føre til at du mister spørringer som ikke er lagret. Hvis du vil hindre at dette skjer, kan du bruke fanefunksjonen i avansert jakt i stedet for separate nettleserfaner.
Bruke eksempelspørringer
Kom i gang-delen inneholder noen enkle spørringer ved hjelp av ofte brukte operatorer. Prøv å kjøre disse spørringene og gjøre små endringer i dem.
Obs!
Bortsett fra de grunnleggende spørringseksempler, kan du også få tilgang til delte spørringer for bestemte trusseljaktscenarioer. Utforsk de delte spørringene på venstre side av siden eller GitHub-spørringsrepositoriet.
Dokumentasjon for Access-spørringsspråk
Hvis du vil ha mer informasjon om Kusto-spørringsspråk og støttede operatorer, kan du se dokumentasjonen for Kusto-spørringsspråket.
Obs!
Noen tabeller i denne artikkelen er kanskje ikke tilgjengelige i Microsoft Defender for endepunkt. Slå på Microsoft Defender XDR for å lete etter trusler ved hjelp av flere datakilder. Du kan flytte avanserte jaktarbeidsflyter fra Microsoft Defender for endepunkt til Microsoft Defender XDR ved å følge trinnene i Overføre avanserte jaktspørringer fra Microsoft Defender for endepunkt.
Beslektede emner
- Oversikt over avansert jakt
- Arbeide med spørringsresultater
- Bruke delte spørringer
- Jakt på tvers av enheter, e-postmeldinger, apper og identiteter
- Forstå skjemaet
- Bruk anbefalte fremgangsmåter for spørring
Tips
Vil du lære mer? Kommuniser med Microsoft Sikkerhet-fellesskapet i det tekniske fellesskapet vårt: Microsoft Defender XDR Tech Community.
Tilbakemeldinger
https://aka.ms/ContentUserFeedback.
Kommer snart: Gjennom 2024 faser vi ut GitHub Issues som tilbakemeldingsmekanisme for innhold, og erstatter det med et nytt system for tilbakemeldinger. Hvis du vil ha mer informasjon, kan du se:Send inn og vis tilbakemelding for