Leiðbeiningar um ógnunargreiningu Sysmon, 1. hluti

Leiðbeiningar um ógnunargreiningu Sysmon, 1. hluti

Þessi grein er fyrsti hluti af röð um Sysmon ógnargreiningu. Allir aðrir hlutar seríunnar:

Hluti 1: Kynning á Sysmon Log Analysis (við erum hér)
Part 2: Notkun Sysmon atburðagagna til að bera kennsl á ógnir
Hluti 3. Ítarleg greining á Sysmon ógnum með því að nota línurit

Ef þú vinnur við upplýsingaöryggi þarftu líklega oft að skilja áframhaldandi árásir. Ef þú ert nú þegar með þjálfað auga geturðu leitað að óstöðluðu virkni í „hráu“ óunnin annálum - td PowerShell skriftu í gangi með DownloadString skipuninni eða VBS handrit sem þykist vera Word skrá - einfaldlega flettir í gegnum nýjustu virknina í Windows atburðaskránni. En þetta er virkilega mikill höfuðverkur. Sem betur fer bjó Microsoft til Sysmon, sem gerir árásargreiningu mun auðveldari.

Viltu skilja grunnhugmyndirnar á bak við ógnirnar sem birtast í Sysmon-skránni? Sækja handbókina okkar WMI atburðir sem leið til njósna og þú áttar þig á því hvernig innherjar geta fylgst með öðrum starfsmönnum í leynd. Helsta vandamálið við að vinna með Windows atburðaskrána er skortur á upplýsingum um foreldraferla, þ.e. það er ómögulegt að skilja stigveldi ferla út frá því. Sysmon skráningarfærslur innihalda aftur á móti auðkenni foreldraferlisins, nafn þess og skipanalínuna sem á að ræsa. Þakka þér, Microsoft.

Í fyrsta hluta seríunnar okkar munum við skoða hvað þú getur gert með grunnupplýsingum frá Sysmon. Í hluta XNUMX munum við nýta til fulls upplýsingar um foreldraferli til að búa til flóknari regluskipulag sem kallast ógnargraf. Í þriðja hluta munum við skoða einfalt reiknirit sem skannar ógnargraf til að leita að óvenjulegri virkni með því að greina „þyngd“ línuritsins. Og í lokin færðu verðlaun með snyrtilegri (og skiljanlegri) aðferð til að greina hættulegar hættur.

Hluti 1: Kynning á Sysmon Log Analysis

Hvað getur hjálpað þér að skilja margbreytileika atburðaskrárinnar? Að lokum - SIEM. Það staðlar atburði og einfaldar síðari greiningu þeirra. En við þurfum ekki að ganga svo langt, að minnsta kosti ekki í fyrstu. Í upphafi, til að skilja meginreglur SIEM, mun það vera nóg að prófa hið frábæra ókeypis Sysmon tól. Og hún er furðu auðvelt að vinna með. Haltu áfram, Microsoft!

Hvaða eiginleika hefur Sysmon?

Í stuttu máli - gagnlegar og læsilegar upplýsingar um ferlana (sjá myndir hér að neðan). Þú munt finna fullt af gagnlegum upplýsingum sem eru ekki í Windows viðburðaskránni, en mikilvægustu eru eftirfarandi reitir:

  • Auðkenni ferlis (í aukastaf, ekki sexkantur!)
  • Auðkenni foreldraferlis
  • Vinnsla skipanalínu
  • Skipanalína í foreldraferlinu
  • Skráarmyndahash
  • Nöfn skráarmynda

Sysmon er sett upp bæði sem tækjadrif og sem þjónusta - nánari upplýsingar hér. Helsti kostur þess er hæfileikinn til að greina logs frá nokkrir heimildir, fylgni upplýsinga og úttaksgilda sem myndast við eina atburðaskrámöppu sem staðsett er meðfram leiðinni Microsoft -> Windows -> Sysmon -> Operational. Í mínum eigin hárreynandi rannsóknum á Windows-skrám varð ég stöðugt að þurfa að skipta á milli til dæmis PowerShell logs möppunnar og öryggismöppunnar, fletta í gegnum atburðaskrárnar í hugrökkri tilraun til að tengja gildin á milli þeirra tveggja á einhvern hátt. . Þetta er aldrei auðvelt verkefni og eins og ég áttaði mig síðar á var betra að byrgja strax upp aspirín.

Sysmon tekur skammtastökk fram á við með því að veita gagnlegar (eða eins og seljendur vilja segja, hagnýtar) upplýsingar til að hjálpa til við að skilja undirliggjandi ferla. Til dæmis byrjaði ég á leynilegum fundi wmiexec, sem líkir eftir hreyfingu snjalls innherja innan netsins. Þetta er það sem þú munt sjá í Windows atburðaskránni:

Leiðbeiningar um ógnunargreiningu Sysmon, 1. hluti

Windows login sýnir nokkrar upplýsingar um ferlið, en það er lítið gagn. Plús ferli auðkenni í sextánda tölu???

Fyrir fagmann í upplýsingatækni sem hefur skilning á grunnatriðum reiðhestur ætti skipanalínan að vera grunsamleg. Að nota cmd.exe til að keyra síðan aðra skipun og beina úttakinu í skrá með undarlegu nafni er greinilega svipað aðgerðum eftirlits og stjórnunarhugbúnaðar stjórn-og-stjórn (C2): Á þennan hátt er gervi-skel búin til með WMI þjónustu.
Nú skulum við kíkja á Sysmon færslujafngildið og taka eftir hversu miklar viðbótarupplýsingar það gefur okkur:

Leiðbeiningar um ógnunargreiningu Sysmon, 1. hluti

Sysmon lögun í einni skjámynd: nákvæmar upplýsingar um ferlið á læsilegu formi

Þú sérð ekki aðeins skipanalínuna, heldur einnig skráarnafnið, slóðina að keyrsluforritinu, það sem Windows veit um það ("Windows Command Processor"), auðkennið foreldra ferli, skipanalína foreldri, sem hleypti af stokkunum cmd skelinni, sem og raunverulegu skráarnafni móðurferlisins. Allt á einum stað, loksins!
Af Sysmon-skránni getum við ályktað að með miklum líkum sé þessi grunsamlega skipanalína sem við sáum í „hráu“ annálunum ekki afleiðing af venjulegri vinnu starfsmannsins. Þvert á móti, það var búið til með C2-líku ferli - wmiexec, eins og ég nefndi áðan - og var beint af völdum WMI þjónustuferlisins (WmiPrvSe). Nú höfum við vísbendingu um að fjarlægur árásarmaður eða innherji sé að prófa innviði fyrirtækja.

Við kynnum Get-Sysmonlogs

Auðvitað er frábært þegar Sysmon setur stokkana á einn stað. En það væri líklega enn betra ef við gætum fengið aðgang að einstökum annálareitum forritunarlega - til dæmis með PowerShell skipunum. Í þessu tilfelli gætirðu skrifað lítið PowerShell forskrift sem myndi gera leit að hugsanlegum ógnum sjálfvirkan!
Ég var ekki sá fyrsti sem fékk svona hugmynd. Og það er gott að í sumum spjallfærslum og GitHub verkefni Það hefur þegar verið útskýrt hvernig á að nota PowerShell til að þátta Sysmon log. Í mínu tilviki vildi ég forðast að þurfa að skrifa aðskildar línur af þáttunarforskrift fyrir hvern Sysmon-reit. Svo ég notaði lazy man-regluna og ég held að ég hafi fundið eitthvað áhugavert í kjölfarið.
Fyrsta mikilvæga atriðið er getu liðsins Fá-WinEvent lestu Sysmon logs, síaðu nauðsynlega atburði og sendu niðurstöðuna í PS breytuna, eins og hér:

$events = Get-WinEvent  -LogName "Microsoft-Windows-Sysmon/Operational" | where { $_.id -eq 1 -or $_.id -eq 11}

Ef þú vilt prófa skipunina sjálfur, með því að birta efnið í fyrsta þætti $events fylkisins, $events[0]. Skilaboð, úttakið getur verið röð af textastrengjum með mjög einföldu sniði: nafnið á Sysmon reit, tvípunktur og svo gildið sjálft.

Leiðbeiningar um ógnunargreiningu Sysmon, 1. hluti

Húrra! Sendir Sysmon innskráningu á JSON-tilbúið snið

Ertu að hugsa það sama og ég? Með aðeins meiri fyrirhöfn geturðu umbreytt úttakinu í JSON sniðinn streng og hlaðið því síðan beint inn í PS hlut með öflugri skipun ConvertFrom-Json .
Ég mun sýna PowerShell kóðann fyrir viðskiptin - það er mjög einfalt - í næsta hluta. Í bili skulum við sjá hvað nýja skipunin mín sem heitir get-sysmonlogs, sem ég setti upp sem PS mát, getur gert.
Í stað þess að kafa djúpt í Sysmon log greiningu í gegnum óþægilegt atburðaskrá tengi, getum við áreynslulaust leitað að stigvaxandi virkni beint úr PowerShell lotu, auk þess að nota PS skipunina þar sem (alias – “?”) til að stytta leitarniðurstöðurnar:

Leiðbeiningar um ógnunargreiningu Sysmon, 1. hluti

Listi yfir cmd skeljar settar af stað í gegnum WMI. Ódýragreining á ógnum með okkar eigin Get-Sysmonlogs teymi

Dásamlegt! Ég bjó til tól til að skoða Sysmon-skrána eins og það væri gagnagrunnur. Í grein okkar um greindarvísitala það var tekið fram að þessi aðgerð verður framkvæmd af flottu tólinu sem lýst er í henni, þó formlega sé enn í gegnum raunverulegt SQL-líkt viðmót. Já, EQL glæsilegur, en við munum koma inn á það í þriðja hluta.

Sysmon og grafgreining

Við skulum stíga til baka og hugsa um það sem við höfum búið til. Í meginatriðum höfum við nú Windows viðburðagagnagrunn sem er aðgengilegur í gegnum PowerShell. Eins og ég tók fram áðan eru tengingar eða tengsl milli skráa - í gegnum ParentProcessId - þannig að hægt er að fá fullkomið stigveldi ferla.

Ef þú hefur lesið seríuna „Ævintýri hins illskiljanlega spilliforrits“ þú veist að tölvuþrjótar elska að búa til flóknar fjölþrepa árásir, þar sem hvert ferli gegnir sínu litla hlutverki og undirbýr stökkpall fyrir næsta skref. Það er ákaflega erfitt að ná slíkum hlutum einfaldlega úr „hráu“ stokknum.
En með Get-Sysmonlogs skipuninni minni og viðbótargagnauppbyggingu sem við munum skoða síðar í textanum (grafík, auðvitað), höfum við hagnýta leið til að greina ógnir - sem krefst þess að gera rétta hornpunktaleit.
Eins og alltaf með DYI bloggverkefnin okkar, því meira sem þú vinnur að því að greina smáatriði ógna í litlum mæli, því meira munt þú gera þér grein fyrir hversu flókin ógngreining er á fyrirtækisstigi. Og þessi vitund er ákaflega mikil mikilvægur punktur.

Við munum lenda í fyrstu áhugaverðu flækjunum í seinni hluta greinarinnar, þar sem við munum byrja að tengja Sysmon atburði hver við annan í mun flóknari mannvirki.

Heimild: www.habr.com

Bæta við athugasemd