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ä
Haluatko ymmärtää Sysmon-lokissa näkyvien uhkien taustalla olevat perusajatukset? Lataa oppaamme
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 - hyödyllistä ja luettavaa tietoa prosesseista (katso kuvat alla). Löydät joukon hyödyllisiä tietoja, jotka eivät ole Windowsin tapahtumalokissa, mutta tärkeimmät 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
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
Windowsin loki näyttää joitain tietoja prosessista, mutta siitä on vain vähän hyötyä. Plus prosessitunnukset 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.
Katsotaanpa nyt Sysmon-merkinnän vastinetta ja huomaa kuinka paljon lisätietoa se antaa meille:
Sysmonin ominaisuudet yhdessä kuvakaappauksessa: yksityiskohtaista tietoa prosessista luettavassa muodossa
Et näe vain komentoriviä, vaan myös tiedoston nimen, polun suoritettavaan sovellukseen, mitä Windows tietää siitä ("Windows Command Processor"), tunnisteen 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
Ensimmäinen tärkeä asia on joukkueen kyky
$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.
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
Sysmon- ja graafianalyysi
Astutaan taaksepäin ja mietitään, mitä juuri loimme. Käytännössä meillä on nyt Windows-tapahtumatietokanta, johon pääsee PowerShellin kautta. Kuten aiemmin totesin, tietueiden välillä on yhteyksiä tai suhteita - ParentProcessId:n kautta - joten täydellinen prosessihierarkia voidaan saada.
Jos olet lukenut sarjan
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