[metadata] creation_date = "2023/01/22" integration = ["windows"] maturity = "production" min_stack_comments = "Build time field required_fields divergence between -8.7 and 8.8+ due to schema versions." min_stack_version = "8.8.0" updated_date = "2023/10/23" [rule] author = ["Elastic"] description = """ Identifies access attempts to LSASS handle, this may indicate an attempt to dump credentials from Lsass memory. """ from = "now-9m" index = ["winlogbeat-*", "logs-windows.*"] language = "eql" license = "Elastic License v2" name = "Suspicious Lsass Process Access" references = ["https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1003.001/T1003.001.md"] risk_score = 47 rule_id = "128468bf-cab1-4637-99ea-fdf3780a4609" setup = """ If enabling an EQL rule on a non-elastic-agent index (such as beats) for versions <8.2, events will not define `event.ingested` and default fallback for EQL rules was not added until version 8.2. Hence for this rule to work effectively, users will need to add a custom ingest pipeline to populate `event.ingested` to @timestamp. For more details on adding a custom ingest pipeline refer - https://www.elastic.co/guide/en/fleet/current/data-streams-pipeline-tutorial.html """ severity = "medium" tags = ["Domain: Endpoint", "OS: Windows", "Use Case: Threat Detection", "Tactic: Credential Access", "Data Source: Sysmon Only"] timestamp_override = "event.ingested" type = "eql" query = ''' process where host.os.type == "windows" and event.code == "10" and winlog.event_data.TargetImage : "?:\\WINDOWS\\system32\\lsass.exe" and not winlog.event_data.GrantedAccess : ("0x1000", "0x1400", "0x101400", "0x101000", "0x101001", "0x100000", "0x100040", "0x3200", "0x40", "0x3200") and not process.name : ("procexp64.exe", "procmon.exe", "procexp.exe", "Microsoft.Identity.AadConnect.Health.AadSync.Host.ex") and not process.executable : ( "?:\\ProgramData\\Microsoft\\Windows Defender\\platform\\*", "?:\\ProgramData\\WebEx\\webex\\*", "?:\\Program Files (x86)\\*", "?:\\Program Files\\*", "?:\\Windows\\CCM\\CcmExec.exe", "?:\\Windows\\LTSvc\\LTSVC.exe", "?:\\Windows\\Sysmon.exe", "?:\\Windows\\Sysmon64.exe", "?:\\Windows\\system32\\csrss.exe", "?:\\Windows\\System32\\lsm.exe", "?:\\Windows\\system32\\MRT.exe", "?:\\Windows\\System32\\msiexec.exe", "?:\\Windows\\system32\\wbem\\wmiprvse.exe", "?:\\Windows\\system32\\wininit.exe", "?:\\Windows\\SystemTemp\\GUM*.tmp\\GoogleUpdate.exe", "?:\\Windows\\sysWOW64\\wbem\\wmiprvse.exe" ) and not winlog.event_data.CallTrace : ("*mpengine.dll*", "*appresolver.dll*", "*sysmain.dll*") ''' [[rule.threat]] framework = "MITRE ATT&CK" [[rule.threat.technique]] id = "T1003" name = "OS Credential Dumping" reference = "https://attack.mitre.org/techniques/T1003/" [[rule.threat.technique.subtechnique]] id = "T1003.001" name = "LSASS Memory" reference = "https://attack.mitre.org/techniques/T1003/001/" [rule.threat.tactic] id = "TA0006" name = "Credential Access" reference = "https://attack.mitre.org/tactics/TA0006/"