Skip to content

Commit 7446550

Browse files
w0rk3rgithub-actions[bot]
authored andcommitted
[Rule Tuning] 3rd Party EDR Compatibility - 17 (#4042)
* [Rule Tuning] 3rd Party EDR Compatibility - 17 * Update rules/windows/privilege_escalation_unusual_parentchild_relationship.toml * min_stack for merge, bump updated_date --------- Co-authored-by: Ruben Groenewoud <[email protected]> (cherry picked from commit 6f69b33)
1 parent 250e58d commit 7446550

13 files changed

+116
-122
lines changed

rules/windows/privilege_escalation_rogue_windir_environment_var.toml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
[metadata]
22
creation_date = "2020/11/26"
3-
integration = ["endpoint"]
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"]
@@ -11,7 +13,7 @@ Identifies a privilege escalation attempt via a rogue Windows directory (Windir)
1113
primitive that is often combined with other vulnerabilities to elevate privileges.
1214
"""
1315
from = "now-9m"
14-
index = ["logs-endpoint.events.registry-*", "endgame-*", "logs-windows.sysmon_operational-*", "winlogbeat-*"]
16+
index = ["logs-endpoint.events.registry-*", "endgame-*", "logs-windows.sysmon_operational-*", "winlogbeat-*", "logs-m365_defender.event-*", "logs-sentinel_one_cloud_funnel.*"]
1517
language = "eql"
1618
license = "Elastic License v2"
1719
name = "Privilege Escalation via Windir Environment Variable"
@@ -27,6 +29,8 @@ tags = [
2729
"Data Source: Elastic Endgame",
2830
"Data Source: Elastic Defend",
2931
"Data Source: Sysmon",
32+
"Data Source: Microsoft Defender for Endpoint",
33+
"Data Source: SentinelOne",
3034
]
3135
timestamp_override = "event.ingested"
3236
type = "eql"
@@ -39,8 +43,12 @@ registry.path : (
3943
"HKEY_USERS\\*\\Environment\\systemroot",
4044
"HKU\\*\\Environment\\windir",
4145
"HKU\\*\\Environment\\systemroot",
46+
"HKCU\\*\\Environment\\windir",
47+
"HKCU\\*\\Environment\\systemroot",
4248
"\\REGISTRY\\USER\\*\\Environment\\windir",
43-
"\\REGISTRY\\USER\\*\\Environment\\systemroot"
49+
"\\REGISTRY\\USER\\*\\Environment\\systemroot",
50+
"USER\\*\\Environment\\windir",
51+
"USER\\*\\Environment\\systemroot"
4452
) and
4553
not registry.data.strings : ("C:\\windows", "%SystemRoot%")
4654
'''

rules/windows/privilege_escalation_service_control_spawned_script_int.toml

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

77
[transform]
88
[[transform.osquery]]
@@ -33,7 +33,14 @@ Identifies Service Control (sc.exe) spawning from script interpreter processes t
3333
This can potentially indicate an attempt to elevate privileges or maintain persistence.
3434
"""
3535
from = "now-9m"
36-
index = ["logs-endpoint.events.process-*", "logs-system.*", "winlogbeat-*", "logs-windows.*", "endgame-*"]
36+
index = [
37+
"logs-endpoint.events.process-*",
38+
"logs-system.security*",
39+
"winlogbeat-*",
40+
"logs-windows.forwarded*",
41+
"endgame-*",
42+
"logs-m365_defender.event-*"
43+
]
3744
language = "eql"
3845
license = "Elastic License v2"
3946
name = "Service Control Spawned via Script Interpreter"
@@ -91,6 +98,7 @@ tags = [
9198
"Resources: Investigation Guide",
9299
"Data Source: Elastic Defend",
93100
"Data Source: System",
101+
"Data Source: Microsoft Defender for Endpoint",
94102
]
95103
timestamp_override = "event.ingested"
96104
type = "eql"
@@ -99,7 +107,7 @@ query = '''
99107
/* This rule is not compatible with Sysmon due to user.id issues */
100108
101109
process where host.os.type == "windows" and event.type == "start" and
102-
(process.name : "sc.exe" or process.pe.original_file_name == "sc.exe") and
110+
(process.name : "sc.exe" or ?process.pe.original_file_name == "sc.exe") and
103111
process.parent.name : ("cmd.exe", "wscript.exe", "rundll32.exe", "regsvr32.exe",
104112
"wmic.exe", "mshta.exe","powershell.exe", "pwsh.exe") and
105113
process.args:("config", "create", "start", "delete", "stop", "pause") and

rules/windows/privilege_escalation_uac_bypass_com_clipup.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"]
@@ -11,21 +13,13 @@ Identifies attempts to bypass User Account Control (UAC) by abusing an elevated
1113
ClipUp program. Attackers may attempt to bypass UAC to stealthily execute code with elevated permissions.
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 = "UAC Bypass Attempt with IEditionUpgradeManager Elevated COM Interface"
1820
references = ["https://github.com/hfiref0x/UACME"]
1921
risk_score = 73
2022
rule_id = "b90cdde7-7e0d-4359-8bf0-2c112ce2008a"
21-
setup = """## Setup
22-
23-
If enabling an EQL rule on a non-elastic-agent index (such as beats) for versions <8.2,
24-
events will not define `event.ingested` and default fallback for EQL rules was not added until version 8.2.
25-
Hence for this rule to work effectively, users will need to add a custom ingest pipeline to populate
26-
`event.ingested` to @timestamp.
27-
For more details on adding a custom ingest pipeline refer - https://www.elastic.co/guide/en/fleet/current/data-streams-pipeline-tutorial.html
28-
"""
2923
severity = "high"
3024
tags = [
3125
"Domain: Endpoint",
@@ -37,6 +31,8 @@ tags = [
3731
"Data Source: Elastic Endgame",
3832
"Data Source: Elastic Defend",
3933
"Data Source: Sysmon",
34+
"Data Source: Microsoft Defender for Endpoint",
35+
"Data Source: SentinelOne",
4036
]
4137
timestamp_override = "event.ingested"
4238
type = "eql"

rules/windows/privilege_escalation_uac_bypass_com_ieinstal.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/11/03"
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,21 +13,13 @@ Identifies User Account Control (UAC) bypass attempts by abusing an elevated COM
1113
program. Attackers may attempt to bypass UAC to stealthily execute code with elevated permissions.
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 = "UAC Bypass Attempt via Elevated COM Internet Explorer Add-On Installer"
1820
references = ["https://swapcontext.blogspot.com/2020/11/uac-bypasses-from-comautoapprovallist.html"]
1921
risk_score = 47
2022
rule_id = "fc7c0fa4-8f03-4b3e-8336-c5feab0be022"
21-
setup = """## Setup
22-
23-
If enabling an EQL rule on a non-elastic-agent index (such as beats) for versions <8.2,
24-
events will not define `event.ingested` and default fallback for EQL rules was not added until version 8.2.
25-
Hence for this rule to work effectively, users will need to add a custom ingest pipeline to populate
26-
`event.ingested` to @timestamp.
27-
For more details on adding a custom ingest pipeline refer - https://www.elastic.co/guide/en/fleet/current/data-streams-pipeline-tutorial.html
28-
"""
2923
severity = "medium"
3024
tags = [
3125
"Domain: Endpoint",
@@ -37,6 +31,8 @@ tags = [
3731
"Data Source: Elastic Endgame",
3832
"Data Source: Elastic Defend",
3933
"Data Source: Sysmon",
34+
"Data Source: Microsoft Defender for Endpoint",
35+
"Data Source: SentinelOne",
4036
]
4137
timestamp_override = "event.ingested"
4238
type = "eql"

rules/windows/privilege_escalation_uac_bypass_com_interface_icmluautil.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/10/19"
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,20 +11,12 @@ Identifies User Account Control (UAC) bypass attempts via the ICMLuaUtil Elevate
1111
to bypass UAC to stealthily execute code with elevated permissions.
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 = "UAC Bypass via ICMLuaUtil Elevated COM Interface"
1818
risk_score = 73
1919
rule_id = "68d56fdc-7ffa-4419-8e95-81641bd6f845"
20-
setup = """## Setup
21-
22-
If enabling an EQL rule on a non-elastic-agent index (such as beats) for versions <8.2,
23-
events will not define `event.ingested` and default fallback for EQL rules was not added until version 8.2.
24-
Hence for this rule to work effectively, users will need to add a custom ingest pipeline to populate
25-
`event.ingested` to @timestamp.
26-
For more details on adding a custom ingest pipeline refer - https://www.elastic.co/guide/en/fleet/current/data-streams-pipeline-tutorial.html
27-
"""
2820
severity = "high"
2921
tags = [
3022
"Domain: Endpoint",
@@ -36,6 +28,7 @@ tags = [
3628
"Data Source: Elastic Endgame",
3729
"Data Source: Elastic Defend",
3830
"Data Source: Sysmon",
31+
"Data Source: Microsoft Defender for Endpoint",
3932
]
4033
timestamp_override = "event.ingested"
4134
type = "eql"

rules/windows/privilege_escalation_uac_bypass_diskcleanup_hijack.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/08/18"
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 = "UAC Bypass via DiskCleanup Scheduled Task Hijack"
2429
risk_score = 47
2530
rule_id = "1dcc51f6-ba26-49e7-9ef4-2655abb2361e"
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 = "medium"
3532
tags = [
3633
"Domain: Endpoint",
@@ -42,6 +39,9 @@ tags = [
4239
"Data Source: Elastic Endgame",
4340
"Data Source: Elastic Defend",
4441
"Data Source: System",
42+
"Data Source: Microsoft Defender for Endpoint",
43+
"Data Source: Sysmon",
44+
"Data Source: SentinelOne",
4545
]
4646
timestamp_override = "event.ingested"
4747
type = "eql"

rules/windows/privilege_escalation_uac_bypass_dll_sideloading.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/27"
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 attempts to bypass User Account Control (UAC) via DLL side-loading. A
1113
stealthily execute code with elevated permissions.
1214
"""
1315
from = "now-9m"
14-
index = ["winlogbeat-*", "logs-endpoint.events.file-*", "logs-windows.sysmon_operational-*", "endgame-*"]
16+
index = ["winlogbeat-*", "logs-endpoint.events.file-*", "logs-windows.sysmon_operational-*", "endgame-*", "logs-m365_defender.event-*", "logs-sentinel_one_cloud_funnel.*"]
1517
language = "eql"
1618
license = "Elastic License v2"
1719
name = "UAC Bypass Attempt via Privileged IFileOperation COM Interface"
@@ -21,14 +23,6 @@ references = [
2123
]
2224
risk_score = 73
2325
rule_id = "5a14d01d-7ac8-4545-914c-b687c2cf66b3"
24-
setup = """## Setup
25-
26-
If enabling an EQL rule on a non-elastic-agent index (such as beats) for versions <8.2,
27-
events will not define `event.ingested` and default fallback for EQL rules was not added until version 8.2.
28-
Hence for this rule to work effectively, users will need to add a custom ingest pipeline to populate
29-
`event.ingested` to @timestamp.
30-
For more details on adding a custom ingest pipeline refer - https://www.elastic.co/guide/en/fleet/current/data-streams-pipeline-tutorial.html
31-
"""
3226
severity = "high"
3327
tags = [
3428
"Domain: Endpoint",
@@ -39,6 +33,8 @@ tags = [
3933
"Data Source: Elastic Endgame",
4034
"Data Source: Elastic Defend",
4135
"Data Source: Sysmon",
36+
"Data Source: Microsoft Defender for Endpoint",
37+
"Data Source: SentinelOne",
4238
]
4339
timestamp_override = "event.ingested"
4440
type = "eql"

rules/windows/privilege_escalation_uac_bypass_event_viewer.toml

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
[metadata]
22
creation_date = "2020/03/17"
3-
integration = ["endpoint", "windows", "system", "m365_defender"]
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
[transform]
810
[[transform.osquery]]
@@ -40,10 +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*",
46-
"logs-m365_defender.event-*"
49+
"logs-m365_defender.event-*",
50+
"logs-sentinel_one_cloud_funnel.*",
4751
]
4852
language = "eql"
4953
license = "Elastic License v2"
@@ -104,14 +108,6 @@ During startup, `eventvwr.exe` checks the registry value of the `HKCU\\Software\
104108
"""
105109
risk_score = 73
106110
rule_id = "31b4c719-f2b4-41f6-a9bd-fce93c2eaf62"
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-
"""
115111
severity = "high"
116112
tags = [
117113
"Domain: Endpoint",
@@ -124,6 +120,8 @@ tags = [
124120
"Data Source: Elastic Defend",
125121
"Data Source: Microsoft Defender for Endpoint",
126122
"Data Source: System",
123+
"Data Source: Sysmon",
124+
"Data Source: SentinelOne",
127125
]
128126
timestamp_override = "event.ingested"
129127
type = "eql"

0 commit comments

Comments
 (0)