Del via


Få mere at vide om det avancerede forespørgselssprog for jagt

Avanceret jagt er baseret på Kusto-forespørgselssproget. Du kan bruge Kusto-operatorer og -sætninger til at oprette forespørgsler, der finder oplysninger i et specialiseret skema.

Se denne korte video for at lære nogle praktiske grundlæggende oplysninger om Kusto-forespørgselssprog.

Hvis du vil have en bedre forståelse af disse begreber, skal du køre din første forespørgsel.

Prøv din første forespørgsel

I Microsoft Defender-portalen skal du gå til Jagt for at køre din første forespørgsel. Brug 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

Kør denne forespørgsel i avanceret jagt

Der er føjet en kort kommentar til starten af forespørgslen for at beskrive, hvad den er beregnet til. Denne kommentar hjælper, hvis du senere beslutter at gemme forespørgslen og dele den med andre i din organisation.

// Finds PowerShell execution events that could involve a download

Selve forespørgslen starter typisk med et tabelnavn efterfulgt af flere elementer, der starter med en pipe (|). I dette eksempel starter vi med at oprette en forening af to tabeller DeviceProcessEvents og DeviceNetworkEventsog tilføje pipede elementer efter behov.

union DeviceProcessEvents, DeviceNetworkEvents

Angiv tidsinterval

Det første pipe-element er et tidsfilter, der er begrænset til de forrige syv dage. Hvis du begrænser tidsintervallen, hjælper det med at sikre, at forespørgslerne fungerer godt, returnerer resultater, der kan administreres, og at der ikke opstår timeout.

| where Timestamp > ago(7d)

Bemærk!

Kusto-tidsfiltre er i UTC, uanset hvilken tidszone du har angivet i dine indstillinger.

Kontrollér bestemte processer

Tidsintervallet efterfølges straks af en søgning efter procesfilnavne, der repræsenterer PowerShell-programmet.

// Pivoting on PowerShell processes
| where FileName in~ ("powershell.exe", "powershell_ise.exe")

Søg efter bestemte kommandostrenge

Derefter søger forespørgslen efter strenge i kommandolinjer, der typisk bruges til at downloade filer ved hjælp af PowerShell.

// Suspicious commands
| where ProcessCommandLine has_any("WebClient",
    "DownloadFile",
    "DownloadData",
    "DownloadString",
    "WebRequest",
    "Shellcode",
    "http",
    "https")

Tilpas resultatkolonner og -længde

Nu, hvor din forespørgsel tydeligt identificerer de data, du vil finde, kan du definere, hvordan resultaterne skal se ud. project returnerer bestemte kolonner og top begrænser antallet af resultater. Disse operatorer er med til at sikre, at resultaterne er velformateret og forholdsvis store og nemme at behandle.

| project Timestamp, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine,
FileName, ProcessCommandLine, RemoteIP, RemoteUrl, RemotePort, RemoteIPType
| top 100 by Timestamp

Vælg Kør forespørgsel for at se resultaterne.

Tip

Du kan få vist forespørgselsresultater som diagrammer og hurtigt justere filtre. Du kan få vejledning ved at læse om at arbejde med forespørgselsresultater

Få mere at vide om almindelige forespørgselsoperatorer

Du har lige kørt din første forespørgsel og har en generel idé om dens komponenter. Det er tid til at bakke lidt op og lære nogle grundlæggende. Det Kusto-forespørgselssprog, der bruges af avanceret jagt, understøtter en række operatorer, herunder følgende almindelige.

Operatør Beskrivelse og anvendelse
where Filtrer en tabel til delsættet af rækker, der opfylder et prædikat.
summarize Producere en tabel, der samler indholdet af inputtabellen.
join Flet rækkerne i to tabeller for at danne en ny tabel ved at matche værdierne for de angivne kolonner fra hver tabel. Se Sammenføjning-tabeller i KQL for at få mere at vide.
count Returner antallet af poster i inputpostsættet.
top Returner de første N-poster sorteret efter de angivne kolonner.
limit Vend tilbage til det angivne antal rækker.
project Vælg de kolonner, der skal medtages, omdøbes eller slippes, og indsæt nye beregnede kolonner.
extend Opret beregnede kolonner, og føj dem til resultatsættet.
makeset Returnerer en dynamisk matrix (JSON) af sættet af entydige værdier, som Udtryk tager i gruppen.
find Find rækker, der matcher et prædikat på tværs af et sæt tabeller.

Hvis du vil se et live eksempel på disse operatorer, skal du køre dem fra afsnittet Kom i gang i avanceret jagt.

Forstå datatyper

Avanceret jagt understøtter Kusto-datatyper, herunder følgende almindelige typer:

Datatype Beskrivelse og konsekvenser for forespørgsler
datetime Data- og tidsoplysninger, der typisk repræsenterer hændelsestidsstempler. Se understøttede formater for dato/klokkeslæt
string Tegnstreng i UTF-8 omsluttet af enkelte anførselstegn (') eller dobbelte anførselstegn ("). Læs mere om strenge
bool Denne datatype understøtter true eller false tilstande. Se understøttede konstanter og operatorer
int 32-bit heltal
long 64-bit heltal

Du kan få mere at vide om disse datatyper ved at læse om Kusto-skalardatatyper.

Få hjælp, når du skriver forespørgsler

Benyt følgende funktionalitet til at skrive forespørgsler hurtigere:

  • Autosuggest – når du skriver forespørgsler, giver avanceret jagt forslag fra IntelliSense.
  • Skematræ – en skemarepræsentation, der indeholder listen over tabeller og deres kolonner, er angivet ud for dit arbejdsområde. Du kan få flere oplysninger ved at holde markøren over et element. Dobbeltklik på et element for at indsætte det i forespørgselseditoren.
  • Skemareference – reference i portalen med tabel- og kolonnebeskrivelser samt understøttede hændelsestyper (ActionType værdier) og eksempelforespørgsler

Arbejd med flere forespørgsler i editoren

Du kan bruge forespørgselseditoren til at eksperimentere med flere forespørgsler. Sådan bruger du flere forespørgsler:

  • Adskil hver forespørgsel med en tom linje.

  • Placer markøren på en del af en forespørgsel for at vælge den pågældende forespørgsel, før du kører den. Dette kører kun den valgte forespørgsel. Hvis du vil køre en anden forespørgsel, skal du flytte markøren tilsvarende og vælge Kør forespørgsel.

    Et eksempel på udførelse af flere forespørgsler på siden **Ny forespørgsel** på Microsoft Defender-portalen

    Hvis du vil have et mere effektivt arbejdsområde, kan du også bruge flere faner på den samme jagtside. Vælg Ny forespørgsel for at åbne en fane til den nye forespørgsel.

    Åbning af en ny fane ved at vælge Opret ny i avanceret jagt på Microsoft Defender-portalen

    Du kan derefter køre forskellige forespørgsler uden at åbne en ny browserfane.

    Kør forskellige forespørgsler uden at forlade den avancerede jagtside på Microsoft Defender-portalen

Bemærk!

Hvis du bruger flere browserfaner med avanceret jagt, kan det medføre, at du mister dine forespørgsler, der ikke er gemt. Hvis du vil forhindre dette, skal du bruge fanefunktionen i avanceret jagt i stedet for separate browserfaner.

Brug eksempelforespørgsler

Afsnittet Introduktion indeholder nogle få enkle forespørgsler, der bruger almindeligt anvendte operatorer. Prøv at køre disse forespørgsler og foretage små ændringer af dem.

Afsnittet **Introduktion** på siden **Avanceret jagt** på Microsoft Defender-portalen

Bemærk!

Ud over de grundlæggende forespørgselseksempler kan du også få adgang til delte forespørgsler for specifikke trusselsjagtscenarier. Udforsk de delte forespørgsler i venstre side eller i GitHub-forespørgselslageret.

Få adgang til dokumentation til forespørgselssprog

Du kan få flere oplysninger om Kusto-forespørgselssprog og understøttede operatorer i dokumentationen til Kusto-forespørgselssprog.

Bemærk!

Nogle tabeller i denne artikel er muligvis ikke tilgængelige i Microsoft Defender for Endpoint. Slå Microsoft Defender XDR til for at jage efter trusler ved hjælp af flere datakilder. Du kan flytte dine avancerede arbejdsprocesser for jagt fra Microsoft Defender for Endpoint til Microsoft Defender XDR ved at følge trinnene i Overfør avancerede jagtforespørgsler fra Microsoft Defender for Endpoint.

Tip

Vil du vide mere? Kontakt Microsoft Security-community'et i vores Tech Community: Microsoft Defender XDR Tech Community.