Skip to content

Commit 2aa3726

Browse files
w0rk3rgithub-actions[bot]
authored andcommitted
[Rule Tuning] 3rd Party EDR Compatibility - 10 (#4035)
* [Rule Tuning] 3rd Party EDR Compatibility - 10 * min_stack for merge, bump updated_date (cherry picked from commit 7b65575)
1 parent 91ef868 commit 2aa3726

10 files changed

+89
-116
lines changed

rules/windows/execution_enumeration_via_wmiprvse.toml

Lines changed: 14 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
[metadata]
22
creation_date = "2021/01/19"
3-
integration = ["endpoint", "windows", "system"]
3+
integration = ["endpoint", "windows", "system", "m365_defender", "sentinel_one_cloud_funnel"]
44
maturity = "production"
5-
updated_date = "2024/08/07"
5+
updated_date = "2024/10/10"
6+
min_stack_version = "8.13.0"
7+
min_stack_comments = "Breaking change at 8.13.0 for SentinelOne Integration."
68

79
[rule]
810
author = ["Elastic"]
@@ -14,23 +16,18 @@ from = "now-9m"
1416
index = [
1517
"winlogbeat-*",
1618
"logs-endpoint.events.process-*",
17-
"logs-windows.*",
19+
"logs-windows.forwarded*",
20+
"logs-windows.sysmon_operational-*",
1821
"endgame-*",
1922
"logs-system.security*",
23+
"logs-m365_defender.event-*",
24+
"logs-sentinel_one_cloud_funnel.*",
2025
]
2126
language = "eql"
2227
license = "Elastic License v2"
2328
name = "Enumeration Command Spawned via WMIPrvSE"
2429
risk_score = 21
2530
rule_id = "770e0c4d-b998-41e5-a62e-c7901fd7f470"
26-
setup = """## Setup
27-
28-
If enabling an EQL rule on a non-elastic-agent index (such as beats) for versions <8.2,
29-
events will not define `event.ingested` and default fallback for EQL rules was not added until version 8.2.
30-
Hence for this rule to work effectively, users will need to add a custom ingest pipeline to populate
31-
`event.ingested` to @timestamp.
32-
For more details on adding a custom ingest pipeline refer - https://www.elastic.co/guide/en/fleet/current/data-streams-pipeline-tutorial.html
33-
"""
3431
severity = "low"
3532
tags = [
3633
"Domain: Endpoint",
@@ -40,6 +37,9 @@ tags = [
4037
"Data Source: Elastic Endgame",
4138
"Data Source: Elastic Defend",
4239
"Data Source: System",
40+
"Data Source: Microsoft Defender for Endpoint",
41+
"Data Source: Sysmon",
42+
"Data Source: SentinelOne",
4343
]
4444
timestamp_override = "event.ingested"
4545
type = "eql"
@@ -48,28 +48,9 @@ query = '''
4848
process where host.os.type == "windows" and event.type == "start" and process.command_line != null and
4949
process.name:
5050
(
51-
"arp.exe",
52-
"dsquery.exe",
53-
"dsget.exe",
54-
"gpresult.exe",
55-
"hostname.exe",
56-
"ipconfig.exe",
57-
"nbtstat.exe",
58-
"net.exe",
59-
"net1.exe",
60-
"netsh.exe",
61-
"netstat.exe",
62-
"nltest.exe",
63-
"ping.exe",
64-
"qprocess.exe",
65-
"quser.exe",
66-
"qwinsta.exe",
67-
"reg.exe",
68-
"sc.exe",
69-
"systeminfo.exe",
70-
"tasklist.exe",
71-
"tracert.exe",
72-
"whoami.exe"
51+
"arp.exe", "dsquery.exe", "dsget.exe", "gpresult.exe", "hostname.exe", "ipconfig.exe", "nbtstat.exe",
52+
"net.exe", "net1.exe", "netsh.exe", "netstat.exe", "nltest.exe", "ping.exe", "qprocess.exe", "quser.exe",
53+
"qwinsta.exe", "reg.exe", "sc.exe", "systeminfo.exe", "tasklist.exe", "tracert.exe", "whoami.exe"
7354
) and
7455
process.parent.name:"wmiprvse.exe" and
7556
not (

rules/windows/execution_from_unusual_path_cmdline.toml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
[metadata]
22
creation_date = "2020/10/30"
3-
integration = ["endpoint", "windows", "system"]
3+
integration = ["endpoint", "windows", "system", "m365_defender", "sentinel_one_cloud_funnel"]
44
maturity = "production"
5-
updated_date = "2024/09/23"
5+
updated_date = "2024/10/10"
6+
min_stack_version = "8.13.0"
7+
min_stack_comments = "Breaking change at 8.13.0 for SentinelOne Integration."
68

79
[transform]
810
[[transform.osquery]]
@@ -40,9 +42,12 @@ from = "now-9m"
4042
index = [
4143
"winlogbeat-*",
4244
"logs-endpoint.events.process-*",
43-
"logs-windows.*",
45+
"logs-windows.forwarded*",
46+
"logs-windows.sysmon_operational-*",
4447
"endgame-*",
4548
"logs-system.security*",
49+
"logs-m365_defender.event-*",
50+
"logs-sentinel_one_cloud_funnel.*",
4651
]
4752
language = "eql"
4853
license = "Elastic License v2"
@@ -104,14 +109,6 @@ references = [
104109
]
105110
risk_score = 47
106111
rule_id = "cff92c41-2225-4763-b4ce-6f71e5bda5e6"
107-
setup = """## Setup
108-
109-
If enabling an EQL rule on a non-elastic-agent index (such as beats) for versions <8.2,
110-
events will not define `event.ingested` and default fallback for EQL rules was not added until version 8.2.
111-
Hence for this rule to work effectively, users will need to add a custom ingest pipeline to populate
112-
`event.ingested` to @timestamp.
113-
For more details on adding a custom ingest pipeline refer - https://www.elastic.co/guide/en/fleet/current/data-streams-pipeline-tutorial.html
114-
"""
115112
severity = "medium"
116113
tags = [
117114
"Domain: Endpoint",
@@ -123,6 +120,9 @@ tags = [
123120
"Data Source: Elastic Endgame",
124121
"Data Source: Elastic Defend",
125122
"Data Source: System",
123+
"Data Source: Microsoft Defender for Endpoint",
124+
"Data Source: Sysmon",
125+
"Data Source: SentinelOne",
126126
]
127127
timestamp_override = "event.ingested"
128128
type = "eql"

rules/windows/execution_initial_access_via_msc_file.toml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
[metadata]
22
creation_date = "2024/05/12"
3-
integration = ["endpoint", "windows"]
3+
integration = ["endpoint", "windows", "m365_defender", "sentinel_one_cloud_funnel"]
44
maturity = "production"
5-
updated_date = "2024/05/21"
5+
updated_date = "2024/10/10"
6+
min_stack_version = "8.13.0"
7+
min_stack_comments = "Breaking change at 8.13.0 for SentinelOne Integration."
68

79
[rule]
810
author = ["Elastic"]
@@ -11,7 +13,7 @@ Identifies the execution of a child process from a Microsoft Common Console file
1113
command in an MSC file in order to trick victims into executing malicious commands.
1214
"""
1315
from = "now-9m"
14-
index = ["winlogbeat-*", "logs-endpoint.events.process-*", "logs-windows.sysmon_operational-*", "endgame-*"]
16+
index = ["winlogbeat-*", "logs-endpoint.events.process-*", "logs-windows.sysmon_operational-*", "endgame-*", "logs-m365_defender.event-*", "logs-sentinel_one_cloud_funnel.*"]
1517
language = "eql"
1618
license = "Elastic License v2"
1719
name = "Unusual Execution via Microsoft Common Console File"
@@ -53,6 +55,8 @@ tags = [
5355
"Data Source: Elastic Endgame",
5456
"Data Source: Elastic Defend",
5557
"Data Source: Sysmon",
58+
"Data Source: Microsoft Defender for Endpoint",
59+
"Data Source: SentinelOne",
5660
]
5761
timestamp_override = "event.ingested"
5862
type = "eql"

rules/windows/execution_mofcomp.toml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
[metadata]
22
creation_date = "2023/08/23"
3-
integration = ["endpoint"]
3+
integration = ["endpoint", "m365_defender", "system"]
44
maturity = "production"
5-
updated_date = "2024/05/21"
5+
updated_date = "2024/10/10"
66

77
[rule]
88
author = ["Elastic"]
@@ -12,7 +12,7 @@ files to build their own namespaces and classes into the Windows Management Inst
1212
establish persistence using WMI Event Subscription.
1313
"""
1414
from = "now-9m"
15-
index = ["logs-endpoint.events.process-*"]
15+
index = ["logs-endpoint.events.process-*", "logs-m365_defender.event-*", "endgame-*", "logs-system.security-*"]
1616
language = "eql"
1717
license = "Elastic License v2"
1818
name = "Mofcomp Activity"
@@ -25,6 +25,9 @@ tags = [
2525
"Use Case: Threat Detection",
2626
"Tactic: Execution",
2727
"Data Source: Elastic Defend",
28+
"Data Source: Microsoft Defender for Endpoint",
29+
"Data Source: Elastic Endgame",
30+
"Data Source: System",
2831
]
2932
timestamp_override = "event.ingested"
3033
type = "eql"

rules/windows/execution_shared_modules_local_sxs_dll.toml

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
[metadata]
22
creation_date = "2020/10/28"
3-
integration = ["endpoint", "windows"]
3+
integration = ["endpoint", "windows", "m365_defender", "sentinel_one_cloud_funnel"]
44
maturity = "production"
5-
updated_date = "2024/05/21"
5+
updated_date = "2024/10/10"
6+
min_stack_version = "8.13.0"
7+
min_stack_comments = "Breaking change at 8.13.0 for SentinelOne Integration."
68

79
[rule]
810
author = ["Elastic"]
@@ -12,7 +14,7 @@ shared modules to execute malicious payloads by instructing the Windows module l
1214
paths.
1315
"""
1416
from = "now-9m"
15-
index = ["winlogbeat-*", "logs-endpoint.events.file-*", "logs-windows.sysmon_operational-*", "endgame-*"]
17+
index = ["winlogbeat-*", "logs-endpoint.events.file-*", "logs-windows.sysmon_operational-*", "endgame-*", "logs-m365_defender.event-*", "logs-sentinel_one_cloud_funnel.*"]
1618
language = "eql"
1719
license = "Elastic License v2"
1820
name = "Execution via local SxS Shared Module"
@@ -23,14 +25,6 @@ The SxS DotLocal folder is a legitimate feature that can be abused to hijack sta
2325
references = ["https://docs.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-redirection"]
2426
risk_score = 47
2527
rule_id = "a3ea12f3-0d4e-4667-8b44-4230c63f3c75"
26-
setup = """## Setup
27-
28-
If enabling an EQL rule on a non-elastic-agent index (such as beats) for versions <8.2,
29-
events will not define `event.ingested` and default fallback for EQL rules was not added until version 8.2.
30-
Hence for this rule to work effectively, users will need to add a custom ingest pipeline to populate
31-
`event.ingested` to @timestamp.
32-
For more details on adding a custom ingest pipeline refer - https://www.elastic.co/guide/en/fleet/current/data-streams-pipeline-tutorial.html
33-
"""
3428
severity = "medium"
3529
tags = [
3630
"Domain: Endpoint",
@@ -40,6 +34,8 @@ tags = [
4034
"Data Source: Elastic Endgame",
4135
"Data Source: Elastic Defend",
4236
"Data Source: Sysmon",
37+
"Data Source: Microsoft Defender for Endpoint",
38+
"Data Source: SentinelOne",
4339
]
4440
timestamp_override = "event.ingested"
4541
type = "eql"

rules/windows/execution_suspicious_cmd_wmi.toml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
[metadata]
22
creation_date = "2020/10/19"
3-
integration = ["endpoint", "windows", "system"]
3+
integration = ["endpoint", "windows", "system", "m365_defender", "sentinel_one_cloud_funnel"]
44
maturity = "production"
5-
updated_date = "2024/09/23"
5+
updated_date = "2024/10/10"
6+
min_stack_version = "8.13.0"
7+
min_stack_comments = "Breaking change at 8.13.0 for SentinelOne Integration."
68

79
[rule]
810
author = ["Elastic"]
@@ -14,9 +16,12 @@ from = "now-9m"
1416
index = [
1517
"logs-endpoint.events.process-*",
1618
"winlogbeat-*",
17-
"logs-windows.*",
19+
"logs-windows.forwarded*",
20+
"logs-windows.sysmon_operational-*",
1821
"endgame-*",
1922
"logs-system.security*",
23+
"logs-m365_defender.event-*",
24+
"logs-sentinel_one_cloud_funnel.*",
2025
]
2126
language = "eql"
2227
license = "Elastic License v2"
@@ -27,14 +32,6 @@ references = [
2732
]
2833
risk_score = 47
2934
rule_id = "12f07955-1674-44f7-86b5-c35da0a6f41a"
30-
setup = """## Setup
31-
32-
If enabling an EQL rule on a non-elastic-agent index (such as beats) for versions <8.2,
33-
events will not define `event.ingested` and default fallback for EQL rules was not added until version 8.2.
34-
Hence for this rule to work effectively, users will need to add a custom ingest pipeline to populate
35-
`event.ingested` to @timestamp.
36-
For more details on adding a custom ingest pipeline refer - https://www.elastic.co/guide/en/fleet/current/data-streams-pipeline-tutorial.html
37-
"""
3835
severity = "medium"
3936
tags = [
4037
"Domain: Endpoint",
@@ -44,6 +41,9 @@ tags = [
4441
"Data Source: Elastic Endgame",
4542
"Data Source: Elastic Defend",
4643
"Data Source: System",
44+
"Data Source: Microsoft Defender for Endpoint",
45+
"Data Source: Sysmon",
46+
"Data Source: SentinelOne",
4747
]
4848
timestamp_override = "event.ingested"
4949
type = "eql"

rules/windows/execution_suspicious_pdf_reader.toml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
[metadata]
22
creation_date = "2020/03/30"
3-
integration = ["endpoint", "windows"]
3+
integration = ["endpoint", "windows", "m365_defender", "sentinel_one_cloud_funnel"]
44
maturity = "production"
5-
updated_date = "2024/08/07"
5+
updated_date = "2024/10/10"
6+
min_stack_version = "8.13.0"
7+
min_stack_comments = "Breaking change at 8.13.0 for SentinelOne Integration."
68

79
[rule]
810
author = ["Elastic"]
@@ -14,9 +16,12 @@ from = "now-9m"
1416
index = [
1517
"winlogbeat-*",
1618
"logs-endpoint.events.process-*",
17-
"logs-windows.*",
19+
"logs-windows.forwarded*",
20+
"logs-windows.sysmon_operational-*",
1821
"endgame-*",
1922
"logs-system.security*",
23+
"logs-m365_defender.event-*",
24+
"logs-sentinel_one_cloud_funnel.*",
2025
]
2126
language = "eql"
2227
license = "Elastic License v2"
@@ -71,14 +76,6 @@ This rule looks for commonly abused built-in utilities spawned by a PDF reader p
7176
"""
7277
risk_score = 21
7378
rule_id = "53a26770-9cbd-40c5-8b57-61d01a325e14"
74-
setup = """## Setup
75-
76-
If enabling an EQL rule on a non-elastic-agent index (such as beats) for versions <8.2,
77-
events will not define `event.ingested` and default fallback for EQL rules was not added until version 8.2.
78-
Hence for this rule to work effectively, users will need to add a custom ingest pipeline to populate
79-
`event.ingested` to @timestamp.
80-
For more details on adding a custom ingest pipeline refer - https://www.elastic.co/guide/en/fleet/current/data-streams-pipeline-tutorial.html
81-
"""
8279
severity = "low"
8380
tags = [
8481
"Domain: Endpoint",
@@ -90,6 +87,9 @@ tags = [
9087
"Data Source: Elastic Endgame",
9188
"Data Source: Elastic Defend",
9289
"Data Source: System",
90+
"Data Source: Microsoft Defender for Endpoint",
91+
"Data Source: Sysmon",
92+
"Data Source: SentinelOne",
9393
]
9494
timestamp_override = "event.ingested"
9595
type = "eql"

rules/windows/execution_suspicious_psexesvc.toml

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
[metadata]
22
creation_date = "2020/08/14"
3-
integration = ["endpoint", "windows"]
3+
integration = ["endpoint", "windows", "m365_defender"]
44
maturity = "production"
5-
updated_date = "2024/05/21"
5+
updated_date = "2024/10/10"
66

77
[rule]
88
author = ["Elastic"]
@@ -11,7 +11,7 @@ Identifies suspicious psexec activity which is executing from the psexec service
1111
evade detection.
1212
"""
1313
from = "now-9m"
14-
index = ["winlogbeat-*", "logs-endpoint.events.process-*", "logs-windows.sysmon_operational-*", "endgame-*"]
14+
index = ["winlogbeat-*", "logs-endpoint.events.process-*", "logs-windows.sysmon_operational-*", "endgame-*", "logs-m365_defender.event-*"]
1515
language = "eql"
1616
license = "Elastic License v2"
1717
name = "Suspicious Process Execution via Renamed PsExec Executable"
@@ -48,14 +48,6 @@ This rule identifies instances where the PsExec service component is executed us
4848
"""
4949
risk_score = 47
5050
rule_id = "e2f9fdf5-8076-45ad-9427-41e0e03dc9c2"
51-
setup = """## Setup
52-
53-
If enabling an EQL rule on a non-elastic-agent index (such as beats) for versions <8.2,
54-
events will not define `event.ingested` and default fallback for EQL rules was not added until version 8.2.
55-
Hence for this rule to work effectively, users will need to add a custom ingest pipeline to populate
56-
`event.ingested` to @timestamp.
57-
For more details on adding a custom ingest pipeline refer - https://www.elastic.co/guide/en/fleet/current/data-streams-pipeline-tutorial.html
58-
"""
5951
severity = "medium"
6052
tags = [
6153
"Domain: Endpoint",
@@ -67,6 +59,7 @@ tags = [
6759
"Resources: Investigation Guide",
6860
"Data Source: Elastic Defend",
6961
"Data Source: Sysmon",
62+
"Data Source: Microsoft Defender for Endpoint",
7063
]
7164
timestamp_override = "event.ingested"
7265
type = "eql"

0 commit comments

Comments
 (0)