Sysmon draudu analīzes rokasgrāmata, 1. daļa

Sysmon draudu analīzes rokasgrāmata, 1. daļa

Šis raksts ir Sysmon draudu analīzes sērijas pirmā daļa. Visas pārējās sērijas daļas:

1. daļa: Ievads Sysmon žurnālu analīzē (Mēs esam šeit)
2. daļa: Sysmon notikumu datu izmantošana draudu identificēšanai
3. daļa. Sysmon draudu padziļināta analīze, izmantojot grafikus

Ja strādājat informācijas drošības jomā, jums, iespējams, bieži ir jāsaprot notiekošie uzbrukumi. Ja jums jau ir apmācīta acs, varat meklēt nestandarta darbības neapstrādātajos neapstrādātajos žurnālos — piemēram, PowerShell skripts darbojas. ar komandu DownloadString vai VBS skripts, kas maskēts kā Word fails — vienkārši ritinot jaunākās darbības notikumu žurnālā WindowsBet tas ir īsts galvassāpju cēlonis. Par laimi, Microsoft izveidoja Sysmon, kas ievērojami atvieglo uzbrukumu analīzi.

Vai vēlaties izprast Sysmon žurnālā parādīto draudu pamatidejas? Lejupielādējiet mūsu ceļvedi WMI notikumi kā spiegošanas līdzeklis un jūs saprotat, kā iekšējie darbinieki var slepeni uzraudzīt citus darbiniekus. Galvenā problēma, strādājot ar notikumu žurnālu Windows Problēma ir informācijas trūkums par vecākprocesiem, kas nozīmē, ka nav iespējams izprast procesu hierarhiju. Savukārt Sysmon žurnāla ierakstos ir vecākprocesa ID, tā nosaukums un komandrindas kods, kas tiek palaists. Paldies, Microsoft.

Mūsu sērijas pirmajā daļā mēs apskatīsim, ko varat darīt ar pamatinformāciju no Sysmon. XNUMX. daļā mēs pilnībā izmantosim vecāku procesa informāciju, lai izveidotu sarežģītākas atbilstības struktūras, kas pazīstamas kā draudu diagrammas. Trešajā daļā mēs apskatīsim vienkāršu algoritmu, kas skenē draudu grafiku, lai meklētu neparastu darbību, analizējot diagrammas “svaru”. Un beigās jūs saņemsiet glītu (un saprotamu) varbūtības draudu noteikšanas metodi.

1. daļa: Ievads Sysmon žurnālu analīzē

Kas var palīdzēt izprast notikumu žurnāla sarežģītību? Galu galā - SIEM. Tas normalizē notikumus un vienkāršo to turpmāko analīzi. Bet mums nav jāiet tik tālu, vismaz ne sākumā. Sākumā, lai saprastu SIEM principus, pietiks izmēģināt brīnišķīgo bezmaksas Sysmon utilītu. Un ar viņu ir pārsteidzoši viegli strādāt. Tā turpināt, Microsoft!

Kādas funkcijas ir Sysmon?

Īsāk sakot, tas sniedz noderīgu un lasāmu informāciju par procesiem (skatiet attēlus zemāk). Jūs atradīsiet daudz noderīgas informācijas, kas nav atrodama notikumu žurnālā. Windows, bet vissvarīgākie ir šādi lauki:

  • Procesa ID (decimāldaļās, nevis heksades zīmēs!)
  • Vecāku procesa ID
  • Apstrādājiet komandrindu
  • Vecāku procesa komandrinda
  • Faila attēla jaukšana
  • Failu attēlu nosaukumi

Sysmon ir instalēts gan kā ierīces draiveris, gan kā pakalpojums - sīkāka informācija šeit. Tās galvenā priekšrocība ir iespēja analizēt žurnālus no daži avoti, informācijas korelācija un iegūto vērtību izvade vienā notikumu žurnāla mapē, kas atrodas gar ceļu Microsoft -> Windows -> Sysmon -> OperacionālsManās žurnālu izmeklēšanās WindowsŠādas matus stindzinošas kļūdas lika man pastāvīgi pārslēgties, piemēram, starp PowerShell žurnālu mapi un drošības mapi, ritinot notikumu žurnālus varonīgā mēģinājumā kaut kā korelēt vērtības starp tiem. Tas nekad nav viegls uzdevums, un, kā es vēlāk sapratu, labāk būtu uzreiz iekrāt aspirīnu.

Sysmon veic milzīgu lēcienu uz priekšu, sniedzot noderīgu (vai, kā pārdevējiem patīk teikt, praktisku) informāciju, kas palīdz izprast pamatā esošos procesus. Piemēram, es sāku slepenu sesiju wmiexec, simulējot viedā iekšējās personas pārvietošanos tīklā. To redzēsiet notikumu žurnālā. Windows:

Sysmon draudu analīzes rokasgrāmata, 1. daļa

Žurnālā Windows Daļa procesa informācijas ir redzama, taču tā nav īpaši noderīga. Vai arī procesa ID ir heksadecimālā formā?

Profesionālam IT speciālistam, kurš saprot uzlaušanas pamatus, komandrindai vajadzētu būt aizdomīgai. Izmantojot cmd.exe, lai pēc tam palaistu citu komandu un novirzītu izvadi uz failu ar dīvainu nosaukumu, ir nepārprotami līdzīga uzraudzības un vadības programmatūras darbībām. komandēšana un kontrole (C2): Tādā veidā, izmantojot WMI pakalpojumus, tiek izveidots pseidoapvalks.
Tagad apskatīsim Sysmon ieraksta ekvivalentu, pamanot, cik daudz papildu informācijas tas mums sniedz:

Sysmon draudu analīzes rokasgrāmata, 1. daļa

Sysmon funkcijas vienā ekrānuzņēmumā: detalizēta informācija par procesu lasāmā formā

Jūs redzat ne tikai komandrindu, bet arī faila nosaukumu, ceļu uz izpildāmo lietojumprogrammu, kas Windows zina par to (“Windows Komandu procesors”, identifikators vecāku process, komandrinda vecāks, kas palaida cmd apvalku, kā arī vecāku procesa īsto faila nosaukumu. Viss vienuviet, beidzot!
No Sysmon žurnāla varam secināt, ka ar lielu varbūtības pakāpi šī aizdomīgā komandrinda, ko redzējām “neapstrādātajos” žurnālos, nav darbinieka parastā darba rezultāts. Gluži pretēji, to ģenerēja C2 līdzīgs process - wmiexec, kā jau minēju iepriekš -, un to tieši radīja WMI pakalpojumu process (WmiPrvSe). Tagad mums ir rādītājs, ka attālais uzbrucējs vai iekšējās personas pārbauda korporatīvo infrastruktūru.

Iepazīstinām ar Get-Sysmonlogs

Protams, tas ir lieliski, kad Sysmon saliek baļķus vienuviet. Bet droši vien būtu vēl labāk, ja mēs varētu piekļūt atsevišķiem žurnāla laukiem programmatiski, piemēram, izmantojot PowerShell komandas. Šajā gadījumā jūs varētu uzrakstīt nelielu PowerShell skriptu, kas automatizētu iespējamo apdraudējumu meklēšanu!
Es nebiju pirmais, kam tāda doma radās. Un tas ir labi, ka dažos foruma ziņojumos un GitHub projektus Jau ir paskaidrots, kā izmantot PowerShell, lai parsētu Sysmon žurnālu. Manā gadījumā es gribēju izvairīties no nepieciešamības rakstīt atsevišķas parsēšanas skripta rindas katram Sysmon laukam. Tāpēc es izmantoju slinkā cilvēka principu un, manuprāt, rezultātā es izdomāju kaut ko interesantu.
Pirmais svarīgais punkts ir komandas varēšana Get-WinEvent izlasiet Sysmon žurnālus, filtrējiet nepieciešamos notikumus un izvadiet rezultātu uz PS mainīgo, piemēram, šeit:

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

Ja vēlaties pats pārbaudīt komandu, parādot saturu $events masīva pirmajā elementā $events[0].Ziņojums, izvade var būt teksta virkņu sērija ar ļoti vienkāršu formātu: Sysmon lauks, kols un pēc tam pati vērtība.

Sysmon draudu analīzes rokasgrāmata, 1. daļa

Urrā! Sysmon pieteikšanās izvadīšana JSON gatavā formātā

Vai tu domā to pašu ko es? Ar nedaudz vairāk pūļu varat pārvērst izvadi JSON formatētā virknē un pēc tam ielādēt to tieši PS objektā, izmantojot spēcīgu komandu. ConvertFrom-Json .
Es parādīšu PowerShell kodu konvertēšanai - tas ir ļoti vienkārši - nākamajā daļā. Pagaidām apskatīsim, ko spēj mana jaunā komanda get-sysmonlogs, kuru es instalēju kā PS moduli.
Tā vietā, lai iedziļināties Sysmon žurnāla analīzē, izmantojot neērtu notikumu žurnāla interfeisu, mēs varam bez piepūles meklēt pakāpenisku darbību tieši no PowerShell sesijas, kā arī izmantot PS komandu. kur (alias – “?”), lai saīsinātu meklēšanas rezultātus:

Sysmon draudu analīzes rokasgrāmata, 1. daļa

To cmd čaulu saraksts, kas palaists, izmantojot WMI. Lēti draudu analīze, izmantojot mūsu pašu Get-Sysmonlogs komandu

Brīnišķīgi! Es izveidoju rīku Sysmon žurnāla aptaujai tā, it kā tā būtu datu bāze. Mūsu rakstā par EQ paplašinājums tika atzīmēts, ka šo funkciju veiks tajā aprakstītā foršā utilīta, lai gan formāli joprojām caur īstu SQL līdzīgu interfeisu. Jā, EQL elegants, bet mēs tam pieskarsimies trešajā daļā.

Sismonu un grafiku analīze

Atgriezīsimies soli atpakaļ un padomāsim par to, ko tikko esam izveidojuši. Būtībā mums tagad ir notikumu datubāze. Windows, pieejams, izmantojot PowerShell. Kā jau minēju iepriekš, starp ierakstiem pastāv savienojumi vai relācijas — izmantojot ParentProcessId —, tāpēc varat izgūt pilnu procesa hierarhiju.

Ja esat lasījis sēriju "Netveramās ļaunprogrammatūras piedzīvojumi" jūs zināt, ka hakeriem patīk radīt sarežģītus daudzpakāpju uzbrukumus, kuros katrs process spēlē savu mazo lomu un sagatavo tramplīnu nākamajam solim. Tādas lietas ir ārkārtīgi grūti noķert vienkārši no “neapstrādāta” baļķa.
Bet ar manu Get-Sysmonlogs komandu un papildu datu struktūru, ko mēs aplūkosim vēlāk tekstā (protams, diagramma), mums ir praktisks veids, kā noteikt draudus — tam ir nepieciešams veikt pareizo virsotņu meklēšanu.
Kā vienmēr ar mūsu DYI emuāru projektiem, jo ​​vairāk jūs strādājat, lai analizētu informāciju par draudiem nelielā mērogā, jo vairāk jūs sapratīsit, cik sarežģīta ir draudu noteikšana uzņēmuma līmenī. Un šī apziņa ir ārkārtīgi liela svarīgs punkts.

Ar pirmajiem interesantajiem sarežģījumiem mēs saskarsimies raksta otrajā daļā, kur sāksim savienot Sysmon notikumus savā starpā daudz sarežģītākās struktūrās.

Avots: www.habr.com

Iegādājieties uzticamu mitināšanu vietnēm ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa vietņu mitināšanu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster