Threat Hunting MDATP alapokon

 

Ahogy a támadások egyre kifinomultabbá és gyakoribbá válnak, a védelmi megoldásoknak is fel kell zárkózniuk, hogy a felhasználók kiberbiztonságát szavatolni tudják. A Microsoft Defender Advanced Threat Protection (MDATP) egy vállalati végpontvédelmi megoldás, mely arra lett tervezve, hogy segítse a vállalatokat a megelőzésben, detektálásban és a nyomozásban a fenyegetésekkel szemben, valamint segítse az ezekre történő reagálást.

Az MDATP automatikusan szűri és detektálja a gyanús eseményeket a végponton, majd ezeket egy felhőalapú felületen megjeleníti a könnyű kezelhetőség érdekében. A beépített detekciós szabályok mellett lehetőség van a platform személyre szabására, saját szabályok létrehozásával. Ez a funkció az, ami lehetővé teszi a threat hunting metódusok alkalmazását ezen a platformon. Ezen opció mellett lehetőség van a riasztásokra való reagálásokra is, például a vírussal fertőzött végpont elkülönítésére.

Miért van szükség threat hunting-ra?

A threat hunting a védekezés proaktív megközelítése, azaz nem várjuk meg, amíg az incidens megtörténik, hanem különböző indikátorok (például threat intelligence, malware karakterisztikák, új sérülékenységek) alapján történő kereséssel kiszűrhető, hogy az infrastruktúrára veszélyt jelent-e az adott fenyegetés. Amennyiben találtunk fenyegetésre utaló jelet, megelőző lépéseket tehetünk vagy az erre vonatkozó riasztás beállításával csökkenthető a dwell time (az infrastruktúra megfertőződésétől a detektálásig eltelt idő).

Mi a malware?

Az egyik olyan probléma, amivel az IT biztonsági szakembernek meg kell birkóznia, a malware. Több fajtája létezik, melyek a teljesség igénye nélkül: zsarolóvírus, mely titkosítja az eszközön lévő adatokat, és csak fizetés ellenében adja meg a titkosítás feloldásához szükséges kulcsot; spyware, mely információt gyűjt a felhasználóról annak tudta nélkül; adware, mely a felhasználó online aktivitása alapján célzott reklámokkal bombázza őt; trójai, mely nevét a trójai falóról kapta és hasznos szoftvernek álcázva célozza meg a felhasználót, azonban a rosszindulatú aktor képes ezen keresztül átvenni az irányítást az eszköz felett. Egy részletesebb leírás a malware-ekről és azok veszélyeiről ezen a linken található.

Vadászat a perziszenciát kialakító malware-re

Ebben a blogposztban egy konkrét példán keresztül nézzük meg, hogy hogyan tudjuk használni az MDATP-t, a perzisztenciát kialakító rosszindulatú programokra. A malware-ek célja a lefutásuk után az, hogy észrevetetlenek maradjanak a rendszeren, illetve az eszköz újraindítása után is működőképesek legyenek. Ennek elérésére a legtöbb malware különböző registry kulcsokat módosít, vagy újakat hoz létre. Most ezen a vonalon elindulva fogjuk megvizsgálni az MDATP alapú keresést. Az MDATP a https://securitycenter.windows.com linken keresztül érhető el.

Számos lehetőség kínálkozik ezen a felületen, azonban most számunkra az Advanced hunting az, melyet használni fogunk (pirossal jelölve az 1. ábrán), ugyanis ez az eszköz az, mely Kusto Query Language (KQL) használatával betekintést nyújt a nyers adatokba. Az Advanced hunting séma táblákból áll, melyek vagy eseményekről, vagy eszközökről nyújtanak információt. Ezekről a táblákról itt található bővebb információ.

A számunkra szükséges tábla a DeviceRegistryEvents, ami a registry bejegyzések keletkezéséről és változásáról tartalmaz információt. Ebben a táblában a lekérdezés írásához fontos adatokat az ActionType és RegistryKey oszlopok tartalmazzák.

Az ActionType oszlopból a “RegistryKeyCreated” sztring, valamint a RegistryKey oszlopból a “Run”, “RunOnce”, “RunService”, “RunServiceOnce” sztringek querybe foglalásával tudjuk szűkíteni a keresést.

Jelen query-ben a találatok közül kivesszük az InitiatingProcessFileName oszlopból a “setuphost.exe” sztringet a fals pozitív találatok szűkítése érdekében. Ezen adatok egybe foglalása után így néz ki a lekérdezésünk:


DeviceRegistryEvents
|where ActionType == "RegistryKeyCreated"
|where InitiatingProcessFileName != "setuphost.exe"
|where RegistryKey has @"\Windows\CurrentVersion\Run"
or RegistryKey contains "RunOnce"
or RegistryKey contains "RunServices"
or RegistryKey contains "RunServicesOnce"

Ez a lekérdezés lefuttatva validálható mennyiségű találatot ad számunkra. A queryben nincs kiszűrve egyik oszlop sem, így a releváns találatok esetében akkor is megjeleníti azokat, ha nincs hozzárendelve érték. A gyanús eseményekre rákattintva az információk vizualizálva jelennek meg, ezáltal a process tree könnyen áttekinthető, és egyszerűen azonosítható az a folyamat, amely eredményeként a registry kulcs létrehozása megtörtént.

July 24th, 2020

Top