Sysmon-ohvude analüüsi juhend, osa 1

Sysmon-ohvude analüüsi juhend, osa 1

See artikkel on esimene osa Sysmon-ohvude analüüsi seeriast. Kõik teised seeria osad:

Osa 1. Tutvumine Sysmon logide analüüsiga (me siin)
Osa 2. Sysmoni sündmuste andmete kasutamine ohtude tuvastamiseks
Osa 3. Süvitsi minev analüüs Sysmon-ohvudest graafide abil

Kui tegelete küberohutusega, peate tõenäoliselt tihti tegelema toimuva rünnaku uurimisega. Kui olete piisavalt kogenud, võite proovida otsida ebatavalist tegevust "toorelt" töötlemata logidelt — näiteks PowerShelli skripti, millel on käivitunud DownloadString või VBS-skripti, mis teeseldab, et on Wordi fail, — lihtsalt kerides viimast tegevust Windowsi sündmuste logis. Kuid see on tõeliselt suur peavalu. Õnneks on Microsoft loonud Sysmoni, mis muudab rünnakute analüüsi palju lihtsamaks.

Kas soovite mõista põhilisi ideid, mis seisavad Sysmoni logis nähtud ohtude taga? Laadige alla meie juhend WMI sündmused spioneerimise vahendina ja mõistate, kuidas sisehädasid võivad vaikselt teisi töötajaid jälgida. Windowsi sündmuste logiga töötamisel on peamine probleem vanemate protsesside teabe puudumine, st sellest ei saa aru protsesside hierarhiad. Sysmoni logikannetes on seevastu vanemate protsessi identifikaator, selle nimi ja käivitamise käsk. Aitäh, Microsoft.

Meie seeria esimeses osas vaatame, mida saab teha Sysmonist saadud põhiteabega. Teises osas kasutame täielikult ära vanemate protsesside teavet, et luua keerukamaid vastavuse struktuure, mida tuntakse kui ohugraafikud. Kolmandas osas käsitleme lihtsat algoritmi, mis skaneerib ohugraafikut ebatavalise tegevuse otsimiseks, analüüsides graafiku "kaalu". Ja lõpuks ootab teid auhinna näol kena (ja arusaadav) tõenäosusmeetod ohtude tuvastamiseks.

Osa 1: Tutvumine Sysmon logide analüüsiga

Mis aitab mõista sündmuste žurnali keerukust? Lõppkokkuvõttes – SIEM. See normaliseerib sündmusi ja lihtsustab nende edasist analüüsi. Kuid meil pole tingimata vaja nii kaugele minna, vähemalt alguses. Alguses piisab SIEMi põhimõtete mõistmiseks, kui proovida imelist tasuta utiliiti Sysmon. Ja sellega on üllatavalt lihtne töötada. Nii edasi, Microsoft!

Millised võimalused on Sysmonil?

Kokkuvõttes – kasulik ja loetav teave protsesside kohta (vt allolevaid pilte). Te avastate hulgaliselt kasulikke detaile, mida Windowsi sündmuste žurnaalis pole, kuid kõige tähtsamad on järgmised väljad:

  • Protsessi ID (dekimaalses vormis, mitte hex!)
  • Vanema protsessi ID
  • Protsessi käsurea
  • Vanema protsessi käsurea
  • Faili pildi räsikood
  • Faili piltide nimed

Sysmon installitakse samal ajal seadme draivina ja teenusena – lähemalt siit. Jõudluse võti on logide analüüs mitmest allikast, teabe korrelatsioon ja tulemuste edastamine ühte sündmuste žurnali kausta, mis asub teel Microsoft -> Windows -> Sysmon -> Operational. Minu oma Windowsi logide uurimistes, mis tekitavad juustes püksi, pidin pidevalt lülituma näiteks PowerShelli logide kausta ja kausta "Turve", kerides sündmuste žurnaleid heroiliselt, et ühtegi väärtust omavahel seostada. See ei ole sugugi lihtne ülesanne ja nagu ma hiljem mõistsin, oleks parem kohe aspiriini varuda.

Sysmon seevastu teeb kvaliteetse hüppe edasi, pakkudes kasulikku (või nagu müüjad armastavad öelda – tõhusat) teavet, et aidata mõista põhiprotsesse. Näiteks käivitasin varjatud seansi wmiexec, simuleerides nutika siseringi liikme liikumist andmevõrgus. Siin on, mida te Windowsi sündmuste žurnalist näete:

Sysmon-ohvude analüüsi juhend, osa 1

Windowsi žurnalist on nähtav mingi teave protsessi kohta, kuid see on vähekasulik. Pluss, protsessi identifikaatorid on kuueteistkümnendas formaadis???

Professionaalsel IT-spetsialistil, kes mõistab häkkimise aluseid, peaks käsurea kasutamine kahtlusi tekitama. cmd.exe kasutamine järgmise käsu käivitamiseks, suunates väljundi faili kummalise nimega – see tundub selgelt juhitava ja haldava tarkvara tegevusena. käsk-and-control (C2): sel viisil luuakse vale-shelly WMI teenuste abil.
Nüüd vaatame Sysmoni vastandkirjet, pöörates tähelepanu sellele, kui palju lisainfot see meile annab:

Sysmon-ohvude analüüsi juhend, osa 1

Sysmoni võimalused ühel ekraanipildil: protsessi üksikasjalik teave loetavas vormis

Te näete mitte ainult käsurea, vaid ka faili nime, täitva rakenduse teed, mida Windows sellest teab ("Windows Command Processor"), identifikaator vanem protsess, käsurea vanem, mis käivitas cmd-shelly, samuti tegelik vanema protsessi faili nimi. Kõik on ühes kohas, lõpuks!
Sysmoni logist saame järeldada, et suur tõenäosus on, et see kahtlane käsurida, mida me nägime "toores" logides, ei ole normaalse töötaja tegevuse tulemus. Pigem vastupidi, see oli genereeritud C2-sarnase protsessi — wmiexec, nagu ma varem mainisin — ja see oli otse loodud WMI teenuse protsessi (WmiPrvSe) poolt. Nüüd on meil näitaja, et kauge ründaja või sisemistest ohtudest huvitatud isik proovib ettevõtte infrastruktuuri.

Esitleme Get-Sysmonlogs

Muidugi on suurepärane, kui Sysmon kogub logid ühte kohta. Kuid võib-olla oleks veel parem, kui saaksime juurdepääsu individuaalsetele logiväljadele programmeerimise teel – näiteks PowerShelli käskude kaudu. Sel juhul võiksime kirjutada väikese PowerShelli skripti, mis automatiseerib potentsiaalsete ohtude otsimise!
See idee ei tulnud mulle esimesena. Ja on tore, et mõnedes foorumi postitustes ja GitHubi projektides on juba selgitatud, kuidas kasutada PowerShelli Sysmon-logi töötlemiseks. Minu puhul tahtsin vältida igasuguseid eraldi parsingu skripti ridu iga Sysmoni välja jaoks. Seega kasutasin laisa inimese põhimõtet ja minu arvates tuli välja midagi huvitavat.
Esimene oluline punkt on käsku Get-WinEvent Sysmoni logide lugemise, vajalike sündmuste filtreerimise ja tulemuse kuvamise võimalus PS muutujas, nagu siin:

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

Kui soovite meeskonna tööd ise kontrollida, saate kontentide kuvamise kaudu esimeses massiivi elemendis $events, $events[0].Message, tulemuseks saada rida tekstireale väga lihtsas formaadis: Sysmoni välja nimi, koolon ja seejärel ise väärtus.

Sysmon-ohvude analüüsi juhend, osa 1

Hurraa! Sysmoni logi väljund valmis JSON-formaati

Kas mõtlete samale, mida mina? Veel veidi pingutades saame väljundi konverteerida JSON-iformaadis stringiks ja seejärel otse PS-objekti laadida võimsa käsuga ConvertFrom-Json .
Ma näitan PowerShelli koodi konverteerimiseks — see on väga lihtne — järgmises osas. Aga enne vaatame, mida minu uus käsk nimega get-sysmonlogs teha suudab, mille ma installisin PS-moodulina.
Selle asemel, et süveneda Sysmoni logide analüüsi ebamugavas sündmuste logi liideses, saame jõudumööda otsida inkrementeerivat tegevust otse PowerShelli sessioonist ning kasutada PS-käsku where (alias – „?“) tulemuste vähendamiseks:

Sysmon-ohvude analüüsi juhend, osa 1

WMI kaudu käivitatud cmd-shellide nimekiri. Ohu analüüs odavalt meie enda käsu Get-Sysmonlogs abil

Imeline! Loon Sysmon-logi küsitluse tööriista, nagu oleks see andmebaas. Meie artiklis EQL on mainitud, et see funktsioon viiakse ellu selles kirjeldatud ägeda tööriista abil, kuigi formaalselt siiski läbi reaalse SQL-taolise liidese. Jah, EQL on elegantne, aga käsitleme seda kolmandas osas.

Sysmon ja graafide analüüs

Lähme abstraktsesse mõtteviisi ja mõtleme, mida me just lõime. Põhimõtteliselt on meil nüüd Windowsi sündmuste andmebaas, millele pääseb juurde PowerShelli kaudu. Nagu ma varem mainisin, on kirjete vahel seosed või sidemed — ParentProcessId kaudu — seega saame kogu protsessihierarhia.

Kui olete lugenud seeriat „Peidetud pahavara seiklused“, siis teate, et häkkerid armastavad luua keerulisi mitmeastmelisi rünnakuid, kus iga protsess täidab oma väikese rolli ja valmistab ette järgmiseks sammuks. Sellega on äärmiselt keeruline lihtsalt „toores“ logi kaudu kinni püüda.
Aga koos minu käsu Get-Sysmonlogs ja lisandstruktuuriga, mida me hiljem käsitleme (muidugi on see graaf), saame praktilise viisi ohtude avastamiseks – selleks piisab vaid õige tippude otsingu tegemisest.
Nagu alati meie DIY blogiprojektides, mida rohkem te töötate väikeste mastaapide ohtude analüüsiga, seda paremini mõistate, kui keeruline on ohtude tuvastamine organisatsiooni tasandil. Ja see teadlikkus on äärmiselt oluline punkt.

Kohtame esimesed huvitavad raskused artikli teises osas, kus hakkame Siduma Sysmoni sündmusi palju keerukamatesse struktuuridesse.

Allikas: habr.com

Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid 🔥 Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster