
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ä 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 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 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 , simuloimalla älykkään sisäpiiriläisen liikkumista verkossa. Tämän näet tapahtumalokissa. Windows:

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. : 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:

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 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 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.

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. .
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. (alias – "?") lyhentääksesi hakutuloksia:

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 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 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
