9c1bd50a63
* [Rule Tuning] Adjust Index Pattern on Windows rules to support WEF * s/host.id/winlog.computer_name
127 lines
5.4 KiB
TOML
127 lines
5.4 KiB
TOML
[metadata]
|
|
creation_date = "2022/03/01"
|
|
maturity = "production"
|
|
min_stack_comments = "New fields added: required_fields, related_integrations, setup"
|
|
min_stack_version = "8.3.0"
|
|
updated_date = "2022/12/21"
|
|
|
|
[rule]
|
|
author = ["Elastic"]
|
|
description = """
|
|
Identifies remote access to the registry to potentially dump credential data from the Security Account Manager (SAM)
|
|
registry hive in preparation for credential access and privileges elevation.
|
|
"""
|
|
from = "now-9m"
|
|
index = ["winlogbeat-*", "logs-system.*", "logs-endpoint.events.*", "logs-windows.*"]
|
|
language = "eql"
|
|
license = "Elastic License v2"
|
|
name = "Potential Remote Credential Access via Registry"
|
|
note = """## Triage and analysis
|
|
|
|
### Investigating Potential Remote Credential Access via Registry
|
|
|
|
Dumping registry hives is a common way to access credential information. Some hives store credential material,
|
|
such as the SAM hive, which stores locally cached credentials (SAM secrets), and the SECURITY hive, which stores domain
|
|
cached credentials (LSA secrets). Dumping these hives in combination with the SYSTEM hive enables the attacker to
|
|
decrypt these secrets.
|
|
|
|
Attackers can use tools like secretsdump.py or CrackMapExec to dump the registry hives remotely, and use dumped
|
|
credentials to access other systems in the domain.
|
|
|
|
#### Possible investigation steps
|
|
|
|
- Identify the specifics of the involved assets, such as their role, criticality, and associated users.
|
|
- Identify the user account that performed the action and whether it should perform this kind of action.
|
|
- Determine the privileges of the compromised accounts.
|
|
- Investigate other alerts associated with the user/source host during the past 48 hours.
|
|
- Investigate potentially compromised accounts. Analysts can do this by searching for login events (e.g., 4624) to the target
|
|
host.
|
|
|
|
### False positive analysis
|
|
|
|
- This activity is unlikely to happen legitimately. Any activity that triggered the alert and is not inherently malicious
|
|
must be monitored by the security team.
|
|
|
|
### Related rules
|
|
|
|
- Credential Acquisition via Registry Hive Dumping - a7e7bfa3-088e-4f13-b29e-3986e0e756b8
|
|
|
|
### Response and remediation
|
|
|
|
- Initiate the incident response process based on the outcome of the triage.
|
|
- Isolate the involved hosts to prevent further post-compromise behavior.
|
|
- Investigate credential exposure on systems compromised or used by the attacker to ensure all compromised accounts are
|
|
identified. Reset passwords for these accounts and other potentially compromised credentials, such as email, business
|
|
systems, and web services.
|
|
- Determine if other hosts were compromised.
|
|
- Run a full antimalware scan. This may reveal additional artifacts left in the system, persistence mechanisms, and
|
|
malware components.
|
|
- Reimage the host operating system or restore the compromised files to clean versions.
|
|
- Ensure that the machine has the latest security updates and is not running unsupported Windows versions.
|
|
- Using the incident response data, update logging and audit policies to improve the mean time to detect (MTTD) and the
|
|
mean time to respond (MTTR).
|
|
|
|
## Setup
|
|
|
|
This rule uses Elastic Endpoint file creation and system integration events for correlation. Both data should be
|
|
collected from the host for this detection to work.
|
|
|
|
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://github.com/SecureAuthCorp/impacket/blob/master/examples/secretsdump.py",
|
|
"https://www.elastic.co/security-labs/detect-credential-access"]
|
|
risk_score = 73
|
|
rule_id = "850d901a-2a3c-46c6-8b22-55398a01aad8"
|
|
severity = "high"
|
|
tags = ["Elastic", "Host", "Windows", "Threat Detection", "Lateral Movement", "Credential Access", "Investigation Guide"]
|
|
type = "eql"
|
|
|
|
query = '''
|
|
sequence by winlog.computer_name, user.id with maxspan=1m
|
|
[authentication where
|
|
event.outcome == "success" and event.action == "logged-in" and
|
|
winlog.logon.type == "Network" and not user.name == "ANONYMOUS LOGON" and
|
|
not user.domain == "NT AUTHORITY" and source.ip != "127.0.0.1" and source.ip !="::1"]
|
|
[file where event.action == "creation" and process.name : "svchost.exe" and
|
|
file.Ext.header_bytes : "72656766*" and user.id : ("S-1-5-21-*", "S-1-12-1-*") and file.size >= 30000 and
|
|
not file.path :
|
|
("?:\\Windows\\system32\\HKEY_LOCAL_MACHINE_SOFTWARE_Microsoft_*.registry",
|
|
"?:\\Users\\*\\AppData\\Local\\Microsoft\\Windows\\UsrClass.dat.LOG?",
|
|
"?:\\Users\\*\\AppData\\Local\\Microsoft\\Windows\\UsrClass.dat",
|
|
"?:\\Users\\*\\ntuser.dat.LOG?",
|
|
"?:\\Users\\*\\NTUSER.DAT")]
|
|
'''
|
|
|
|
|
|
[[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.002"
|
|
name = "Security Account Manager"
|
|
reference = "https://attack.mitre.org/techniques/T1003/002/"
|
|
|
|
|
|
|
|
[rule.threat.tactic]
|
|
id = "TA0006"
|
|
name = "Credential Access"
|
|
reference = "https://attack.mitre.org/tactics/TA0006/"
|
|
[[rule.threat]]
|
|
framework = "MITRE ATT&CK"
|
|
[[rule.threat.technique]]
|
|
id = "T1021"
|
|
name = "Remote Services"
|
|
reference = "https://attack.mitre.org/techniques/T1021/"
|
|
|
|
|
|
[rule.threat.tactic]
|
|
id = "TA0008"
|
|
name = "Lateral Movement"
|
|
reference = "https://attack.mitre.org/tactics/TA0008/"
|
|
|