7c90f1d4c4
* Initial commit
* Update Investigation guides - security-docs review
* Update command_and_control_dns_tunneling_nslookup.toml
* Update defense_evasion_amsienable_key_mod.toml
* Apply security-docs review
* Remove dot
* Update rules/windows/command_and_control_rdp_tunnel_plink.toml
Co-authored-by: nastasha-solomon <79124755+nastasha-solomon@users.noreply.github.com>
* Apply changes from review
* Apply the suggestion
Co-authored-by: nastasha-solomon <79124755+nastasha-solomon@users.noreply.github.com>
(cherry picked from commit 817b97f428)
157 lines
7.4 KiB
TOML
157 lines
7.4 KiB
TOML
[metadata]
|
||
creation_date = "2022/02/16"
|
||
maturity = "production"
|
||
updated_date = "2022/05/09"
|
||
|
||
[rule]
|
||
author = ["Elastic"]
|
||
description = """
|
||
Identifies handle requests for the Local Security Authority Subsystem Service (LSASS) object access with
|
||
specific access masks that many tools with a capability to dump memory to disk use (0x1fffff, 0x1010, 0x120089).
|
||
This rule is tool agnostic as it has been validated against a host of various LSASS dump tools such as SharpDump,
|
||
Procdump, Mimikatz, Comsvcs etc. It detects this behavior at a low level and does not depend on a specific tool or dump
|
||
file name.
|
||
"""
|
||
from = "now-9m"
|
||
index = ["winlogbeat-*", "logs-system.*"]
|
||
language = "eql"
|
||
license = "Elastic License v2"
|
||
name = "LSASS Memory Dump Handle Access"
|
||
note = """## Triage and analysis
|
||
|
||
### Investigating LSASS Memory Dump Handle Access
|
||
|
||
Local Security Authority Server Service (LSASS) is a process in Microsoft Windows operating systems that is responsible
|
||
for enforcing security policy on the system. It verifies users logging on to a Windows computer or server, handles
|
||
password changes, and creates access tokens.
|
||
|
||
Adversaries may attempt to access credential material stored in LSASS process memory. After a user logs on,the system
|
||
generates and stores a variety of credential materials in LSASS process memory. This is meant to facilitate single
|
||
sign-on (SSO) ensuring a user isn’t prompted each time resource access is requested. These credential materials can be
|
||
harvested by an adversary using administrative user or SYSTEM privileges to conduct lateral movement using
|
||
[alternate authentication material](https://attack.mitre.org/techniques/T1550/).
|
||
|
||
#### Possible investigation steps
|
||
|
||
- Investigate the process execution chain (parent process tree) for unknown processes. Examine their executable files
|
||
for prevalence, whether they are located in expected locations, and if they are signed with valid digital signatures.
|
||
- Investigate other alerts associated with the user/host during the past 48 hours.
|
||
- Retrieve the process executable and determine if it is malicious:
|
||
- Use a private sandboxed malware analysis system to perform analysis.
|
||
- Observe and collect information about the following activities:
|
||
- Attempts to contact external domains and addresses.
|
||
- File and registry access, modification, and creation activities.
|
||
- Service creation and launch activities.
|
||
- Scheduled tasks creation.
|
||
- Use the PowerShell Get-FileHash cmdlet to get the files' SHA-256 hash values.
|
||
- Search for the existence and reputation of the hashes in resources like VirusTotal, Hybrid-Analysis, CISCO Talos, Any.run, etc.
|
||
|
||
### False positive analysis
|
||
|
||
- There should be very few or no false positives for this rule. If this activity is expected or noisy in your environment,
|
||
consider adding exceptions — preferably with a combination of user and command line conditions.
|
||
- If the process is related to antivirus or endpoint detection and response solutions, validate that it is installed on
|
||
the correct path and signed with the company's valid digital signature.
|
||
|
||
### Response and remediation
|
||
|
||
- Initiate the incident response process based on the outcome of the triage.
|
||
- Isolate the involved host to prevent further post-compromise behavior.
|
||
- Scope compromised credentials and disable the accounts.
|
||
- If the triage identified malware, search the environment for additional compromised hosts.
|
||
- Implement temporary network rules, procedures, and segmentation to contain the malware.
|
||
- Stop suspicious processes.
|
||
- Immediately block the identified indicators of compromise (IoCs).
|
||
- Inspect the affected systems for additional malware backdoors like reverse shells, reverse proxies, or droppers that
|
||
attackers could use to reinfect the system.
|
||
- Remove and block malicious artifacts identified during triage.
|
||
- 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.
|
||
- Run a full antimalware scan. This may reveal additional artifacts left in the system, persistence mechanisms, and
|
||
malware components.
|
||
- Determine the initial vector abused by the attacker and take action to prevent reinfection through the same vector.
|
||
- 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).
|
||
|
||
## Config
|
||
|
||
Ensure advanced audit policies for Windows are enabled, specifically:
|
||
Object Access policies [Event ID 4656](https://docs.microsoft.com/en-us/windows/security/threat-protection/auditing/event-4656) (Handle to an Object was Requested)
|
||
|
||
```
|
||
Computer Configuration >
|
||
Policies >
|
||
Windows Settings >
|
||
Security Settings >
|
||
Advanced Audit Policies Configuration >
|
||
System Audit Policies >
|
||
Object Access >
|
||
Audit File System (Success,Failure)
|
||
Audit Handle Manipulation (Success,Failure)
|
||
```
|
||
|
||
Also, this event generates only if the object’s [SACL](https://docs.microsoft.com/en-us/windows/win32/secauthz/access-control-lists) has the required access control entry (ACE) to handle the use of specific access rights.
|
||
|
||
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://docs.microsoft.com/en-us/windows/security/threat-protection/auditing/event-4656",
|
||
"https://twitter.com/jsecurity101/status/1227987828534956033?s=20",
|
||
"https://attack.mitre.org/techniques/T1003/001/",
|
||
"https://threathunterplaybook.com/notebooks/windows/06_credential_access/WIN-170105221010.html",
|
||
"http://findingbad.blogspot.com/2017/"
|
||
]
|
||
risk_score = 73
|
||
rule_id = "208dbe77-01ed-4954-8d44-1e5751cb20de"
|
||
severity = "high"
|
||
tags = ["Elastic", "Host", "Windows", "Threat Detection", "Credential Access"]
|
||
timestamp_override = "event.ingested"
|
||
type = "eql"
|
||
|
||
query = '''
|
||
any where event.action == "File System" and event.code == "4656" and
|
||
|
||
winlog.event_data.ObjectName : (
|
||
"?:\\Windows\\System32\\lsass.exe",
|
||
"\\Device\\HarddiskVolume?\\Windows\\System32\\lsass.exe",
|
||
"\\Device\\HarddiskVolume??\\Windows\\System32\\lsass.exe") and
|
||
|
||
/* The right to perform an operation controlled by an extended access right. */
|
||
|
||
(winlog.event_data.AccessMask : ("0x1fffff" , "0x1010", "0x120089", "0x1F3FFF") or
|
||
winlog.event_data.AccessMaskDescription : ("READ_CONTROL", "Read from process memory"))
|
||
|
||
/* Common Noisy False Positives */
|
||
|
||
and not winlog.event_data.ProcessName : (
|
||
"?:\\Program Files\\*.exe",
|
||
"?:\\Program Files (x86)\\*.exe",
|
||
"?:\\Windows\\system32\\wbem\\WmiPrvSE.exe",
|
||
"?:\\Windows\\System32\\dllhost.exe",
|
||
"?:\\Windows\\System32\\svchost.exe",
|
||
"?:\\Windows\\System32\\msiexec.exe",
|
||
"?:\\ProgramData\\Microsoft\\Windows Defender\\*.exe",
|
||
"?:\\Windows\\explorer.exe")
|
||
'''
|
||
|
||
|
||
[[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/"
|
||
|