Sysmon
Sysmon je systémová služba/nástroj pro monitorování a zaznamenávání systémové aktivity do protokolu událostí ve Windows. Pracuje jako Windows služba a také jako zařízení ovladače, zaznamenávající různé události systému, včetně síťových spojení, změn informací o vytváření souborů a dalších.
Více informací naleznete tady - https://learn.microsoft.com/cs-cz/sysinternals/downloads/sysmon
Obraťte se na: https://learn.microsoft.com/cs-cz/sysinternals/downloads/sysmon#usage pro detailní instrukce k instalaci.
Sysmon sbírá bezpečnostní události ze systému a publikuje je do kanálu Microsoft-Windows-Sysmon/Operational - odtud mohou být události vyzvednuty pomocí Winlogbeat. Aby Winlogbeat agent mohl vyzvedávat události z tohoto kanálu, musí být nastaven tak, aby vyzvedával události ze všech zdrojů událostí. Odkazujte se na: Konfigurace zdroje událostí.
Povolením této možnosti bude agent Winlogbeat odesílat každou událost generovanou na koncovém bodě systému Windows. Uvažujte o použití filtru pro omezení množství sbíraných událostí. Odkazujte se na: Filtry Beat agentů
Sysmon pro správné fungování vyžaduje XML konfigurační soubor. Vytvoření takového souboru je složitý úkol, avšak díky velmi užitečnému nástroji https://github.com/olafhartong/sysmon-modular a našem zkušenostem jsme vytvořili dva konfigurační soubory, o kterých se domníváme, že nejlépe vyhovují potřebám našich klientů:
Sysmon bude posílat pouze bezpečnostní události a detekovat potenciální bezpečnostní problémy. Toto je výchozí konfigurační soubor, který byste měli používat.
Sysmon bude posílat všechny bezpečnostní události a události potřebné pro kompletní forenzní analýzu, které mohou být zajímavé v rámci celkového bezpečnostního kontextu. Používejte pouze pro koncové body VIP.
Tato konfigurace vygeneruje monoho forenzních dat! Použijte ji POUZE na koncových bodech, které vyžadují externí monitoring.
Protože neexistuje “univerzální” řešení, které by vyhovovalo všem, a každá infrastruktura je odlišná, je možné, že po povolení Sysmonu začne produkovat nadměrné množství určitých typů událostí. Pokud po vyšetření dospějete k závěru, že se jedná o falešně pozitivní události, můžete vytvořit Winlogbeat filtr, abyste se zbavili tohoto hluku.
Filtry jsou vytvářeny v LM menu - Beat Filtry. Přidali jsme příklady filtrů do kolonky “Examples” v Blockly menu.
Záznamy Sysmon jsou automaticky rozpoznávány v klasifikační šabloně vendor-beats-template. Pokud používáte nejnovější verzi Logmanageru, která tuto funkci podporuje (verze >= 3.9.9), nemusíte provádět žádné dodatečné kroky pro klasifikaci.
Pro efektivnější práci se Sysmonem je vhodné zahrnout do bílé listiny určité události Sysmonu, které bezpečnostní analytik rozpoznal jako rušivé. K tomuto účelu můžete použít tabulku pro vyhledávání sysmon-hash-whitelist.
Události obsahující hash, který je rovněž uveden v této tabulce pro vyhledávání, jsou automaticky označeny štítkem whitelisted (zahrnuté do bílé listiny) analýzou Sysmonu a nebudou zahrnuty ve výchozí šabloně pro upozornění Sysmon Alert. Je také možné tyto události filtrovat v dashboardech pomocí štítku whitelisted.
Tabulka pro vyhledávání může být použita k označení událostí s následujícími identifikátory událostí (EventID):
- 1 - Process Create - obsahuje hash souboru specifikovaného v poli
msg.image
. - 6 - Kernel Driver Loaded - obsahuje hash souboru uvedeného v poli
msg.imageloaded
. - 7 - Image Loaded - obsahuje hash souboru specifikovaného v poli
msg.imageloaded
. - 15 - File Create Stream - obsahuje hash souboru specifikovaného v poli
msg.targetfilename
. - 23 - File Delete - obsahuje hash souboru specifikovaného v poli
msg.targetfilename
.
Nedoporučujeme zahrnovat hashe Windows komponentů, jako jsou svchost.exe, WmiPrvSE.exe nebo certutil.exe, do sysmon-hash-whitelist tabulky pro vyhledávání, protože tyto procesy jsou často využívány útočníky. Tabulka zahrnuje hashe souborů a knihoven aplikací třetích stran, které způsobují falešné pozitivy, ale jsou kontrolovány správcem.
Předdefinovaná šablona Sysmon alert reaguje na události označené Sysmon štítkem podezřelé (suspicious) s událostnímí identifikátory 4, 15, 16 a 255, zároveň také na události s názvy pravidel v poli msg.rulename
, které obsahují Credential Dumping, Process Injection a Sysmon Bypass. Když alert detekuje události popsané výše, pošle varovný e-mail s následujícím obsahem (ukázkový případ pro Process Injection je uveden na obrázku pod textem). Pokud alert opakovaně zjišťuje události a bezpečnostní analytik se rozhodl, že se jedná o falešný poplach, je vhodné přidat hash souboru do tabulky pro vyhledávání sysmon-hash-whitelist pro Sysmon Event s identifikátorem 15 a nastavit Beat filtr agenta pro ostatní případy. Ukázkové příklady jsou uvedeny v nastavení filtru.
Tento dashboard zobrazuje základní přehled všech Sysmon událostí.
Histogram rozlišuje tři základní skupiny událostí: Bezpečnostní události, Forenzní události a Podezřelé události.
V nastavení filtrů je možnost předvolby pro vynechání událostí označených štítkem whitelisted nebo zobrazení pouze událostí označených jako suspicious (podezřelé).
Nejzajímavější pole pro filtorvání dat jsou:
msg.username
- Uživatel, který započal proces.msg.action
- Typ události.msg.rulename
- Jméno pravidla pod kterým byla událost zalogována.msg.image
- Spouštěcí soubor, který způsobil událost.
Tato pole jsou standartní ve všech Sysmon dashboardech.
Tento dashboard zobrazuje přehled Sysmon událostí, které souvisejí s operacemi se soubory. Jedná se o události s následujícími identifikátory událostí (Event IDs):
- 2 - Změna času vytvoření souboru
- 11 - Vytvoření souboru
- 15 - Hash streamu vytvořeného souboru
- 23 - Událost smazání souboru
- 26 - Detekováno smazání souboru
- 27 - Blokování spustitelného souboru
Na dashboardu Sysmon Overview histogram rozlišuje mezi skupinami událostí Bezpečnostní události, Forenzní události a Podezřelé události a filtry mají přednastavenou možnost vynechání událostí označených štítkem whitelisted nebo zobrazení pouze událostí označených štítkem suspicious (podezřelé).
Kromě standardních polí je zde pole msg.targetfilename, které obsahuje úplnou cestu k souboru.
Tento dashboard zobrazuje přehled Sysmon událostí související s manipulací procesů. Jedná se o události s následujícími identifikátory událostí (Event IDs):
- 1 - Vytvoření procesu
- 5 - Ukončení procesu
- 10 - Přístup k procesu
Podobně jako na dashboardu Sysmon Overview histogram rozlišuje skupiny událostí Bezpečnostní události, Forenzní události a Podezřelé události, a v nastavení filtrů je přednastavená možnost vynechání událostí označených whitelisted nebo zobrazení pouze událostí označených suspicious (podezřelé).
Kromě standardních polí zde jsou následující užitečná pole:
msg.commandline
- úplný příkazový řádek včetně parametrů, které vedly k spuštění procesu.msg.sourceusername
- v případě meziprocesové komunikace uživatel, pod kterým byl zahájen zdrojový proces.msg.targetusername
- v případě meziprocesové komunikace je to uživatel, pod kterým byl zahájen cílový proces.msg.sourceimage
- v případě meziprocesové komunikace je to spustitelný soubor zdrojového procesu.msg.targettimage
- v případě meziprocesové komunikace je to spustitelný soubor cílového procesu.
Tento dashboard zobrazuje přehled událostí Sysmon souvisejících s přístupem k registru Windows. Jedná se o události s následujícími identifikátory událostí (Event IDs):
- 12 - RegistryEvent (Vytvoření a smazání objektu)
- 13 - RegistryEvent (Nastavení hodnoty)
- 14 - RegistryEvent (Přejmenování hodnoty a klíče)
Podobně jako na dashboardu Sysmon Overview histogram rozlišuje skupiny událostí Bezpečnostní události, Forenzní události a Podezřelé události, a v nastavení filtrů je přednastavená možnost vynechání událostí označených whitelisted nebo zobrazení pouze událostí označených suspicious (podezřelé).
Kromě standardních polí zde je pole msg.targetobject
, které obsahuje seznam klíčů registru Windows, na které se událost vztahuje.
Tento dashboard zobrazuje přehled událostí WMI z Sysmonu typu FilterToConsumerBinding. Jedná se o události s následujícími identifikátory událostí (Event IDs):
- 19 - WmiEvent (Detekovaná aktivita WmiEventFilter)
- 20 - WmiEvent (Detekovaná aktivita WmiEventConsumer)
- 21 - WmiEvent (Detekovaná aktivita WmiEventConsumerToFilter)
Podobně jako na dashboardu Sysmon Overview histogram rozlišuje skupiny událostí Bezpečnostní události, Forenzní události a Podezřelé události, a v nastavení filtrů je přednastavená možnost vynechání událostí označených whitelisted nebo zobrazení pouze událostí označených suspicious (podezřelé).
Kromě standardních polí zde jsou zajímavá pole msg.filter a msg.consumer. Zde je možné vidět, která událost byla přiřazena k danému filtru WMI.
Obecný postup pro vyhledávání hrozeb je popsán níže:
- Hledání podezřelých událostí označených jako “suspicious”.
- Vyberte jednu z událostí (např. Credential Dumping) a získejte GUID procesu (ProcessGUID), který tuto událost spustil.
- Přidejte GUID procesu (ProcessGUID) do filtru v dotazu.
- Hledejte další GUID procesu (ProcessGUID) nebo GUID nadřazeného procesu (ParentProcessGUID) pomocí události Vytvoření procesu (Process Create), abyste je mohli přidat do filtru v dotazu.
- Opakujte předchozí krok dokud nové události typu Vytvoření procesu (Process Create) jsou přidány.
- Pokud se neobjeví žádné další nové události typu Vytvoření procesu (Process Create) poté, co jste přidali GUID procesu, znamená to, že dashboard zobrazuje všechny dostupné události související s původním podezřelým procesem.
Červený box v Dotazu
- Hodnoty ProcessGUID u procesů spojenými s malwarovými aktivitami jsou postupně přidávány do vyhledávacího řetězce jeden po druhém.
- Díky výrazu
msg.processguid
jsou zahrnuty hodnoty z polí ProcessGUID (GUID procesu), ParentProcessGUID (GUID nadřazeného procesu), SourceProcessGUID (GUID zdrojového procesu) a TargetProcessGUID (GUID cílového procesu).
Events over time graf
- Histogram zobrazující všechny Sysmon události
- Události jsou rozlišeny podle barvy:
- Známa technika Mitre (Mitre Techniques)
- Podezřelé události (Suspicious Events).
- Události jsou filtorvané podle GUID procesu (ProcessGUID) pro komplexní analýzu (Threat Hunting)
Všechny grafy začínající “Hunting-” zobrazují pouze události filtrované podle hodnot GUID procesu (ProcessGUID) zadané v Dotazu (bez filtrů se nezobrazí data).
Hunting-Action graf
- Hunting-Action graf zobrazuje pouze události typu Sysmon, ve zkratce sleduje událostní identifikátor Sysmonu
- Pravděpodobně nejzajímavější typy událostí (Actions) jsou:
- Process Create (Vytvoření Procesu) - události jsou vygenerovány po spuštění procesu.
- File Created (Soubor Vytvořen) - události jsou generovány, když je vytvořen soubor. Událost obsahuje GUID procesu (ProcessGUID), který soubor vytvořil.
- Registry Value Set (Nastavena Hodnota Registru) - události jsou generovány pokud je změněna, nastavena nebo smazána hodnota registru. Událost obsahuje GUID procesu (ProcessGUID), který manipuloval s registrem.
- Network Connection Detected (Detekováno připojení k síti) - události jsou generovány v případě když proces naváže síťové připojení. Událost obsahuje GUID procesu (ProcessGUID), který síťové připojení navázal.
Hunting-RuleName graf
- Hunting-RuleName graf zobrazuje jména pravidel v Sysmon konfiguraci.
- Tyto pravidla jsou zkompilována tak, aby pokryly co největší oblast Mitre technik.
- Tento graf je dobrým místem kde začít vyšetřovat podezřelé události.
Hunting-Destination/Port
- Grafy “Hunting-Destination IP” a “Hunting-Destination Port” zobrazují cílové síťové stanice, se kterými komunikují procesy.
- Tzn. C&C servery se zde nacházejí
Hunting-Events
- Tabulka Hunting-Events zobrazuje seznam všech událostí souvisejících s procesy pod vyšetřováním.
- Na první pohled můžete vidět, mimo jiné, úplný název souboru souvisejícího procesu s jeho GUID (ProcessGUID) a GUID nadřazeného procesu (ParentProcessGUID)
- Po kliknutí na událost lze zjistit více detailních informací o události (viz. obrázek níže)
Nejzajímavější pole u události typu “Vytvoření procesu (Process Create)” jsou:
- ProcessGUID - unikátní identifikátor procesu
- Image - soubor ze kterého byl proces spuštěn
- CommandLine - příkaz s parametry, který spustil proces
- CurrentDirectory - složka ve které byl příkaz spuštěn
- User - uživatel pod kterým byl proces spuštěn
- ParentProcessGUID - unikátní identifikátor nadřazeného procesu
- ParentCommandLine - příkaz s parametry, který spustil rodičovský proces
Hash-SHA256
- Sysmon vypočítává pro každý proces hash souboru pro jeho obraz.
- Pokud je hash vyplněn v události, jsou události obohaceny o odkaz na VirusTotal.
Mitre
- Pokud je událost klasifikována jako jedna ze známých technik Mitre podle pravidel Sysmonu, bude obohacena o odkaz na konkrétní techniku.
ParentCommandLine
- V každé události typu Vytvoření procesu (Process Create) jsou také vyplněny informace o nadřazeném procesu.
- Kromě GUID nadřazeného procesu (ParentProcessGUID) je zde také viditelný příkaz s parametry nadřazeného procesu (ParentCommandLine), kde je zachycen celý příkaz včetně jeho parametru, který způsobil vytvoření zkoumaného procesu.