Microsoft Defender XDR, Microsoft Sentinel in the Microsoft Defender portal
Kehittynyt metsästys perustuu Kusto-kyselykieleen. Kusto-operaattoreiden ja -lausekkeiden avulla voit luoda kyselyjä, jotka paikantavat tietoa erikoisrakenteesta.
Katso tästä lyhyestä videosta kätevia Kusto-kyselyn kielen perusteita.
Jos haluat ymmärtää näitä käsitteitä paremmin, suorita ensimmäinen kyselysi.
Kokeile ensimmäistä kyselyä
Suorita ensimmäinen kyselysi Microsoft Defender portaalissa Metsästys-kohtaan. Käytä seuraavaa esimerkkiä:
Kusto
// Finds PowerShell execution events that could involve a downloadunion 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
| top100by Timestamp
Kyselyn kuvaus ja etsittävän taulukon määrittäminen
Kyselyn alkuun on lisätty lyhyt kommentti, jossa kuvataan, mihin se on tarkoitettu. Tämä kommentti auttaa, jos päätät myöhemmin tallentaa kyselyn ja jakaa sen muiden kanssa organisaatiossasi.
Kusto
// Finds PowerShell execution events that could involve a download
Itse kysely alkaa yleensä taulukon nimellä ja sen jälkeen useilla elementeillä, jotka alkavat putkella (|). Tässä esimerkissä aloitamme luomalla kahden taulukon DeviceProcessEventsDeviceNetworkEventsja , ja lisäämällä putkitetut elementit tarpeen mukaan.
Kusto
union DeviceProcessEvents, DeviceNetworkEvents
Määritä aika-alue
Ensimmäinen piped-elementti on aikasuodatin, joka on suodatettu seitsemään edelliseen päivään. Aika-alueen rajoittaminen auttaa varmistamaan, että kyselyt toimivat hyvin, palauttamaan hallittavissa olevat tulokset aikakatkaisun sijaan.
Kusto
| where Timestamp > ago(7d)
Huomautus
Kusto-aikasuodattimet ovat UTC-tilassa riippumatta asetuksissa määrittämästäsi aikavyöhykkeestä.
Tarkista tietyt prosessit
Aikaväliä seuraa heti PowerShell-sovellusta edustavien prosessitiedostojen nimien haku.
Kusto
// Pivoting on PowerShell processes
| where FileName in~ ("powershell.exe", "powershell_ise.exe")
Hae tiettyjä komentomerkkijonoja
Myöhemmin kysely etsii komentoriveillä merkkijonoja, joita käytetään yleensä tiedostojen lataamiseen PowerShellin avulla.
Nyt kun kyselysi tunnistaa selvästi tiedot, jotka haluat paikantaa, voit määrittää, miltä tulokset näyttävät.
project palauttaa tiettyjä sarakkeita ja top rajoittaa tulosten määrää. Nämä operaattorit auttavat varmistamaan, että tulokset ovat hyvin muotoiltuja ja kohtuullisen suuria ja helppoja käsitellä.
Olet juuri suorittanut ensimmäisen kyselyn ja sinulla on yleinen käsitys sen osista. On aika perääntyä hieman ja oppia perusasiat. Kehittyneen metsästyksen käyttämä Kusto-kyselykieli tukee useita operaattoreita, mukaan lukien seuraavat yleiset.
Luo taulukko, joka koostaa syötetaulukon sisällön.
join
Yhdistä kahden taulukon rivit ja muodosta uusi taulukko yhdistämällä määritettyjen sarakkeiden arvot kustakin taulukosta. Katso, miten voit liittää taulukoita KQL:ssä .
count
Palauta syötetietuejoukon tietueiden määrä.
top
Palauta ensimmäiset N tietuetta määritettyjen sarakkeiden mukaan lajiteltuina.
limit
Palaa määritettyyn määrään rivejä.
project
Valitse sisällytettävät sarakkeet, nimeä ne uudelleen tai pudota ne ja lisää uusia laskettuja sarakkeita.
extend
Luo laskettuja sarakkeita ja liitä ne tulosjoukkoon.
makeset
Palauta dynaaminen (JSON) matriisi erillisten arvojen joukosta, jotka lauseke ottaa ryhmässä.
find
Etsi rivejä, jotka vastaavat predikaattia taulukoiden välillä.
Jos haluat nähdä esimerkin näistä operaattoreista, suorita ne kehittyneen metsästyksen Aloittaminen-osiosta .
Tutustu tietotyyppeihin
Kehittynyt metsästys tukee Kusto-tietotyyppejä, mukaan lukien seuraavat yleiset tyypit:
Autosuggest – kun kirjoitat kyselyitä, kehittynyt metsästys antaa ehdotuksia IntelliSense-kohteesta.
Rakennepuu – rakenneesitys, joka sisältää taulukoiden luettelon ja niiden sarakkeet, annetaan työalueesi vieressä. Saat lisätietoja viemällä hiiren osoittimen kohteen päälle. Lisää kohde kyselyeditoriin kaksoisnapsauttamalla sitä.
Rakenneviittaus – portaalissa oleva viittaus, jossa on taulukon ja sarakkeen kuvaukset sekä tuetut tapahtumatyypit (ActionType arvot) ja esimerkkikyselyt
Useiden kyselyiden käsitteleminen editorissa
Kyselyeditorin avulla voit kokeilla useita kyselyitä. Useiden kyselyiden käyttäminen:
Erota kukin kysely tyhjällä rivillä.
Valitse kysely asettamalla kohdistin mihin tahansa kyselyn osaan ennen sen suorittamista. Tämä suorittaa vain valitun kyselyn. Jos haluat suorittaa toisen kyselyn, siirrä kohdistinta vastaavasti ja valitse Suorita kysely.
Tehokkaamman työtilan kohdalla voit käyttää samalla metsästyssivulla myös useita välilehtiä. Valitse Uusi kysely , jos haluat avata välilehden uudelle kyselylle.
Voit sitten suorittaa eri kyselyitä avaamatta uutta selainvälilehteä.
Huomautus
Useiden selainvälilehtien käyttäminen kehittyneen metsästyksen kanssa saattaa aiheuttaa tallentamattomien kyselyiden menettämisen. Jos haluat estää tämän, käytä lisämetsästyksessä olevaa sarkainominaisuutta erillisten selainvälilehtien sijaan.
Mallikyselyiden käyttäminen
Aloittaminen-osiossa on muutamia yksinkertaisia kyselyitä, jotka käyttävät usein käytettyjä operaattoreita. Kokeile suorittaa nämä kyselyt ja tehdä niihin pieniä muutoksia.
Huomautus
Peruskyselymallien lisäksi voit käyttää jaettuja kyselyitä tietyissä uhkien metsästysskenaarioita varten. Tutustu sivun vasemmalla puolella tai GitHub-kyselysäilössä oleviin jaettuihin kyselyihin.
Lue, miten voit kirjoittaa yksinkertaisia kyselyitä Kusto-kyselykielellä (KQL) käyttämällä operaattoreiden ottoa, projektia, määrää, missä ja lajittelua.