Blue Teaming – Prípadová štúdia
Pripravujeme pre Vás školenie o tom ako detegovať útočníka a zabrániť jeho pohybu po sieti. Vysvetlíme Vám na ňom:
- ako funguje SOC,
- aké udalosti je potrebné zaznamenávať do logov,
- ako používať maticu MITRE ATT&CK
- a ako identifikovať najčastejšie útoky, ktoré sú v nej popísané.
Zatiaľ sme pre Vás na ochutnávku pripravili článok o tom, ako spozorovať infekciu malvérom pomocou vlastného open-source SOC-u. Prípadovú štúdiu, z ktorej vychádza tento článok nám poskytla spoločnosť LIFARS.
Osquery + Kolide Fleet + ELK = SOC
Ako si vybudovať vlastný SOC? Je to možné urobiť napríklad pomocou nástrojov Osquery, Kolide Fleet a ELK.
Osquery
Osquery dokáže spracovať všetky informácie o operačnom systéme uložené v systémových súboroch takým spôsobom, aby sme ich vedeli pohodlne a jednotne dopytovať v jazyku SQL. Z informácií dostupných cez Osquery sa dozvieme všetko potrebné na prvotný incident response. Vieme si vypísať aktuálne prihlásených používateľov, naplánované úlohy, služby, spustené procesy, programy spúšťané pri zapnutí, atď.
Kolide Fleet
Na rozposielanie Osquery dopytov viacerým zariadeniam naraz použijeme nástroj Kolide Fleet. Dokážeme v ňom vytvárať takzvané querypacks, teda skupiny dopytov, ktorými sa napríklad môžeme dopytovať na indikátory kompromitácie typické pre určitý druh malvéru. Na obrázku môžete vidieť vzorový querypack pre Windows triage.
ELK
Na uloženie, spracovanie a vizualizáciu výsledkov dopytov z querypacks použijeme nástroj ELK, ktorý pozostáva z troch častí – Elasticsearch, Logstash, Kibana. Výsledky dopytov budeme ukladať pomocou back-end nástroja Elasticsearch, budeme ich spracovávať a zjednocovať pomocou nástroja Logstash a vizualizovať pomocou nástroja Kibana.
V Kibane dokážeme vytvoriť ľahko prispôsobiteľné grafy a tabuľky, ktoré zjednodušia analytikom ich prácu. V jednej tabuľke môže byť napríklad vypísaný zoznam všetkých koncových zariadení, v druhej zase zoznam všetkých naplánovaných úloh aj s cestou k programu, ktorý úloha spúšťa.
Setup
Keď chceme vybudovať SOC, musíme na každú koncovú stanicu v sieti nainštalovať Osquery. Kolide Fleet a ELK môžu byť spustené spoločne na jednom serveri. Na nasledujúcej schéme môžete vidieť architektúru takéhoto SOC-u. Ak by Kolide Fleet a ELK boli nainštalované na rôznych serveroch, výsledky z dopytov v Kolide Fleet by sa ešte museli preposielať na server s nainštalovaným ELK-om a to cez nástroj FileBeat.
Dridex
V rámci testovania takto nastaveného SOC-u, LIFARS tím na monitorovanej koncovej stanici spustil malvér Dridex a skúmal možnosti jeho detekcie. Tím urobil dopyt na získanie všetkých naplánovaných úloh na všetkých koncových zariadeniach. Keďže výsledok bol veľký, odfiltrovali všetky súbory s cestou, ktorá obsahovala \Microsoft (súbory z tohto priečinka sa zdali legitímne a takýto filter výrazne znížil veľkosť výsledku).
Medzi naplánovanými úlohami, ktoré ostali, boli dve podozrivé – spúšťali sa z podpriečinka s náhodne vygenerovaným menom, ktorý sa nachádzal v C:\Windows\System32. Tím pomocou osquery vypočítal hashe súborov, ktoré podpriečinok obsahoval a na VirusTotal overil, že sa jedná o Dridex malvér, avšak s nízkou úspešnosťou detekcie. V podpriečinku boli dva súbory – jeden EXE súbor, ktorý bol kópiou legitímneho a podpísaného EXE zo System32 a wer.dll, čo bolo maliciózne DLL.
Tím sa rozhodol pomocou Osquery odstrániť všetky škodlivé DLL súbory. Tento pokus ale dopadol neúspešne – na veľké prekvapenie členov tímu sa súbory ihneď po vymazaní opätovne objavili. Toto správanie mal pravdepodobne na svedomí nejaký proces – nastal čas pozrieť sa na tabuľky procesov.
Žiaľ, proces v sebe nedrží informáciu, aký súbor vytvoril. Vieme ale zistiť, či daný proces niečo zapisoval na disk – táto informácia je uložená v jeho premennej disk_bytes_written a na základe nej je možné identifikovať, ktorý proces znovu vytvoril škodlivé súbory po ich vymazaní.
Dá sa to urobiť takým spôsobom, že vytvoríme snapshot, niekoľkokrát vymažeme a necháme znovu sa objaviť škodlivý súbor, a potom urobíme ďalší snapshot. Následne vynásobíme veľkosť súboru počtom vymazaní, čím získame celkovú veľkosť škodlivých súborov zapísaných na disk medzi dvoma snapshotmi. Pre každý proces spočítame rozdiel v premennej disk_bytes_written medzi prvým a druhým snapshotom. Rozdiel, ktorý bude najbližší sumárnej veľkosti vymazaných a znovu zapísaných súborov, bude priradený ku škodlivému procesu. Tím uvažoval týmto smerom, urobil snapshot a potrebné výpočty, až nakoniec zistil, že škodlivým procesom bol samotný explorer.
Takto bol Blue Team schopný len za pomoci osquery a ELK urobiť incident response, prvotnú analýzu, aj mitigáciu.
Záver
Vysvetlili sme si ako si vybudovať vlastný open-source SOC, ktorý môže pomôcť pri odhalení prítomnosti malvéru aj vo väčšej sieti. Ak Vás táto téma zaujala a chcete vedieť viac o tom, ako by mal fungovať SOC, čo logovať a ako sa brániť voči taktikám útočníkov z MITRE ATT&CK, prihláste sa na workshop.