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

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 DeviceNetworkEventslegger 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.

Et eksempel på kjøring av flere spørringer på siden **Ny spørring** i Microsoft Defender-portalen

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.

Åpne en ny fane ved å velge Opprett ny i avansert jakt i Microsoft Defender-portalen

Du kan deretter kjøre forskjellige spørringer uten å åpne en ny nettleserfane.

Kjør forskjellige spørringer uten å forlate den avanserte jaktsiden i Microsoft Defender-portalen

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.

Delen **Komme i gang** på siden **Avansert jakt** i Microsoft Defender-portalen

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.

Tips

Vil du lære mer? Kommuniser med Microsoft Sikkerhet-fellesskapet i det tekniske fellesskapet vårt: Microsoft Defender XDR Tech Community.