[metadata] creation_date = "2020/11/24" maturity = "production" min_stack_comments = "EQL regex syntax introduced in 7.12" min_stack_version = "7.12.0" updated_date = "2022/03/31" [rule] author = ["Elastic"] description = """ Identifies the execution of known Windows utilities often abused to dump LSASS memory or the Active Directory database (NTDS.dit) in preparation for credential access. """ from = "now-9m" index = ["winlogbeat-*", "logs-endpoint.events.*", "logs-windows.*"] language = "eql" license = "Elastic License v2" name = "Potential Credential Access via Windows Utilities" note = """## Config 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 8.2, so you will need to add a custom pipeline to populate `event.ingested` to @timestamp for this rule to work. """ references = ["https://lolbas-project.github.io/"] risk_score = 73 rule_id = "00140285-b827-4aee-aa09-8113f58a08f3" severity = "high" tags = ["Elastic", "Host", "Windows", "Threat Detection", "Credential Access"] timestamp_override = "event.ingested" type = "eql" query = ''' process where event.type in ("start", "process_started") and /* update here with any new lolbas with dump capability */ (process.pe.original_file_name == "procdump" and process.args : "-ma") or (process.name : "ProcessDump.exe" and not process.parent.executable regex~ """C:\\Program Files( \(x86\))?\\Cisco Systems\\.*""") or (process.pe.original_file_name == "WriteMiniDump.exe" and not process.parent.executable regex~ """C:\\Program Files( \(x86\))?\\Steam\\.*""") or (process.pe.original_file_name == "RUNDLL32.EXE" and (process.args : "MiniDump*" or process.command_line : "*comsvcs.dll*#24*")) or (process.pe.original_file_name == "RdrLeakDiag.exe" and process.args : "/fullmemdmp") or (process.pe.original_file_name == "SqlDumper.exe" and process.args : "0x01100*") or (process.pe.original_file_name == "TTTracer.exe" and process.args : "-dumpFull" and process.args : "-attach") or (process.pe.original_file_name == "ntdsutil.exe" and process.args : "create*full*") or (process.pe.original_file_name == "diskshadow.exe" and process.args : "/s") ''' [[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.technique.subtechnique]] id = "T1003.003" name = "NTDS" reference = "https://attack.mitre.org/techniques/T1003/003/" [rule.threat.tactic] id = "TA0006" name = "Credential Access" reference = "https://attack.mitre.org/tactics/TA0006/"