Sysmon fenyegetések elemzési útmutató, 1. rész

Sysmon fenyegetések elemzési útmutató, 1. rész

Ez a cikk a Sysmon fenyegetésekkel kapcsolatos elemzés sorozatának első része. A sorozat többi része:

1. rész. Bevezetés a Sysmon naplók elemzésébe (itt vagyunk)
2. rész. A Sysmon eseményekből származó adatok felhasználása a fenyegetések azonosításához
3. rész. Mélyreható elemzés Sysmon fenyegetésekről gráfok segítségével

Ha informatikai biztonsággal foglalkozik, valószínűleg gyakran találkozik a folyamatban lévő támadásokkal. Ha már van tapasztalata, kereshet szokatlan tevékenységeket a „nyers” feldolgozatlan naplókban – mondjuk, egy PowerShell-szkript, amely a DownloadString parancsot futtatja vagy egy VBS-szkript, amely Word fájlként álcázza magát, – egyszerűen átlapozva az utolsó tevékenységet a Windows eseménynaplójában. De ez valóban nagy fejfájást jelent. Szerencsére a Microsoft létrehozta a Sysmont, amely jelentősen megkönnyíti a támadások elemzését.

Szeretné megérteni a Sysmon naplóiban megjelenő fenyegetések alapvető elveit? Töltse le útmutatónkat WMI események kémkedés céljából és megérti, hogyan figyelhetik meg észrevétlenül a munkatársakat az illetéktelenek. A Windows eseménynaplójának kezelésének fő problémája az szülő folyamatok hiánya, azaz nem lehet megérteni a folyamatok hierarchiáját. A Sysmon naplóbejegyzéseiben ugyanakkor megtalálhatók a szülő folyamat azonosítója, neve és a futtatott parancssor. Köszönjük, Microsoft.

Sorozatunk első részében megvizsgáljuk, mit lehet tenni az alapvető Sysmon információkkal. A második részben teljes mértékben kihasználjuk a szülő folyamatok adatait, hogy komplexebb megfelelőségi struktúrákat hozzunk létre, amelyeket fenyegetési gráfoknak nevezünk. A harmadik részben megvizsgálunk egy egyszerű algoritmust, amely a fenyegetési gráfot szkennelve keresi a szokatlan tevékenységeket a gráf ’súlyának’ elemzésével. A végén pedig egy tiszta (és érthető) valószínűségi módszer várja az Ön fenyegetés-észlelését.

1. rész: Bevezetés a Sysmon naplók elemzésébe

Mi segít megérteni az eseménynaplók bonyodalmait? Végső soron – a SIEM. Ez normalizálja az eseményeket és megkönnyíti a további elemzésüket. De nem szükséges ilyen messzire mennünk, legalábbis kezdetben. Az SIEM alapelveinek megértéséhez elegendő lesz kipróbálni a csodálatos ingyenes Sysmon eszközt. Ráadásul meglepően könnyű vele dolgozni. Csak így tovább, Microsoft!

Milyen lehetőségei vannak a Sysmonnak?

Röviden – hasznos és olvasható információk a folyamatokról (lásd az alábbi képeket). Sok hasznos részletet fognak felfedezni, amelyek nincsenek a Windows eseménynaplójában, de ami a legfontosabb – a következő mezők:

  • A folyamat azonosítója (decimális formában, nem hexadecimálisan!)
  • A szülőfolyamat azonosítója
  • A folyamat parancssora
  • A szülőfolyamat parancssora
  • A fájl képének hash-e
  • A fájl képeinek nevei

A Sysmon egyszerre települ eszköz-illesztőprogramként és szolgáltatásként – továbbiak itt. Kulcsfontosságú előnye, hogy képes naplókat elemezni több forrásból, az információk korrelálása és a eredményértékek egy eseménynapló mappába történő kiírása, amely az alábbi úton található Microsoft -> Windows -> Sysmon -> Operatív. A saját Windows naplóim nyomozása során, amiktől égnek áll a hajam, állandóan váltanom kellett mondjuk a PowerShell naplók mappája és a "Biztonság" mappa között, lapozva az eseménynaplókat hősies kísérletben, hogy valahogyan össze tudjam hasonlítani az értékeket közöttük. Ez egyáltalán nem könnyű feladat, és ahogy később rájöttem, jobb lett volna, ha előre beszerzek egy fájdalomcsillapítót.

A Sysmon viszont egy minőségi előrelépést biztosít, értékes (vagy ahogy a gyártók mondják – hatékony) információt nyújtva, hogy segítse megérteni az alapvető folyamatokat. Például elindítottam egy rejtett ülést wmiexec, ami egy okos belső ember hálózaton belüli mozgását szimulálja. Így néz ki, amikor ezt látja a Windows eseménynaplóban:

Sysmon fenyegetések elemzési útmutató, 1. rész

A Windows naplóban valamilyen folyamatinformáció látható, de az nem túl hasznos. Plusz a folyamatazonosítók hexadecimális formában???

Egy szakmai IT-szakembernek, aki érti a hackelés alapjait, gyanút kell, hogy keltsen a parancssor. A cmd.exe használata más parancs utólagos végrehajtására, a kimenet átirányításával egy furcsa nevű fájlba – ez egyértelműen a vezérlő és irányító szoftverek tevékenységére hasonlít. parancs-vezérlés (C2): ezzel a módszerrel WMI-szolgáltatások segítségével pseudo-shell jön létre.
Most nézzük meg a Sysmon-ból származó bejegyzés megfelelőjét, figyelmesen azzal, hogy mennyi további információt ad nekünk:

Sysmon fenyegetések elemzési útmutató, 1. rész

A Sysmon lehetőségei egy képernyőn: részletes információ a folyamatról olvasható formában

Nem csak a parancssort látja, hanem a fájl nevét, az végrehajtó alkalmazás útvonalát, amit a Windows tud róla (“Windows Command Processor”), az azonosítót szülő folyamat, a parancssor szülőt, amely cmd-shellt indított, és a szülő folyamat valódi fájnevével. Mindez egy helyen, végre!
A Sysmon naplóból arra a következtetésre jutottunk, hogy nagy valószínűséggel ez a gyanús parancssor, amelyet a „nyers” naplókban láttunk, nem a munkavállaló normál tevékenysége. Ellenkezőleg, ezt egy C2-jellegű folyamat generálta – wmiexec, ahogy korábban említettem – és közvetlenül a WMI szolgáltatás (WmiPrvSe) folyamatából származott. Most van egy indikátorunk, hogy a távoli támadó vagy belsős próbálja tesztelni a vállalati infrastruktúrát.

Bemutatjuk a Get-Sysmonlogs-t

Természetesen csodálatos, amikor a Sysmon naplók egy helyen vannak. De talán még jobb lenne, ha programozott módon hozzáférhetnénk az egyes naplószettekhez – például PowerShell parancsokon keresztül. Ebben az esetben írhattunk volna egy kis PowerShell szkriptet, amely automatizálja a potenciális fenyegetések keresését!
Nem csak nekem jutott eszembe ez az ötlet. És örömteli, hogy néhány fórum- és GitHub-bejegyzésben projekteken már megmagyarázták, hogyan használhatjuk a PowerShell-t a Sysmon-napló elemzésére. Az én esetemben szerettem volna elkerülni, hogy külön parsnin-szkript sorokat írjak minden Sysmon mezőhöz. Így a lusták elvét használtam, és véleményem szerint eredményeként valami érdekeset találtam ki.
Az első fontos szempont, hogy a Get-WinEvent parancs olvassa a Sysmon naplókat, kiszűri a szükséges eseményeket és kimenti az eredményt egy PS változóba, mint itt:

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

Ha a csapat munkáját szeretné önállóan ellenőrizni, az $events tömb első elemében megjelenő tartalom, $events[0].Message segítségével egy sor egyszerű formátumú szöveges sor kinyerhető: Sysmon mező neve, kettőspont, majd az érték önmagában.

Sysmon fenyegetések elemzési útmutató, 1. rész

Hurrá! A Sysmon napló kimenete JSON formátumba állítva

Ugyanarra gondol, mint én? Még egy kis erőfeszítéssel a kimenetet JSON formátumú szöveggé alakíthatjuk, és közvetlenül betölthetjük egy PS-objektumba egy erőteljes parancs segítségével. ConvertFrom-Json .
Megmutatom a PowerShell kódot a konvertáláshoz — nagyon egyszerű — a következő részben. De addig nézzük meg, mit tud a Get-Sysmonlogs nevű új csapatom, amelyet PS-módulként telepítettem.
Ahelyett, hogy a Sysmon naplóknak a kényelmetlen eseménynapló felületén keresnénk az elemzését, könnyedén kereshetjük az inkrementális aktivitást közvetlenül a PowerShell munkamenetből, valamint használhatjuk a PS parancsot where (alias – „?”) a találati eredmények szűkítésére:

Sysmon fenyegetések elemzési útmutató, 1. rész

WMI-n keresztül futtatott cmd-shells listája. Fenyegetésanalízis olcsón a saját Get-Sysmonlogs parancsunkkal

Meglepetés! Olyan Sysmon naplólekérdező eszközt készítettem, mintha egy adatbázis lenne. A cikkünkben a EQL megemlítették, hogy ezt a funkciót a leírt szupereszköz fogja végrehajtani, bár formálisan valójában egy SQL-szerű felületen keresztül. Igen, az EQL elegáns, de erről a harmadik részben fogunk beszélni.

Sysmon és grafikonanalízis

Abstraháljunk, és gondoljuk át, mit hoztunk létre. Lényegében most már van egy Windows eseményadatbázisunk, amely PowerShellen keresztül elérhető. Ahogy korábban említettem, a bejegyzések között kapcsolat vagy összefüggés van — a ParentProcessId által — így teljes folyamat hierarchia kinyerhető.

Ha elolvasta a sorozatot „A megfoghatatlan malware kalandjai”, akkor tudja, hogy a hackerek szeretik a bonyolult, többlépcsős támadásokat létrehozni, ahol minden egyes folyamat egy kis szerepet játszik, és előkészíti a következő lépést. Az ilyen dolgokat rendkívül nehéz felfedezni egyszerűen a „nyers” napló alapján.
De a Get-Sysmonlogs csapatommal és azzal a további adatszerkezettel, amelyet a következőkben megbeszélünk (természetesen ez grafikon), praktikus módot kapunk a fenyegetések felfedezésére – mindössze annyit kell tennünk, hogy helyesen keresünk a csúcsok között.
Ahogy mindig a DYI blogprojektjeinkben, minél többet dolgozik a fenyegetések részleteinek elemzésén kisméretű környezetben, annál jobban realizálja, mennyire bonyolult a fenyegetések észlelése a szervezeti szinten. Ez a tudat rendkívül fontos szempont.

Első érdekes bonyodalmakra a cikk második részében találkozunk, ahol a Sysmon-eseményeket sokkal összetettebb struktúrákba kezdjük el összekapcsolni.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster