Přeskočit obsah

Pokročilá korelační pravidla

Tato stránka popisuje vícestupňové window detekce z korelační knihovny: šest pravidel pod /Correlations/Advanced/ a dvě související Sysmon window pravidla pod /Correlations/Microsoft/Sysmon/, která analytici často validují ve stejných lab cvičeních.

Každé pravidlo hledá posloupnost souvisejících událostí v krátkém časovém okně (typicky 15 až 60 minut), ne jediný podezřelý řádek logu. Window pravidla odpovídají na jinou otázku než match pravidla: stalo se na stejném hostu nebo uživateli několik podezřelých kroků v pořadí?

Pravidla jsou označena experimental nebo test. Validaci provádějte jen v kontrolovaném testovacím prostředí (izolovaný lab host nebo dedikovaný test tenant). Bez schválení neprovádějte simulace útoků na produkci.

Než začnete

  • Ověřte, že pravidla jsou nasazena v Knihovně (/Correlations/Advanced/ a kde je uvedeno /Correlations/Microsoft/Sysmon/).
  • Zajistěte, že Correlator konzumuje relevantní logové zdroje (Windows Security a Sysmon pro většinu pravidel; sign-in logy identity providera pro travel pravidlo).
  • Pro Sysmon endpointy použijte Common Library konfiguraci a WEF forwarding z Konfigurace Sysmon.
  • Otevřete Discover pro hledání příchozích událostí, Detections pro potvrzení nasazení pravidla a metrik, Alerts pro tikety z detekcí.
  • Po posledním testovacím kroku počkejte několik minut na ingest a korelaci. Window pravidla potřebují všechny fáze uvnitř nastaveného časového rámce.

Když pravidlo funguje podle očekávání, Correlator vytvoří complex událost (event.dataset: complex) s názvem pravidla, risk score a related.events propojujícími přispívající aktivitu. Pokud pravidlo posílá signál do Alert Management (výchozí), uvidíte také tiket v Alerts pro triage analytika.


Impossible Travel, MFA, and High Risk

Co detekuje

Scénář: Útočník se přihlásí ukradeným heslem z neobvyklé lokace, identity platforma označí relaci jako rizikovou a uživatel (nebo útočník) interaguje s MFA.

Pravidlo vytvoří critical complex událost, když stejný uživatelský účet v rámci přibližně 20 minut ukáže několik signálů identity rizika:

  1. Úspěšné přihlášení ze dvou různých zemí (impossible travel).
  2. Registrace nebo první použití nového zařízení při přihlášení.
  3. MFA výzva, která byla zamítnuta nebo později potvrzena.
  4. Zvýšené identity risk score hlášené identity platformou.

Je určeno pro cloud identity providery (Microsoft Entra ID, Okta, VPN portály s geo obohacením), ne pro samotné Windows server logony.

Jak testovat

  1. Použijte testovacího uživatele v sandboxu identity providera nebo lab tenantu.
  2. Přihlaste se úspěšně z lokace v zemi A (nebo simulujte schváleným VPN výstupem v té zemi).
  3. Do 20 minut se přihlaste znovu ze země B prohlížečem nebo zařízením, které IdP považuje za nové (vymažte cookies zařízení, použijte nový profil prohlížeče nebo zaregistrujte nové test zařízení).
  4. Dokončete nebo nezdařte MFA výzvu při druhém přihlášení.
  5. Zajistěte, že IdP emituje sign-in záznam se zvýšeným risk score pro uživatele (Entra ID Identity Protection, Okta ThreatInsight nebo ekvivalent).

Na co se dívat

V Discover filtrujte testovacího uživatele a event.category: authentication. Měli byste vidět úspěšná přihlášení ze dvou zemí, signál nového zařízení, události výsledku MFA a pole risk score na alespoň jedné události.

Po poslední fázi očekávejte jednu complex událost pro toto pravidlo v Discover a tiket v Alerts s uživatelem a výsledkem MFA a souvisejícími autentizačními událostmi.

Znaky správného chování

  • Pravidlo se spustí jen po všech čtyřech fázích, ne po jednom neobvyklém přihlášení.
  • Complex událost je vázána na jednoho uživatele v celém řetězci.
  • Pokud vynecháte krok nového zařízení nebo druhou zemi, pravidlo nemá vystřelit.

Ransomware Kill Chain

Co detekuje

Scénář: Operátoři ransomwaru připravují host na šifrování: zaplní disk novými soubory, zničí zálohy, zastaví bezpečnostní nebo zálohovací služby, přejmenují data na ransom přípony, pak komunikují s command and control.

Pravidlo propojí ranou přípravu ransomwaru na Windows hostu v rámci přibližně 30 minut:

  1. Mnoho nových souborů v krátkém období (hromadné staging).
  2. Smazání shadow copy (např. přes vssadmin nebo wmic).
  3. Zastavení nebo zakázání bezpečnostních nebo zálohovacích služeb.
  4. Hromadné přejmenování na běžné ransom přípony (.encrypted, .locked, .crypto nebo přípony z lookupu ransomwaru).
  5. Odchozí command and control komunikace shodná s threat intelligence.

Je širší a pozdější v útoku než Ransomware Activity Detected (níže), které se zaměřuje na tři odlišné prekurzory na jednom hostu.

Jak testovat

Na lab Windows serveru nebo workstation se Sysmon a Security auditingem se přihlaste jako test administrátor:

  1. Vytvořte alespoň deset nových souborů v test složce (krátká PowerShell smyčka nebo batch skript stačí).
  2. V elevated příkazovém řádku spusťte smazání shadow copy: vssadmin delete shadows /all /quiet (jen lab).
  3. Změňte start typ služby Windows Defender na disabled, nebo zastavte zálohovací službu, aby se vygeneroval záznam v System logu.
  4. Přejmenujte alespoň pět test souborů na přípony jako .encrypted nebo .locked.
  5. Pokud prostředí feeduje threat intelligence do síťových nebo threat kategorií, vygenerujte nebo přehrávejte test událost shodnou se známým C2 indikátorem ze stejného hostu (volitelné v minimálních testech; první čtyři fáze mohou stačit pro validaci staging logiky).

Všechny kroky proveďte do 30 minut na stejném hostu.

Na co se dívat

V Discover hledejte podle host.hostname a ověřte vytvoření souborů (Sysmon event 11 nebo file audit), process create pro vssadmin, zprávy o změně služby zmiňující Defender nebo zálohu a rename události na .encrypted souborech.

Očekávejte complex událost pro Ransomware Kill Chain v Discover a critical tiket v Alerts pro host s kontextem procesů a souborů.

Znaky správného chování

  • Vytvoření jen jednoho nebo dvou souborů pravidlo nemá spustit.
  • Kroky rozptýlené na různé hosty nemají splynout do jedné complex události.
  • Complex událost by měla referencovat stejné host.hostname v celém řetězci.

Ransomware Activity Detected

Cesta v knihovně: /Correlations/Microsoft/Sysmon/Ransomware Activity Detected.yaml

Co detekuje

Scénář: Host se připravuje na nebo už podstupuje dopad ransomwaru: zálohy jsou smazané, soubory získávají ransom přípony a běží skriptovací nástroje pro enumeraci nebo šifrování.

Toto critical Sysmon a Security window pravidlo spojí tři fáze na stejném hostu do přibližně 15 minut:

  1. Inhibit recovery: Sysmon process create (event 1) pro vssadmin.exe nebo wmic.exe s delete shadows nebo shadowcopy delete v command line.
  2. Encryption pattern: Alespoň tři file události (Security 4663/4656/4659/4660 nebo Sysmon 11), kde we.object.name obsahuje ransom příponu jako .encrypted, .locked nebo .crypto (nebo příponu z lookupu ransomwareextensions).
  3. Script activity: Sysmon process create pro PowerShell (s -enc, -encodedcommand nebo Get-ChildItem v command line) nebo cmd.exe s /c.

Fáze 2 používá we.object.name z Windows Security logu (ObjectName). Sysmon 11 ukládá cesty do we.target.file_name, což samo o sobě nesplňuje toto pravidlo. Zapněte File System auditing a generujte Security 4663 na lab souborech, nebo spoléhejte na Security události z rename a access.

Jak testovat

Na lab Windows serveru nebo workstation se Sysmon a File System auditingem se přihlaste jako test administrátor přes RDP. Všechny kroky na stejném hostu do 15 minut.

  1. Fáze 1 (shadow copies): V elevated cmd nebo PowerShell spusťte vssadmin.exe delete shadows /all /quiet (jen lab; smaže všechny Volume Shadow Copies). Pokud potřeba, použijte wmic shadowcopy delete. Ověřte, že Sysmon loguje process create pro vssadmin.exe nebo wmic.exe, ne jen parent cmd.exe.
  2. Fáze 2 (ransom přípony): Zapněte File System audit success, pokud ještě není. Vytvořte test složku (např. C:\Temp\lab-ransomware). Vytvořte soubory, přejmenujte alespoň tři na .encrypted, .locked a .crypto, pak každý přečtěte, aby Security logoval 4663 (nebo 4656) s plnou cestou v we.object.name.
  3. Fáze 3 (scripting): Spusťte PowerShell s encoded příkazem, např.:
    powershell.exe -NoProfile -enc <Base64 neškodného příkazu jako Write-Output "lab-test">

Na co se dívat

V Discover (posledních 30 minut, stejné host.hostname):

  • Fáze 1: event.code:1 AND process.executable:*vssadmin* AND we.command_line:*delete*shadow*
  • Fáze 2: event.code:(4663 OR 4656) AND we.object.name:*lab-ransomware*
  • Fáze 3: event.code:1 AND process.executable:*powershell* AND we.command_line:*-enc*

Ignorujte nesouvisející Security šum (např. DHCP soubory pod c:\windows\system32\dhcp\). Filtrujte cestu test složky.

Očekávejte complex událost pro Ransomware Activity Detected a critical tiket v Alerts.

Znaky správného chování

  • Samotné smazání shadow copy pravidlo nemá spustit.
  • Méně než tři file události s ransom příponami nemají spustit pravidlo.
  • Fáze na různých hostnames nemají splynout.
  • Toto pravidlo je také feeder pro MITRE Attack Chain Incident (fáze Execution).

Trojan Activity via File Download and Execution

Cesta v knihovně: /Correlations/Microsoft/Sysmon/Trojan Activity via File Download and Execution.yaml

Co detekuje

Scénář: Uživatel nebo skript stáhne payload, spustí ho přes command interpreter a načte script host nebo LOLBin, které trojany často zneužívají (typické pro phishing a drive-by následky).

Toto critical Sysmon window pravidlo propojí tři fáze na stejném hostu a stejném uživatelském kontextu (host.id a we.user.data) do přibližně 20 minut:

  1. Download: Sysmon process create (event 1), kde process.executable obsahuje curl, wget nebo bitsadmin.
  2. Execution: Sysmon process create (event 1), kde we.command_line obsahuje cmd.exe, encoded PowerShell nebo regsvr32.exe /s.
  3. Script or LOLBin load: Sysmon image load (event 7), kde process.executable obsahuje mshta.exe, rundll32.exe nebo wscript.exe.

Vzor odpovídá běžným post-compromise řetězcům (např. Qakbot styl download, cmd staging, wscript nebo mshta execution).

Jak testovat

Na lab Windows workstation nebo serveru se Sysmon (události 1 a 7) se přihlaste jako test uživatel přes RDP. Zůstaňte na stejném hostu a stejné user session do 20 minut.

  1. Fáze 1 (download): Stáhněte neškodný soubor vestavěným nástrojem, např.:
    curl.exe -o C:\Temp\lab-test.ico https://www.microsoft.com/favicon.ico
  2. Fáze 2 (command line): Spusťte příkaz přes cmd, např.:
    cmd.exe /c echo lab-test
  3. Fáze 3 (script host): Vytvořte minimální test skript a spusťte wscript, např. jednořádkové .vbs v C:\Temp s wscript.exe //B //Nologo C:\Temp\lab-test.vbs.

Všechny tři kroky pod stejným interaktivním uživatelem, aby host.id a we.user.data seděly napříč fázemi.

Na co se dívat

V Discover (posledních 30 minut, stejný host a user kontext):

  • event.code:1 AND process.executable:*curl*
  • event.code:1 AND we.command_line:*cmd.exe*
  • event.code:7 AND process.executable:*wscript*
  • rule.name:"Trojan Activity via File Download and Execution"

Očekávejte complex událost pro Trojan Activity via File Download and Execution v Discover a Critical tiket v Alerts.

Znaky správného chování

  • Download bez cmd nebo wscript aktivity pravidlo nemá spustit.
  • wscript bez předchozího downloadu na stejném hostu a uživateli nemá dokončit řetězec.
  • Toto pravidlo je feeder pro MITRE Attack Chain Incident (fáze Execution).

Pass the Hash Lateral Movement

Co detekuje

Scénář: Útočník znovu použije zachycený NTLM hash pro laterální pohyb: neúspěšné pokusy, pak úspěch, vzdálené spuštění a persistence styl nástroje na cíli.

Pravidlo popisuje vzor laterálního pohybu na jednom Windows hostu do přibližně 30 minut:

  1. Několik neúspěšných logonů (alespoň tři).
  2. Úspěšný logon pomocí NTLM.
  3. Vzdálené spuštění přes PsExec nebo WMI.
  4. Nová Windows služba nainstalovaná.
  5. PowerShell execution na hostu.

Jak testovat

Na lab Windows serveru (member server nebo domain controller v testu):

  1. Vygenerujte tři nebo více neúspěšných logonů pro stejný test účet (špatné heslo ze stejného nebo jiného stroje).
  2. Následně úspěšný NTLM logon pro tento účet (network logon na server často používá NTLM).
  3. Z jiného lab stroje spusťte PsExec proti cílovému serveru s neškodným příkazem, nebo WMI process call create s wmic.
  4. Ověřte událost service installed v System logu (PsExec vytváří PSEXESVC).
  5. Spusťte viditelný PowerShell příkaz na cíli (např. Get-Process) ve stejné relaci.

Veškerá aktivita na stejném cílovém hostname do 30 minut. Zapněte Audit Logon na cíli, aby 4624/4625 autentizační události byly v Discover.

Na co se dívat

V Discover filtrujte host.hostname a hledejte authentication failures, NTLM success, event code 7045 (service installed), Sysmon nebo 4688 process události pro powershell.exe.

Očekávejte complex událost pro Pass the Hash Lateral Movement v Discover a tiket v Alerts s hostem, uživatelem a PowerShell command line.

Znaky správného chování

  • Dva neúspěšné logony samy nestačí.
  • Aktivita rozdělená na nesouvisející hostnames nemá splynout.
  • PsExec nebo WMI plus instalace služby a PowerShell by měly být v related.events.

Privilege Escalation Chain

Co detekuje

Scénář: Útočník získá admin práva, přihlásí se elevovaným účtem, oslabí endpoint ochranu a spustí ofenzivní nástroje.

Na jednom Windows hostu do přibližně 30 minut pravidlo propojí:

  1. Uživatel přidán do privilegované skupiny (Administrators, Domain Admins nebo Enterprise Admins).
  2. Úspěšný logon tímto elevovaným účtem.
  3. Antivirus nebo endpoint protection oslaben (disabled nebo stopped).
  4. Spuštění podezřelého procesu (powershell.exe, cmd.exe, rundll32.exe nebo regsvr32.exe).

Jak testovat

Na lab domain joined Windows serveru:

  1. Přihlaste se jako domain admin a přidejte test uživatele do lokální skupiny Administrators (nebo Domain Admins v test OU). Vygeneruje security událost změny členství ve skupině.
  2. Odhlaste se a přihlaste jako elevovaný test uživatel na stejném serveru.
  3. V elevated relaci nastavte Windows Defender na disabled nebo zastavte službu WinDefend (jen lab).
  4. Spusťte PowerShell s jednoduchým neškodným skriptem (např. výpis služeb).

Všechny kroky na stejném hostu do 30 minut.

Na co se dívat

V Discover hledejte události změny skupiny, úspěšný logon test uživatele, změny konfigurace služby zmiňující Defender a process create pro PowerShell.

Očekávejte complex událost pro Privilege Escalation Chain v Discover a tiket v Alerts s hostem, elevovaným uživatelem a detaily PowerShell.

Znaky správného chování

  • Přidání uživatele do skupiny bez následného logonu a process aktivity pravidlo nemá spustit.
  • Zakázání Defenderu na hostu bez předchozí změny privilegií nemá spustit tento konkrétní řetězec.
  • Complex událost by měla pojmenovat stejný host pro všechny fáze.

Living off the Land Chain

Co detekuje

Scénář: Malware se skrývá v důvěryhodných aplikacích: Office spustí PowerShell, PowerShell použije certutil pro stažení payloadu, pak signed LOLBin načte DLL.

Pravidlo najde fileless styl útokový řetězec na Windows, kdy Office nebo Teams spustí nástroje, které útočníci často zneužívají, do přibližně 30 minut:

  1. Office nebo Teams aplikace spustí PowerShell.
  2. PowerShell spustí certutil.
  3. certutil stáhne nebo dekóduje soubor (urlcache, decode nebo split v command line).
  4. rundll32 nebo regsvr32 spustí DLL.

Jak testovat

Na lab Windows workstation s Microsoft Office a Sysmon:

  1. Otevřete Word (nebo Excel, Outlook nebo Teams).
  2. V test labu jen spusťte PowerShell jako child Wordu (např. kontrolované VBA makro nebo test harness, který spustí WINWORD.EXE a pak PowerShell s Wordem jako parent procesem). Cíl je strom procesů: Office → PowerShell.
  3. Z té PowerShell relace spusťte certutil pro stažení neškodného test souboru, např.:
    certutil.exe -urlcache -split -f https://your-lab-server/test.bin C:\Temp\test.bin
  4. Spusťte rundll32 proti neškodné test DLL v C:\Temp, např.:
    rundll32.exe C:\Temp\test.dll,EntryPoint
    (použijte signed nebo vlastní test DLL, která jen vrátí success).

Zůstaňte na stejném hostu a stejném uživateli do 30 minut.

Na co se dívat

V Discover filtrujte process.parent.name obsahující winword, excel nebo outlook, pak sledujte child procesy powershell.exe, certutil.exe a rundll32.exe.

Očekávejte complex událost pro Living off the Land Chain v Discover a tiket v Alerts s finální rundll32 nebo regsvr32 command line.

Znaky správného chování

  • PowerShell spuštěný jen z Exploreru nesplní fázi 1.
  • certutil bez Office parenta nemá dokončit řetězec.
  • Fáze na různých hostech nebo uživatelích nemají splynout.

MITRE Attack Chain Incident

Co detekuje

Scénář: Samostatné detekce už vystřelily napříč kill chain pro jednoho uživatele; toto meta pravidlo zvedne jeden konsolidovaný incident, když jsou přítomny initial access, execution, credential access a lateral movement.

Je to meta detekce. Nepoužívá přímo raw Windows logy. Místo toho čeká, dokud čtyři samostatné existující detekce nevystřelí pro stejného uživatele do přibližně 60 minut, pokrývající tyto fáze útoku:

Fáze Příklady feeder detekcí
Initial Access Impossible Travel, Impossible Travel by Country, brute force s úspěchem
Execution Critical Command Usage, Trojan Activity via File Download and Execution
Credential Access Suspicious LSASS Memory Access
Lateral Movement PsExec Service Installed, Using Remote Control Tool

Když jsou všechny čtyři fáze přítomny, vytvoří jednu critical complex událost a odpovídající tiket v Alerts, který spojí příběh dohromady.

Jak testovat

Naplánujte lab cvičení pro jeden testovací uživatelský účet do 60 minut:

  1. Initial Access: Spusťte jedno z feeder pravidel (např. simulujte impossible travel, nebo brute force se úspěšným přihlášením podle dokumentace pravidla).
  2. Execution: Na lab Windows hostu spusťte Critical Command Usage nebo Trojan Activity via File Download and Execution podle manuálních lab kroků v dokumentaci pravidla.
  3. Credential Access: V labu spusťte schválený test pro Suspicious LSASS Memory Access (pouze schválené red team nástroje nebo test signatury).
  4. Lateral Movement: Nainstalujte nebo simulujte aktivitu služby PsExec, nebo spusťte Using Remote Control Tool.

Každý krok by měl vytvořit complex událost z feeder pravidla s user.name nastaveným na test účet. Každé feeder pravidlo může také vytvořit vlastní tiket v Alerts.

Na co se dívat

V Discover hledejte event.dataset: complex a user.name:<test user>. Ověřte čtyři odlišné hodnoty feeder rule.name v jedné hodině.

Po čtvrté feeder complex události očekávejte jednu konsolidovanou complex událost pro MITRE Attack Chain Incident v Discover a critical tiket v Alerts pro toho uživatele.

Znaky správného chování

  • Tři feeder fáze bez čtvrté nemají vytvořit meta complex událost.
  • Feeder complex události pro různé uživatele nemají splynout.
  • Meta complex událost by měla v related.events ukazovat na čtyři přispívající complex události.
  • Pokud nasazení přejmenovává korelační soubory, feeder rule.id cesty musí stále sedět s cestami v meta pravidle (koordinujte s detection engineerem).

Řešení problémů

Příznak Co zkontrolovat
Žádná complex událost nebo tiket Zpoždění ingestu, špatný tenant, Correlator není přihlášen ke zdroji logů, nebo fáze mimo časové okno
Feeder pravidla vystřelí, meta ne user.name musí přesně sedět napříč complex událostmi; MITRE chain povoluje až 60 minut
Částečné fáze jen v Discover Predikát nemusí sedět s formátem logu; porovnejte názvy polí s fungující událostí ze stejného zdroje
Ransomware fáze 2 chybí File System audit a SACL na lab složce; hledejte 4663 s we.object.name, ne jen Sysmon 11
Ransomware fáze 1 chybí Potřeba Sysmon 1 s process.executable obsahujícím vssadmin, ne jen cmd.exe obalující vssadmin
Trojan fáze rozdělené mezi uživatele Fáze musí sdílet stejné host.id a we.user.data; vše v jedné interaktivní RDP relaci
Pravidlo příliš hlučné v produkci Ladění prahů s detection engineerem; pravidla jsou experimental

Pro ladění výkonu po nasazení viz Sledování výkonu detekcí.

Pro autorství a offline YAML testy viz Psaní window korelačního pravidla.