Suspicious Lsass Process Access

Identifies access attempts to LSASS handle, this may indicate an attempt to dump credentials from Lsass memory.

Elastic rule (View on GitHub)

 1[metadata]
 2creation_date = "2023/01/22"
 3integration = ["windows"]
 4maturity = "production"
 5min_stack_comments = "Build time field required_fields divergence between -8.7 and 8.8+ due to schema versions."
 6min_stack_version = "8.8.0"
 7updated_date = "2024/03/08"
 8
 9[rule]
10author = ["Elastic"]
11description = """
12Identifies access attempts to LSASS handle, this may indicate an attempt to dump credentials from Lsass memory.
13"""
14from = "now-9m"
15index = ["winlogbeat-*", "logs-windows.sysmon_operational-*"]
16language = "eql"
17license = "Elastic License v2"
18name = "Suspicious Lsass Process Access"
19references = ["https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1003.001/T1003.001.md"]
20risk_score = 47
21rule_id = "128468bf-cab1-4637-99ea-fdf3780a4609"
22setup = """## Setup
23
24If enabling an EQL rule on a non-elastic-agent index (such as beats) for versions <8.2,
25events will not define `event.ingested` and default fallback for EQL rules was not added until version 8.2.
26Hence for this rule to work effectively, users will need to add a custom ingest pipeline to populate
27`event.ingested` to @timestamp.
28For more details on adding a custom ingest pipeline refer - https://www.elastic.co/guide/en/fleet/current/data-streams-pipeline-tutorial.html
29"""
30severity = "medium"
31tags = ["Domain: Endpoint", "OS: Windows", "Use Case: Threat Detection", "Tactic: Credential Access", "Data Source: Sysmon"]
32timestamp_override = "event.ingested"
33type = "eql"
34
35query = '''
36process where host.os.type == "windows" and event.code == "10" and
37  winlog.event_data.TargetImage : "?:\\WINDOWS\\system32\\lsass.exe" and
38  not winlog.event_data.GrantedAccess :
39                ("0x1000", "0x1400", "0x101400", "0x101000", "0x101001", "0x100000", "0x100040", "0x3200", "0x40", "0x3200") and
40  not process.name : ("procexp64.exe", "procmon.exe", "procexp.exe", "Microsoft.Identity.AadConnect.Health.AadSync.Host.ex") and
41  not process.executable : (
42        "?:\\ProgramData\\Microsoft\\Windows Defender\\platform\\*",
43        "?:\\ProgramData\\WebEx\\webex\\*",
44        "?:\\Program Files (x86)\\*",
45        "?:\\Program Files\\*",
46        "?:\\Windows\\CCM\\CcmExec.exe",
47        "?:\\Windows\\LTSvc\\LTSVC.exe",
48        "?:\\Windows\\Sysmon.exe",
49        "?:\\Windows\\Sysmon64.exe",
50        "?:\\Windows\\system32\\csrss.exe",
51        "?:\\Windows\\System32\\lsm.exe",
52        "?:\\Windows\\system32\\MRT.exe",
53        "?:\\Windows\\System32\\msiexec.exe",
54        "?:\\Windows\\system32\\wbem\\wmiprvse.exe",
55        "?:\\Windows\\system32\\wininit.exe",
56        "?:\\Windows\\SystemTemp\\GUM*.tmp\\GoogleUpdate.exe",
57        "?:\\Windows\\sysWOW64\\wbem\\wmiprvse.exe"
58  ) and
59  not winlog.event_data.CallTrace : ("*mpengine.dll*", "*appresolver.dll*", "*sysmain.dll*")
60'''
61
62
63[[rule.threat]]
64framework = "MITRE ATT&CK"
65[[rule.threat.technique]]
66id = "T1003"
67name = "OS Credential Dumping"
68reference = "https://attack.mitre.org/techniques/T1003/"
69[[rule.threat.technique.subtechnique]]
70id = "T1003.001"
71name = "LSASS Memory"
72reference = "https://attack.mitre.org/techniques/T1003/001/"
73
74
75
76[rule.threat.tactic]
77id = "TA0006"
78name = "Credential Access"
79reference = "https://attack.mitre.org/tactics/TA0006/"

References

Related rules

to-top