Skip to content

Commit 7265154

Browse files
authored
Merge branch 'main' into forti-endpoint
2 parents 2e778cc + ba44f43 commit 7265154

File tree

3 files changed

+129
-10
lines changed

3 files changed

+129
-10
lines changed

rules/integrations/aws/defense_evasion_elasticache_security_group_creation.toml

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,16 @@
22
creation_date = "2021/07/19"
33
integration = ["aws"]
44
maturity = "production"
5-
updated_date = "2025/01/15"
5+
updated_date = "2025/11/18"
66

77
[rule]
88
author = ["Austin Songer"]
9-
description = "Identifies when an ElastiCache security group has been created."
9+
description = """
10+
Identifies when an ElastiCache security group has been created. Amazon EC2-Classic and ElastiCache CacheSecurityGroups
11+
have been retired. Modern ElastiCache deployments run in a VPC and use standard EC2 security groups instead. This rule
12+
should be retained only for historical log analysis on legacy CloudTrail data. We recommend relying on "AWS EC2 Security
13+
Group Configuration Change" rule for network-control changes impacting ElastiCache in VPC-based deployments.
14+
"""
1015
false_positives = [
1116
"""
1217
A ElastiCache security group may be created by a system or network administrator. Verify whether the user identity,
@@ -20,13 +25,13 @@ index = ["filebeat-*", "logs-aws.cloudtrail-*"]
2025
interval = "10m"
2126
language = "kuery"
2227
license = "Elastic License v2"
23-
name = "AWS ElastiCache Security Group Created"
28+
name = "Deprecated - AWS ElastiCache Security Group Created"
2429
note = """## Triage and analysis
2530
2631
> **Disclaimer**:
2732
> This investigation guide was created using generative AI technology and has been reviewed to improve its accuracy and relevance. While every effort has been made to ensure its quality, we recommend validating the content and adapting it to suit your specific environment and operational needs.
2833
29-
### Investigating AWS ElastiCache Security Group Created
34+
### Investigating Deprecated - AWS ElastiCache Security Group Created
3035
3136
AWS ElastiCache security groups control access to cache clusters, ensuring only authorized traffic can interact with them. Adversaries might create new security groups to bypass existing restrictions, facilitating unauthorized access or data exfiltration. The detection rule monitors for successful creation events of these groups, signaling potential defense evasion tactics by identifying unusual or unauthorized configurations.
3237
@@ -66,7 +71,13 @@ references = [
6671
risk_score = 21
6772
rule_id = "7b3da11a-60a2-412e-8aa7-011e1eb9ed47"
6873
severity = "low"
69-
tags = ["Domain: Cloud", "Data Source: AWS", "Data Source: Amazon Web Services", "Tactic: Defense Evasion", "Resources: Investigation Guide"]
74+
tags = [
75+
"Domain: Cloud",
76+
"Data Source: AWS",
77+
"Data Source: Amazon Web Services",
78+
"Tactic: Defense Evasion",
79+
"Resources: Investigation Guide",
80+
]
7081
timestamp_override = "event.ingested"
7182
type = "query"
7283

rules/integrations/aws/defense_evasion_elasticache_security_group_modified_or_deleted.toml

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,17 @@
22
creation_date = "2021/07/19"
33
integration = ["aws"]
44
maturity = "production"
5-
updated_date = "2025/01/15"
5+
updated_date = "2025/11/18"
66

77
[rule]
88
author = ["Austin Songer"]
9-
description = "Identifies when an ElastiCache security group has been modified or deleted."
9+
description = """
10+
Identifies when an ElastiCache security group has been modified or deleted. Amazon EC2-Classic and ElastiCache
11+
CacheSecurityGroups have been retired. Modern ElastiCache deployments run in a VPC and use standard EC2 security groups
12+
instead. This rule should be retained only for historical log analysis on legacy CloudTrail data. We recommend relying
13+
on "AWS EC2 Security Group Configuration Change" rule for network-control changes impacting ElastiCache in VPC-based
14+
deployments.
15+
"""
1016
false_positives = [
1117
"""
1218
A ElastiCache security group deletion may be done by a system or network administrator. Verify whether the user
@@ -20,13 +26,13 @@ index = ["filebeat-*", "logs-aws.cloudtrail-*"]
2026
interval = "10m"
2127
language = "kuery"
2228
license = "Elastic License v2"
23-
name = "AWS ElastiCache Security Group Modified or Deleted"
29+
name = "Deprecated - AWS ElastiCache Security Group Modified or Deleted"
2430
note = """## Triage and analysis
2531
2632
> **Disclaimer**:
2733
> This investigation guide was created using generative AI technology and has been reviewed to improve its accuracy and relevance. While every effort has been made to ensure its quality, we recommend validating the content and adapting it to suit your specific environment and operational needs.
2834
29-
### Investigating AWS ElastiCache Security Group Modified or Deleted
35+
### Investigating Deprecated - AWS ElastiCache Security Group Modified or Deleted
3036
3137
AWS ElastiCache security groups control inbound and outbound traffic to cache clusters, ensuring only authorized access. Adversaries may modify or delete these groups to bypass security controls, facilitating unauthorized data access or exfiltration. The detection rule monitors specific API actions related to security group changes, flagging successful modifications or deletions as potential defense evasion attempts.
3238
@@ -64,7 +70,13 @@ references = ["https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference
6470
risk_score = 21
6571
rule_id = "1ba5160d-f5a2-4624-b0ff-6a1dc55d2516"
6672
severity = "low"
67-
tags = ["Domain: Cloud", "Data Source: AWS", "Data Source: Amazon Web Services", "Tactic: Defense Evasion", "Resources: Investigation Guide"]
73+
tags = [
74+
"Domain: Cloud",
75+
"Data Source: AWS",
76+
"Data Source: Amazon Web Services",
77+
"Tactic: Defense Evasion",
78+
"Resources: Investigation Guide",
79+
]
6880
timestamp_override = "event.ingested"
6981
type = "query"
7082

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
[metadata]
2+
creation_date = "2025/11/12"
3+
integration = ["windows"]
4+
maturity = "production"
5+
updated_date = "2025/11/12"
6+
min_stack_version = "9.1.0"
7+
min_stack_comments = "The esql match operator was introduced in version 9.1.0"
8+
9+
10+
[rule]
11+
author = ["Elastic"]
12+
description = """
13+
Identifies attempts to masquerade as the Service Host process `svchost.exe` to evade detection and blend in with normal system activity.
14+
"""
15+
from = "now-9m"
16+
interval = "8m"
17+
language = "esql"
18+
license = "Elastic License v2"
19+
name = "Potential Masquerading as Svchost"
20+
note = """ ## Triage and analysis
21+
22+
> **Disclaimer**:
23+
> This investigation guide was created using generative AI technology and has been reviewed to improve its accuracy and relevance. While every effort has been made to ensure its quality, we recommend validating the content and adapting it to suit your specific environment and operational needs.
24+
25+
### Investigating Potential Masquerading as Svchost
26+
27+
svchost.exe is a legitimate Windows system process responsible for hosting multiple Windows services. Adversaries may attempt to masquerade as svchost.exe to evade detection and blend in with normal system activity. This is often achieved by renaming a malicious executable to svchost.exe, placing it outside of standard Windows directories or running it with unusual parent processes or command-line arguments.
28+
29+
### Possible investigation steps
30+
31+
- Review the process.executable and process.parent.executable fields to confirm the location and unexpected parents..
32+
- Check the process.command_line field for unusual arguments. Legitimate svchost.exe instances typically use the -k parameter followed by a valid service group name.
33+
- Investigate the process.code_signature field to determine if the binary is signed by Microsoft. Unsigned or invalid signatures are strong indicators of masquerading.
34+
- Correlate the event with other telemetry from the same host to identify additional indicators such as file creation, network connections, or registry modifications related to the suspicious process.
35+
- Review related file creation events to determine how and when the fake svchost.exe was introduced to the system (e.g. dropped by another malware component or downloaded from the network).
36+
37+
### False positive analysis
38+
39+
- Some legitimate third-party applications may use executables named svchost.exe within their own installation paths. Verify the vendor, file hash, and digital signature to determine legitimacy.
40+
- In virtualized or sandboxed environments, custom service hosts may appear with similar naming conventions. Validate these against known baseline configurations.
41+
- Ensure that system recovery or diagnostic tools using temporary binaries are not misidentified as malicious. Review event timing and system logs to confirm.
42+
- Regularly maintain an inventory of known legitimate `svchost.exe` locations and hashes to minimize false positives across managed hosts.
43+
44+
### Response and remediation
45+
46+
- Isolate the affected host immediately to prevent lateral movement or further compromise.
47+
- Terminate any suspicious svchost.exe processes executing from non-standard locations.
48+
- Quarantine and remove the rogue binary after verification through hash reputation or sandbox analysis.
49+
- Perform a full system scan to identify additional malicious files or persistence mechanisms associated with the masqueraded process.
50+
- Review and reset any credentials used by the compromised process if credential theft or impersonation is suspected.
51+
- Analyze recent network activity from the affected host for potential data exfiltration or commandand-control communication.
52+
- Escalate the incident to the security operations or incident response team for deeper investigation and forensic analysis.
53+
- Implement detections to monitor for future attempts of process masquerading, and update security baselines and EDR exclusions accordingly.
54+
"""
55+
risk_score = 73
56+
rule_id = "32f95776-6498-4f3c-a90c-d4f6083e3901"
57+
severity = "high"
58+
tags = [
59+
"Domain: Endpoint",
60+
"OS: Windows",
61+
"Use Case: Threat Detection",
62+
"Tactic: Defense Evasion",
63+
"Resources: Investigation Guide"
64+
]
65+
timestamp_override = "event.ingested"
66+
type = "esql"
67+
68+
query = '''
69+
FROM logs-* metadata _id, _version, _index
70+
| where event.category == "process" and event.type == "start" and
71+
match(process.name, "svchost.exe", { "fuzziness": 1, "max_expansions": 10 }) and
72+
not process.executable in ("C:\\Windows\\SysWOW64\\svchost.exe", "C:\\Windows\\System32\\svchost.exe") and
73+
not process.executable like """\\Device\\HarddiskVolume*\\Windows\\System32\\svchost.exe""" and
74+
not process.executable like """\\Device\\HarddiskVolume*\\Windows\\SysWOW64\\svchost.exe"""
75+
| keep event.dataset, host.name, host.id, user.id, user.name, process.executable, process.parent.executable, process.command_line
76+
'''
77+
78+
79+
[[rule.threat]]
80+
framework = "MITRE ATT&CK"
81+
[[rule.threat.technique]]
82+
id = "T1036"
83+
name = "Masquerading"
84+
reference = "https://attack.mitre.org/techniques/T1036/"
85+
[[rule.threat.technique.subtechnique]]
86+
id = "T1036.005"
87+
name = "Match Legitimate Resource Name or Location"
88+
reference = "https://attack.mitre.org/techniques/T1036/005/"
89+
90+
91+
92+
[rule.threat.tactic]
93+
id = "TA0005"
94+
name = "Defense Evasion"
95+
reference = "https://attack.mitre.org/tactics/TA0005/"
96+

0 commit comments

Comments
 (0)