Sysmon Threat Analysis Guide -opas, osa 1

Sysmon Threat Analysis Guide -opas, osa 1

Tämä artikkeli on Sysmonin uhka-analyysin sarjan ensimmäinen osa. Kaikki muut sarjan osat:

Osa 1: Sysmon-lokianalyysin esittely (Olemme täällä)
Osa 2: Sysmon-tapahtumatietojen käyttäminen uhkien tunnistamiseen
Osa 3. Sysmon-uhkien syvällinen analyysi kaavioiden avulla

Jos työskentelet tietoturva-alalla, sinun on luultavasti usein ymmärrettävä meneillään olevat hyökkäykset. Jos sinulla on jo koulutettu silmä, voit etsiä ei-standardista toimintaa "raaka" käsittelemättömästä lokista - esimerkiksi PowerShell-skripti käynnissä DownloadString-komennolla tai Word-tiedostoksi naamioitu VBS-skripti – yksinkertaisesti selaamalla tapahtumalokin viimeisimpiä toimintoja WindowsMutta tämä on todellinen päänsärky. Onneksi Microsoft loi Sysmonin, joka tekee hyökkäysten analysoinnista paljon helpompaa.

Haluatko ymmärtää Sysmon-lokissa näkyvien uhkien taustalla olevat perusajatukset? Lataa oppaamme WMI-tapahtumat vakoilukeinona ja huomaat, kuinka sisäpiiriläiset voivat salaa valvoa muita työntekijöitä. Tapahtumalokin kanssa työskentelyn suurin ongelma Windows Ongelmana on vanhempien prosessien tietojen puute, mikä tarkoittaa, että prosessihierarkiaa on mahdotonta ymmärtää. Sysmon-lokimerkinnät puolestaan ​​sisältävät vanhempien prosessien tunnuksen, nimen ja suoritettavan komentorivin. Kiitos, Microsoft.

Sarjamme ensimmäisessä osassa tarkastellaan, mitä voit tehdä Sysmonin perustiedoilla. Osassa XNUMX hyödynnämme täysimääräisesti pääprosessin tietoja luodaksemme monimutkaisempia vaatimustenmukaisuusrakenteita, joita kutsutaan uhkakaavioiksi. Kolmannessa osassa tarkastellaan yksinkertaista algoritmia, joka skannaa uhkakuvaajan ja etsii epätavallista toimintaa analysoimalla kaavion "painoa". Ja lopuksi sinut palkitaan siistillä (ja ymmärrettävällä) todennäköisyyspohjaisella uhkien havaitsemismenetelmällä.

Osa 1: Sysmon-lokianalyysin esittely

Mikä voi auttaa sinua ymmärtämään tapahtumalokin monimutkaisuuden? Lopulta - SIEM. Se normalisoi tapahtumat ja yksinkertaistaa niiden myöhempää analysointia. Mutta meidän ei tarvitse mennä niin pitkälle, ainakaan aluksi. Alussa SIEM:n periaatteiden ymmärtämiseksi riittää kokeilla upeaa ilmaista Sysmon-apuohjelmaa. Ja hänen kanssaan on yllättävän helppo työskennellä. Jatka samaan malliin, Microsoft!

Mitä ominaisuuksia Sysmonilla on?

Lyhyesti sanottuna se tarjoaa hyödyllistä ja helposti luettavaa tietoa prosesseista (katso kuvat alla). Löydät paljon hyödyllisiä tietoja, joita ei löydy tapahtumalokista. Windows, mutta tärkeimpiä ovat seuraavat kentät:

  • Prosessin tunnus (desimaalilukuina, ei heksadesimaalilukuina!)
  • Pääprosessin tunnus
  • Käsittele komentorivi
  • Pääprosessin komentorivi
  • Tiedoston kuvan hash
  • Tiedostojen kuvien nimet

Sysmon asennetaan sekä laiteajurina että palveluna - lisätietoja täällä. Sen tärkein etu on kyky analysoida lokeja Muutaman lähteet, tietojen korrelaatio ja tuloksena olevien arvojen tulostus yhteen tapahtumalokikansioon, joka sijaitsee polun varrella Microsoft -> Windows -> Sysmon -> ToiminnallinenOmissa lokitietotutkimuksissani WindowsTällaiset hiuksia nostattavat virheet saivat minut jatkuvasti vaihtamaan esimerkiksi PowerShell-lokikansion ja Security-kansion välillä ja selaamaan tapahtumalokeja sankarillisessa yrityksessä jotenkin korreloida niiden väliset arvot. Tämä ei ole koskaan helppo tehtävä, ja kuten myöhemmin tajusin, olisi ollut parempi varastoida aspiriinia heti.

Sysmon ottaa suuren harppauksen eteenpäin tarjoamalla hyödyllistä (tai kuten myyjät haluavat sanoa, toimivaa) tietoa, joka auttaa ymmärtämään taustalla olevia prosesseja. Aloitin esimerkiksi salaisen istunnon wmiexec, simuloimalla älykkään sisäpiiriläisen liikkumista verkossa. Tämän näet tapahtumalokissa. Windows:

Sysmon Threat Analysis Guide -opas, osa 1

Lehdessä Windows Jotkin prosessitiedot ovat näkyvissä, mutta ne eivät ole kovin hyödyllisiä. Myös prosessien tunnukset heksadesimaalimuodossa?

Ammattimaiselle IT-ammattilaiselle, joka ymmärtää hakkeroinnin perusteet, komentorivin pitäisi olla epäilyttävä. Cmd.exe-tiedoston käyttäminen toisen komennon suorittamiseen ja tulosteen uudelleenohjaamiseen oudolla nimellä on selvästi samanlainen kuin valvonta- ja ohjausohjelmiston toiminnot. komento ja ohjaus (C2): Tällä tavalla luodaan pseudo-kuori käyttämällä WMI-palveluita.
Katsotaanpa nyt Sysmon-merkinnän vastinetta ja huomaa kuinka paljon lisätietoa se antaa meille:

Sysmon Threat Analysis Guide -opas, osa 1

Sysmonin ominaisuudet yhdessä kuvakaappauksessa: yksityiskohtaista tietoa prosessista luettavassa muodossa

Näet paitsi komentorivin, myös tiedostonimen, suoritettavan sovelluksen polun, joka Windows tietää siitä ("Windows Komentosuoritin”, tunniste vanhempien prosessi, komentorivi vanhempi, joka käynnisti cmd-kuoren, sekä emoprosessin oikean tiedostonimen. Kaikki yhdessä paikassa, vihdoin!
Sysmon-lokista voimme päätellä, että suurella todennäköisyydellä tämä epäilyttävä komentorivi, jonka näimme "raakoissa" lokeissa, ei ole seurausta työntekijän normaalista työstä. Päinvastoin, se on luotu C2:n kaltaisella prosessilla - wmiexec, kuten aiemmin mainitsin - ja sen synnytti suoraan WMI-palveluprosessi (WmiPrvSe). Nyt meillä on osoitus siitä, että etähyökkääjä tai sisäpiiriläinen testaa yrityksen infrastruktuuria.

Esittelyssä Get-Sysmonlogs

Tietysti on hienoa, kun Sysmon laittaa lokit yhteen paikkaan. Mutta luultavasti olisi vielä parempi, jos voisimme käyttää yksittäisiä lokikenttiä ohjelmallisesti - esimerkiksi PowerShell-komentojen kautta. Tässä tapauksessa voit kirjoittaa pienen PowerShell-komentosarjan, joka automatisoi mahdollisten uhkien etsimisen!
En ollut ensimmäinen, jolla oli tällainen ajatus. Ja on hyvä, että joissakin foorumiviesteissä ja GitHubissa hankkeita On jo selitetty PowerShellin käyttäminen Sysmon-lokin jäsentämiseen. Minun tapauksessani halusin välttää kirjoittamasta erillisiä jäsennysskriptirivejä jokaiselle Sysmon-kentälle. Joten käytin laiska miehen periaatetta ja mielestäni sain tuloksena jotain mielenkiintoista.
Ensimmäinen tärkeä asia on joukkueen kyky Hanki-WinEvent lue Sysmon-lokit, suodata tarvittavat tapahtumat ja tulosta tulos PS-muuttujaan, kuten tässä:

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

Jos haluat testata komentoa itse, näyttämällä sisällön $events-taulukon ensimmäisessä elementissä $events[0]. Viesti, tulos voi olla sarja tekstijonoja hyvin yksinkertaisessa muodossa: Sysmon-kenttä, kaksoispiste ja sitten itse arvo.

Sysmon Threat Analysis Guide -opas, osa 1

Hurraa! Sysmon-login tulostaminen JSON-valmiiseen muotoon

Ajatteletko samaa kuin minä? Pienellä vaivalla voit muuntaa lähdön JSON-muotoiseksi merkkijonoksi ja ladata sen sitten suoraan PS-objektiin tehokkaalla komennolla. MuunnaFrom-Json .
Näytän PowerShell-koodin muunnokselle - se on hyvin yksinkertainen - seuraavassa osassa. Katsotaan nyt, mitä uusi komento get-sysmonlogs, jonka asensin PS-moduuliksi, voi tehdä.
Sen sijaan, että sukeltamme syvälle Sysmon-lokianalyysiin hankalan tapahtumalokirajapinnan kautta, voimme vaivattomasti etsiä lisätoimintoja suoraan PowerShell-istunnosta sekä käyttää PS-komentoa. jossa (alias – "?") lyhentääksesi hakutuloksia:

Sysmon Threat Analysis Guide -opas, osa 1

Luettelo WMI:n kautta käynnistetyistä cmd-kuorista. Uhka-analyysi halvalla oman Get-Sysmonlogs-tiimimme avulla

Mahtavaa! Loin työkalun Sysmon-lokin kyselyyn ikään kuin se olisi tietokanta. Artikkelissamme aiheesta EQ laajennus todettiin, että tämä toiminto suorittaa siinä kuvattu cool apuohjelma, vaikka muodollisesti vielä todellisen SQL:n kaltaisen käyttöliittymän kautta. Kyllä, EQL tyylikäs, mutta käsittelemme sitä kolmannessa osassa.

Sysmon- ja graafianalyysi

Otetaanpa askel taaksepäin ja mietitään, mitä olemme juuri luoneet. Pohjimmiltaan meillä on nyt tapahtumatietokanta. Windows, johon pääsee PowerShellin kautta. Kuten aiemmin totesin, tietueiden välillä on yhteyksiä tai suhteita – ParentProcessId:n kautta – joten voit hakea koko prosessihierarkian.

Jos olet lukenut sarjan "Tavattoman haittaohjelman seikkailut" tiedät, että hakkerit rakastavat monimutkaisten monivaiheisten hyökkäysten luomista, joissa jokaisella prosessilla on oma pieni roolinsa ja jotka valmistelevat ponnahduslautaa seuraavaan vaiheeseen. Tällaisia ​​asioita on äärimmäisen vaikea saada kiinni yksinkertaisesti "raakasta" lokista.
Mutta Get-Sysmonlogs-komennollani ja lisätietorakenteella, jota tarkastelemme myöhemmin tekstissä (tietenkin kaavio), meillä on käytännöllinen tapa havaita uhkia - mikä vaatii vain oikean vertex-haun.
Kuten aina DYI-blogiprojekteissamme, mitä enemmän työskentelet uhkien yksityiskohtien analysoimiseksi pienessä mittakaavassa, sitä paremmin ymmärrät, kuinka monimutkaista uhkien havaitseminen on yritystasolla. Ja tämä tietoisuus on äärimmäistä tärkeä pointti.

Ensimmäiset mielenkiintoiset komplikaatiot kohtaamme artikkelin toisessa osassa, jossa alamme yhdistää Sysmon-tapahtumia toisiinsa paljon monimutkaisemmiksi rakenteiksi.

Lähde: will.com

Osta luotettava isännöinti sivustoille, joissa on DDoS-suojaus, VPS VDS -palvelimet 🔥 Osta luotettavaa verkkosivustojen hostingia DDoS-suojauksella, VPS VDS -palvelimilla | ProHoster