LSASS Memory Dump via ProcDump Utility

Tato analytika detekuje použití legitimního nástroje Microsoft Sysinternals, procdump.exe, k vytvoření memory dump procesu Local Security Authority Subsystem Service (LSASS). Útočníci tento nástroj zneužívají k extrakci credential materiálů, jako jsou password hashes a Kerberos tickets, z paměti pro offline cracking a lateral movement.

Analytic Title: LSASS Memory Dump via ProcDump Utility

ID: DE-TA0006-T1003.001-003

Version: 1.1

Status: Test

Author: m3c4n1sm0

Date Created: 30/06/2025

Date Modified:

Description:

Tato analytika detekuje použití legitimního nástroje Microsoft Sysinternals, procdump.exe, k vytvoření memory dump procesu Local Security Authority Subsystem Service (LSASS). Útočníci tento nástroj zneužívají k extrakci credential materiálů, jako jsou password hashes a Kerberos tickets, z paměti pro offline cracking a lateral movement.

Hypothesis:

Předpokládáme, že útočník provádějící OS Credential Dumping (T1003.001) využije existující, důvěryhodný nástroj jako procdump.exe, aby splynul s běžnou administrativní činností. Toto chování lze pozorovat prostřednictvím process creation eventů, kde je procdump.exe spuštěn s command-line argumenty, které specifikují lsass.exe jako cílový proces.

MITRE Att&ck Mapping: [134]

Analytic Robustness: Level 3: Core to Pre-Existing Tool

Data Source & Robustness: Windows, EDR (např. Microsoft Defender for Endpoint), Sysmon, DeviceProcessEvents (ActionType: ProcessCreated), Sysmon Event ID 1 (Process Create)

Event Robustness: Host-Based: Kernel-Mode (K)

Finel Summiting Score: 3K

Detection Logic:

-- Použití KQL pro Microsoft Sentinel / Defender  
DeviceProcessEvents  
// Jádro naší detekce: hledáme vytvoření procesu.  
| where ActionType == "ProcessCreated"  
// Hledáme specifický nástroj 'procdump.exe'. Kontrolujeme jak název procesu, tak název souboru v cestě ke složce.  
| where ProcessCommandLine has "procdump.exe" or InitiatingProcessFolderPath endswith "procdump.exe"  
// Toto je behaviorální indikátor: command line MUSÍ cílit na lsass.exe.  
// Flag '-ma' říká procdumpu, aby vytvořil plný memory dump.  
// Hledáme také process ID procesu lsass předané jako argument.  
| where ProcessCommandLine has "lsass" and ProcessCommandLine has_any ("-ma", "-accepteula")

// --- EXCLUSION STRATEGY ---  
// Vyloučit známou administrativní činnost, pokud je to možné. Toto je vysoce specifické pro dané prostředí.  
// Pokročilejší výjimka by mohla zahrnovat kontrolu, zda je iniciující uživatel členem specifické  
// tier-0 admin skupiny A aktivita pochází z bezpečné admin stanice (PAW).  
| where InitiatingProcessAccountName !in ("KNOWN_ADMIN_ACCOUNT_FOR_TROUBLESHOOTING")

Known False Positives:

  • Legitimní systémoví administrátoři nebo vývojáři používající procdump.exe pro debugging, analýzu výkonu nebo analýzu pádů aplikací.
  • Automatizované troubleshooting skripty nasazené IT oddělením, které mohou potřebovat zachytit process dump.

Exclusion Strategy:

Primární strategie pro výjimky by se měla zaměřit na kontext. Zatímco filtrování podle jména uživatele je slabé, může být kombinováno s dalšími faktory. Robustní výjimka by zahrnovala udržování seznamu autorizovaných uživatelů/hostů (např. Privileged Access Workstations), kteří mají povoleno provádět takové akce. Aktivita mimo tuto zavedenou baseline by měla být prošetřena. Vyhněte se jednoduchým výjimkám na základě názvů souborů, protože útočníci mohou nástroje přejmenovat.

Testing Procedures:

Cílem je potvrdit, že toto pravidlo detekuje použití procdump, ale také porozumět jeho omezením testováním jiných metod dumpingu credentials.

  • Test Case 1 (Functional Synonym):
    • Tool/Procedure: Spustit procdump64.exe -ma lsass.exe c:templsass.dmp.
    • Result: [x] Detected [ ] Not Detected
  • Test Case 2 (Procedural Synonym):
    • Tool/Procedure: Použít vlastní C# nástroj, který přímo volá MiniDumpWriteDump pomocí P/Invoke k dumpingu lsass.exe.
    • Result: [ ] Detected [x] Not Detected

Poznámka: Tento test dokazuje, že naše detekce je na Levelu 3. Správně identifikuje nástroj procdump, ale míjí jiné implementace stejného postupu.

  • Test Case 3 (Sub-Technical Synonym):
    • Tool/Procedure: Použít nástroj, který využívá metodu duplikace handle od Jamese Forshawa k přístupu do paměti LSASS.
    • Result: [ ] Detected [x] Not Detected

Poznámka: Toto potvrzuje, že detekce není behaviorální pro celou sub-techniku, ale je specifická pro postup “dump via a separate utility”.

Triage and Investigation Steps:

Tento playbook pomáhá SOC analytikovi rychle posoudit alert.

  1. Initial Triage (Je toto true positive?):
    • Identifikujte InitiatingProcessAccountName. Je to systémový administrátor nebo standardní uživatelský účet? Standardní uživatelské účty by tuto akci téměř nikdy neměly provádět.
    • Identifikujte DeviceName. Je to citlivý server (jako Domain Controller) nebo standardní uživatelská pracovní stanice?
    • Zkontrolujte helpdesk/ticketing systémy. Existuje aktivní ticket pro problémy s výkonem nebo pády aplikací na tomto hostu, který by ospravedlňoval memory dump?
  2. Investigation (Jaký je kontext?):
    • Zkontrolujte historii command line na zařízení pro parent proces (InitiatingProcessCommandLine). Jak byl procdump.exe spuštěn? Bylo to z interaktivní CMD/PowerShell session nebo z jiného skriptu?
    • Prozkoumejte file system a hledejte výstupní dump soubor (např. lsass.dmp). Hledejte známky přípravy k exfiltraci (např. přidání dumpu do zazipovaného souboru chráněného heslem).
    • Korelujte timestamp s dalšími alerty na hostu. Je to izolovaná událost, nebo je to součást většího řetězce aktivit (např. předcházely discovery příkazy, následovaly síťové spojení na neobvyklou IP adresu)?

Response & Remediation:

  • Pokud je potvrzeno jako škodlivé, okamžitě izolujte hosta ze sítě, abyste zabránili lateral movement.
  • Předpokládejte, že všechny credentials na hostu byly kompromitovány. Spusťte reset credentials pro všechny nedávno přihlášené uživatele.
  • Zachovejte memory dump soubor (.dmp) a škodlivou instanci procdump.exe pro forenzní analýzu.

Triger: On-Event

Severity: High

Enrichment Steps:

  • Action: Get-UserDetails
    • Input: event.InitiatingProcessAccountName
    • Output: user.title, user.department, user.manager, user.risk_score
  • Action: Get-HostDetails
    • Input: event.DeviceName
    • Output: host.owner, host.os, host.tags (e.g., “Domain Controller”, “PAW”)
  • Action: Lookup-ProcessHash
    • Input: event.InitiatingProcessSHA256
    • Source: VirusTotal, Internal Threat Intel
    • Output: hash.reputation, hash.detections
  • Action: Get-RecentLogonActivity
    • Input: event.DeviceName
    • Timeframe: Last 24 hours
    • Output: host.recent_users

Triage Logic:

  • IF user.title contains ‘Admin’ AND host.tags contains ‘PAW’ -> SET ‘Severity’ to ‘Low’ AND ‘await_manual_review’
  • IF hash.reputation == ‘malicious’ -> SET ‘Severity’ to ‘Critical’ AND ‘proceed_to_containment’
  • IF user.risk_score == ‘High’ -> SET ‘Severity’ to ‘Critical’ AND ‘proceed_to_containment’

Containment Steps:

  • Action: Isolate-Host
    • Input: event.DeviceName
    • Execute: true (pokud je pro toto pravidlo povolena automatická izolace)
  • Action: Disable-User
    • Input: event.InitiatingProcessAccountName
    • Execute: false (vyžaduje manuální schválení kvůli vysokému dopadu)

Notification Steps:

  • Action: Create-Ticket
    • System: ServiceNow / Jira
    • Assignee: SOC Tier 2
    • Content: Zahrnout obohacená data alertu, závažnost a doporučené akce.
  • Action: Send-Email
    • Recipient: email
    • Subject: CRITICAL Alert: LSASS Dump Detected on {{host.name}} by {{user.name}}
    • Content: Souhrn obohaceného alertu.

MITRE Engage GOAL: Affect

MITRE Engage APPROACH: Detect

d3fend Tactic: Detect

d3fend Technique: Process Spawn Analysis

Leave a Reply