Skip to content

Commit a5de866

Browse files
w0rk3rtradebot-elastic
authored andcommitted
[Rule Tuning] Windows 3rd Party EDR Compatibility - Part 16 (#5038)
(cherry picked from commit ba354ce)
1 parent fe12efe commit a5de866

7 files changed

+88
-43
lines changed

rules/windows/defense_evasion_disable_posh_scriptblocklogging.toml

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
[metadata]
22
creation_date = "2022/01/31"
3-
integration = ["endpoint", "windows", "m365_defender", "sentinel_one_cloud_funnel"]
3+
integration = ["endpoint", "windows", "m365_defender", "sentinel_one_cloud_funnel", "crowdstrike"]
44
maturity = "production"
5-
updated_date = "2025/08/27"
5+
updated_date = "2025/08/28"
66

77
[rule]
88
author = ["Elastic"]
@@ -18,6 +18,7 @@ index = [
1818
"endgame-*",
1919
"logs-m365_defender.event-*",
2020
"logs-sentinel_one_cloud_funnel.*",
21+
"logs-crowdstrike.fdr*",
2122
]
2223
language = "eql"
2324
license = "Elastic License v2"
@@ -79,22 +80,26 @@ tags = [
7980
"Data Source: Sysmon",
8081
"Data Source: Microsoft Defender for Endpoint",
8182
"Data Source: SentinelOne",
83+
"Data Source: Crowdstrike",
8284
]
8385
timestamp_override = "event.ingested"
8486
type = "eql"
8587

8688
query = '''
8789
registry where host.os.type == "windows" and event.type == "change" and
88-
registry.path : (
89-
"HKLM\\SOFTWARE\\Policies\\Microsoft\\Windows\\PowerShell\\ScriptBlockLogging\\EnableScriptBlockLogging",
90-
"\\REGISTRY\\MACHINE\\SOFTWARE\\Policies\\Microsoft\\Windows\\PowerShell\\ScriptBlockLogging\\EnableScriptBlockLogging",
91-
"MACHINE\\SOFTWARE\\Policies\\Microsoft\\Windows\\PowerShell\\ScriptBlockLogging\\EnableScriptBlockLogging"
92-
) and registry.data.strings : ("0", "0x00000000") and
90+
registry.value : "EnableScriptBlockLogging" and
91+
registry.data.strings : ("0", "0x00000000") and
9392
not process.executable : (
9493
"?:\\Windows\\System32\\svchost.exe",
9594
"?:\\Windows\\System32\\DeviceEnroller.exe",
9695
"?:\\Windows\\system32\\omadmclient.exe",
97-
"?:\\Program Files (x86)\\N-able Technologies\\AutomationManagerAgent\\AutomationManager.AgentService.exe"
96+
"?:\\Program Files (x86)\\N-able Technologies\\AutomationManagerAgent\\AutomationManager.AgentService.exe",
97+
98+
/* Crowdstrike specific exclusion as it uses NT Object paths */
99+
"\\Device\\HarddiskVolume*\\Windows\\System32\\svchost.exe",
100+
"\\Device\\HarddiskVolume*\\Windows\\System32\\DeviceEnroller.exe",
101+
"\\Device\\HarddiskVolume*\\Windows\\system32\\omadmclient.exe",
102+
"\\Device\\HarddiskVolume*\\Program Files (x86)\\N-able Technologies\\AutomationManagerAgent\\AutomationManager.AgentService.exe"
98103
)
99104
'''
100105

rules/windows/defense_evasion_unusual_network_connection_via_dllhost.toml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
[metadata]
22
creation_date = "2021/05/28"
3-
integration = ["endpoint", "windows"]
3+
integration = ["endpoint", "windows", "sentinel_one_cloud_funnel"]
44
maturity = "production"
5-
updated_date = "2025/03/20"
5+
updated_date = "2025/08/28"
66

77
[rule]
88
author = ["Elastic"]
@@ -16,6 +16,7 @@ index = [
1616
"logs-endpoint.events.process-*",
1717
"logs-endpoint.events.network-*",
1818
"logs-windows.sysmon_operational-*",
19+
"logs-sentinel_one_cloud_funnel.*",
1920
]
2021
language = "eql"
2122
license = "Elastic License v2"
@@ -69,6 +70,7 @@ tags = [
6970
"Data Source: Elastic Defend",
7071
"Data Source: Sysmon",
7172
"Resources: Investigation Guide",
73+
"Data Source: SentinelOne",
7274
]
7375
type = "eql"
7476

rules/windows/defense_evasion_unusual_network_connection_via_rundll32.toml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
[metadata]
22
creation_date = "2020/02/18"
3-
integration = ["endpoint", "windows"]
3+
integration = ["endpoint", "windows", "sentinel_one_cloud_funnel"]
44
maturity = "production"
5-
updated_date = "2025/08/12"
5+
updated_date = "2025/08/28"
66

77
[rule]
88
author = ["Elastic"]
@@ -16,6 +16,7 @@ index = [
1616
"logs-endpoint.events.process-*",
1717
"logs-endpoint.events.network-*",
1818
"logs-windows.sysmon_operational-*",
19+
"logs-sentinel_one_cloud_funnel.*",
1920
]
2021
language = "eql"
2122
license = "Elastic License v2"
@@ -68,6 +69,7 @@ tags = [
6869
"Resources: Investigation Guide",
6970
"Data Source: Elastic Defend",
7071
"Data Source: Sysmon",
72+
"Data Source: SentinelOne",
7173
]
7274
type = "eql"
7375

rules/windows/lateral_movement_scheduled_task_target.toml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
[metadata]
22
creation_date = "2020/11/20"
3-
integration = ["endpoint", "windows"]
3+
integration = ["endpoint", "windows", "sentinel_one_cloud_funnel"]
44
maturity = "production"
5-
updated_date = "2025/03/20"
5+
updated_date = "2025/08/28"
66

77
[rule]
88
author = ["Elastic"]
@@ -13,6 +13,7 @@ index = [
1313
"logs-endpoint.events.network-*",
1414
"winlogbeat-*",
1515
"logs-windows.sysmon_operational-*",
16+
"logs-sentinel_one_cloud_funnel.*",
1617
]
1718
language = "eql"
1819
license = "Elastic License v2"
@@ -57,6 +58,7 @@ tags = [
5758
"Resources: Investigation Guide",
5859
"Data Source: Elastic Defend",
5960
"Data Source: Sysmon",
61+
"Data Source: SentinelOne",
6062
]
6163
type = "eql"
6264

@@ -69,7 +71,7 @@ sequence by host.id, process.entity_id with maxspan = 1m
6971
source.ip != "127.0.0.1" and source.ip != "::1"
7072
]
7173
[registry where host.os.type == "windows" and event.type == "change" and registry.value : "Actions" and
72-
registry.path : "HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Schedule\\TaskCache\\Tasks\\*\\Actions"]
74+
registry.path : "*\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Schedule\\TaskCache\\Tasks\\*\\Actions"]
7375
'''
7476

7577

rules/windows/persistence_appinitdlls_registry.toml

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
[metadata]
22
creation_date = "2020/11/18"
3-
integration = ["endpoint", "windows", "m365_defender", "sentinel_one_cloud_funnel"]
3+
integration = ["endpoint", "windows", "m365_defender", "sentinel_one_cloud_funnel", "crowdstrike"]
44
maturity = "production"
5-
updated_date = "2025/03/20"
5+
updated_date = "2025/08/28"
66

77
[transform]
88
[[transform.osquery]]
@@ -55,6 +55,7 @@ index = [
5555
"endgame-*",
5656
"logs-m365_defender.event-*",
5757
"logs-sentinel_one_cloud_funnel.*",
58+
"logs-crowdstrike.fdr*",
5859
]
5960
language = "eql"
6061
license = "Elastic License v2"
@@ -127,20 +128,14 @@ tags = [
127128
"Data Source: Sysmon",
128129
"Data Source: Microsoft Defender for Endpoint",
129130
"Data Source: SentinelOne",
131+
"Data Source: Crowdstrike",
130132
]
131133
timestamp_override = "event.ingested"
132134
type = "eql"
133135

134136
query = '''
135137
registry where host.os.type == "windows" and event.type == "change" and
136-
registry.path : (
137-
"HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Windows\\AppInit_Dlls",
138-
"HKLM\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows NT\\CurrentVersion\\Windows\\AppInit_Dlls",
139-
"\\REGISTRY\\MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Windows\\AppInit_Dlls",
140-
"\\REGISTRY\\MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows NT\\CurrentVersion\\Windows\\AppInit_Dlls",
141-
"MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Windows\\AppInit_Dlls",
142-
"MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows NT\\CurrentVersion\\Windows\\AppInit_Dlls"
143-
) and
138+
registry.value : "AppInit_Dlls" and
144139
not process.executable : (
145140
"?:\\Windows\\System32\\DriverStore\\FileRepository\\*\\Display.NvContainer\\NVDisplay.Container.exe",
146141
"?:\\Windows\\System32\\msiexec.exe",
@@ -149,8 +144,23 @@ registry where host.os.type == "windows" and event.type == "change" and
149144
"?:\\Program Files\\Commvault\\ContentStore*\\Base\\cvd.exe",
150145
"?:\\Program Files (x86)\\Commvault\\Base\\cvd.exe",
151146
"?:\\Program Files (x86)\\Commvault\\ContentStore*\\Base\\cvd.exe",
152-
"?:\\Program Files\\NVIDIA Corporation\\Display.NvContainer\\NVDisplay.Container.exe"
147+
"?:\\Program Files\\NVIDIA Corporation\\Display.NvContainer\\NVDisplay.Container.exe",
148+
149+
/* Crowdstrike specific condition as it uses NT Object paths */
150+
"\\Device\\HarddiskVolume*\\Windows\\System32\\DriverStore\\FileRepository\\*\\Display.NvContainer\\NVDisplay.Container.exe",
151+
"\\Device\\HarddiskVolume*\\Windows\\System32\\msiexec.exe",
152+
"\\Device\\HarddiskVolume*\\Windows\\SysWOW64\\msiexec.exe",
153+
"\\Device\\HarddiskVolume*\\Program Files\\Commvault\\Base\\cvd.exe",
154+
"\\Device\\HarddiskVolume*\\Program Files\\Commvault\\ContentStore*\\Base\\cvd.exe",
155+
"\\Device\\HarddiskVolume*\\Program Files (x86)\\Commvault\\Base\\cvd.exe",
156+
"\\Device\\HarddiskVolume*\\Program Files (x86)\\Commvault\\ContentStore*\\Base\\cvd.exe",
157+
"\\Device\\HarddiskVolume*\\Program Files\\NVIDIA Corporation\\Display.NvContainer\\NVDisplay.Container.exe"
153158
)
159+
/*
160+
Full registry key path omitted due to data source variations:
161+
"HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Windows\\AppInit_Dlls"
162+
"HKLM\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows NT\\CurrentVersion\\Windows\\AppInit_Dlls"
163+
*/
154164
'''
155165

156166

rules/windows/privilege_escalation_printspooler_registry_copyfiles.toml

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
[metadata]
22
creation_date = "2020/11/26"
3-
integration = ["endpoint", "windows"]
3+
integration = ["endpoint", "windows", "sentinel_one_cloud_funnel", "m365_defender"]
44
maturity = "production"
5-
updated_date = "2025/03/20"
5+
updated_date = "2025/08/28"
66

77
[rule]
88
author = ["Elastic"]
@@ -12,7 +12,14 @@ Exploitation involves chaining multiple primitives to load an arbitrary DLL into
1212
SYSTEM.
1313
"""
1414
from = "now-9m"
15-
index = ["logs-endpoint.events.registry-*", "endgame-*", "logs-windows.sysmon_operational-*", "winlogbeat-*"]
15+
index = [
16+
"logs-endpoint.events.registry-*",
17+
"endgame-*",
18+
"logs-windows.sysmon_operational-*",
19+
"winlogbeat-*",
20+
"logs-sentinel_one_cloud_funnel.*",
21+
"logs-m365_defender.event-*",
22+
]
1623
language = "eql"
1724
license = "Elastic License v2"
1825
name = "Suspicious Print Spooler Point and Print DLL"
@@ -68,23 +75,21 @@ tags = [
6875
"Data Source: Elastic Defend",
6976
"Data Source: Sysmon",
7077
"Resources: Investigation Guide",
78+
"Data Source: SentinelOne",
79+
"Data Source: Microsoft Defender for Endpoint",
7180
]
7281
type = "eql"
7382

7483
query = '''
7584
sequence by host.id with maxspan=30s
7685
[registry where host.os.type == "windows" and
77-
registry.path : (
78-
"HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Print\\Printers\\*\\SpoolDirectory",
79-
"\\REGISTRY\\MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Print\\Printers\\*\\SpoolDirectory"
80-
) and
81-
registry.data.strings : "C:\\Windows\\System32\\spool\\drivers\\x64\\4"]
86+
registry.value : "SpoolDirectory" and
87+
registry.path : "*\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Print\\Printers\\*\\SpoolDirectory" and
88+
registry.data.strings : "C:\\Windows\\System32\\spool\\drivers\\x64\\4"]
8289
[registry where host.os.type == "windows" and
83-
registry.path : (
84-
"HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Print\\Printers\\*\\CopyFiles\\Payload\\Module",
85-
"\\REGISTRY\\MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Print\\Printers\\*\\CopyFiles\\Payload\\Module"
86-
) and
87-
registry.data.strings : "C:\\Windows\\System32\\spool\\drivers\\x64\\4\\*"]
90+
registry.value : "Module" and
91+
registry.path : "*\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Print\\Printers\\*\\CopyFiles\\Payload\\Module" and
92+
registry.data.strings : "C:\\Windows\\System32\\spool\\drivers\\x64\\4\\*"]
8893
'''
8994

9095

rules/windows/privilege_escalation_unusual_printspooler_childprocess.toml

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
[metadata]
22
creation_date = "2021/07/06"
3-
integration = ["endpoint", "windows", "system"]
3+
integration = ["endpoint", "windows", "system", "crowdstrike", "sentinel_one_cloud_funnel", "m365_defender"]
44
maturity = "production"
5-
updated_date = "2025/03/20"
5+
updated_date = "2025/08/28"
66

77
[rule]
88
author = ["Elastic"]
@@ -17,7 +17,17 @@ false_positives = [
1717
""",
1818
]
1919
from = "now-9m"
20-
index = ["logs-endpoint.events.process-*", "logs-system.security*", "logs-windows.forwarded*", "winlogbeat-*"]
20+
index = [
21+
"logs-endpoint.events.process-*",
22+
"logs-system.security*",
23+
"logs-windows.forwarded*",
24+
"winlogbeat-*",
25+
"logs-crowdstrike.fdr*",
26+
"logs-sentinel_one_cloud_funnel.*",
27+
"logs-m365_defender.event-*",
28+
"endgame-*",
29+
"logs-windows.sysmon_operational-*",
30+
]
2131
language = "eql"
2232
license = "Elastic License v2"
2333
name = "Unusual Print Spooler Child Process"
@@ -71,6 +81,11 @@ tags = [
7181
"Data Source: Elastic Defend",
7282
"Data Source: Windows Security Event Logs",
7383
"Resources: Investigation Guide",
84+
"Data Source: Crowdstrike",
85+
"Data Source: SentinelOne",
86+
"Data Source: Microsoft Defender for Endpoint",
87+
"Data Source: Elastic Endgame",
88+
"Data Source: Sysmon",
7489
]
7590
timestamp_override = "event.ingested"
7691
type = "eql"
@@ -89,7 +104,11 @@ process where host.os.type == "windows" and event.type == "start" and
89104
not (process.name : "regsvr32.exe" and process.command_line : "*PrintConfig.dll*") and
90105
not process.executable : (
91106
"?:\\Program Files (x86)\\CutePDF Writer\\CPWriter2.exe",
92-
"?:\\Program Files (x86)\\GPLGS\\gswin32c.exe"
107+
"?:\\Program Files (x86)\\GPLGS\\gswin32c.exe",
108+
109+
/* Crowdstrike specific condition as it uses NT Object paths */
110+
"\\Device\\HarddiskVolume*\\Program Files (x86)\\CutePDF Writer\\CPWriter2.exe",
111+
"\\Device\\HarddiskVolume*\\Program Files (x86)\\GPLGS\\gswin32c.exe"
93112
)
94113
'''
95114

0 commit comments

Comments
 (0)