Skip to content

Commit f631518

Browse files
w0rk3rgithub-actions[bot]
authored andcommitted
[Rule Tuning] 3rd Party EDR Compatibility - 12 (#4037)
* [Rule Tuning] 3rd Party EDR Compatibility - 12 * min_stack for merge, bump updated_date (cherry picked from commit 0cbbae4)
1 parent 4606dbd commit f631518

10 files changed

+101
-98
lines changed

rules/windows/initial_access_suspicious_ms_exchange_process.toml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
[metadata]
22
creation_date = "2021/03/04"
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", "Austin Songer"]
@@ -20,9 +22,12 @@ from = "now-9m"
2022
index = [
2123
"logs-endpoint.events.process-*",
2224
"winlogbeat-*",
23-
"logs-windows.*",
25+
"logs-windows.forwarded*",
26+
"logs-windows.sysmon_operational-*",
2427
"endgame-*",
2528
"logs-system.security*",
29+
"logs-m365_defender.event-*",
30+
"logs-sentinel_one_cloud_funnel.*",
2631
]
2732
language = "eql"
2833
license = "Elastic License v2"
@@ -33,14 +38,6 @@ references = [
3338
]
3439
risk_score = 47
3540
rule_id = "483c4daf-b0c6-49e0-adf3-0bfa93231d6b"
36-
setup = """## Setup
37-
38-
If enabling an EQL rule on a non-elastic-agent index (such as beats) for versions <8.2,
39-
events will not define `event.ingested` and default fallback for EQL rules was not added until version 8.2.
40-
Hence for this rule to work effectively, users will need to add a custom ingest pipeline to populate
41-
`event.ingested` to @timestamp.
42-
For more details on adding a custom ingest pipeline refer - https://www.elastic.co/guide/en/fleet/current/data-streams-pipeline-tutorial.html
43-
"""
4441
severity = "medium"
4542
tags = [
4643
"Domain: Endpoint",
@@ -52,6 +49,9 @@ tags = [
5249
"Use Case: Vulnerability",
5350
"Data Source: Elastic Defend",
5451
"Data Source: System",
52+
"Data Source: Microsoft Defender for Endpoint",
53+
"Data Source: Sysmon",
54+
"Data Source: SentinelOne",
5555
]
5656
timestamp_override = "event.ingested"
5757
type = "eql"

rules/windows/initial_access_suspicious_ms_exchange_worker_child_process.toml

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
[metadata]
22
creation_date = "2021/03/08"
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 suspicious processes being spawned by the Microsoft Exchange Server w
1113
indicate exploitation activity or access to an existing web shell backdoor.
1214
"""
1315
from = "now-9m"
14-
index = ["logs-endpoint.events.process-*", "winlogbeat-*", "logs-windows.sysmon_operational-*", "endgame-*"]
16+
index = ["logs-endpoint.events.process-*", "winlogbeat-*", "logs-windows.sysmon_operational-*", "endgame-*", "logs-m365_defender.event-*", "logs-sentinel_one_cloud_funnel.*"]
1517
language = "eql"
1618
license = "Elastic License v2"
1719
name = "Microsoft Exchange Worker Spawning Suspicious Processes"
@@ -22,14 +24,6 @@ references = [
2224
]
2325
risk_score = 73
2426
rule_id = "f81ee52c-297e-46d9-9205-07e66931df26"
25-
setup = """## Setup
26-
27-
If enabling an EQL rule on a non-elastic-agent index (such as beats) for versions <8.2,
28-
events will not define `event.ingested` and default fallback for EQL rules was not added until version 8.2.
29-
Hence for this rule to work effectively, users will need to add a custom ingest pipeline to populate
30-
`event.ingested` to @timestamp.
31-
For more details on adding a custom ingest pipeline refer - https://www.elastic.co/guide/en/fleet/current/data-streams-pipeline-tutorial.html
32-
"""
3327
severity = "high"
3428
tags = [
3529
"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/initial_access_suspicious_ms_office_child_process.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/02/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"]
@@ -15,9 +17,12 @@ from = "now-9m"
1517
index = [
1618
"winlogbeat-*",
1719
"logs-endpoint.events.process-*",
18-
"logs-windows.*",
20+
"logs-windows.forwarded*",
21+
"logs-windows.sysmon_operational-*",
1922
"endgame-*",
2023
"logs-system.security*",
24+
"logs-m365_defender.event-*",
25+
"logs-sentinel_one_cloud_funnel.*",
2126
]
2227
language = "eql"
2328
license = "Elastic License v2"
@@ -72,14 +77,6 @@ This rule looks for suspicious processes spawned by MS Office programs. This is
7277
references = ["https://www.elastic.co/blog/vulnerability-summary-follina"]
7378
risk_score = 47
7479
rule_id = "a624863f-a70d-417f-a7d2-7a404638d47f"
75-
setup = """## Setup
76-
77-
If enabling an EQL rule on a non-elastic-agent index (such as beats) for versions <8.2,
78-
events will not define `event.ingested` and default fallback for EQL rules was not added until version 8.2.
79-
Hence for this rule to work effectively, users will need to add a custom ingest pipeline to populate
80-
`event.ingested` to @timestamp.
81-
For more details on adding a custom ingest pipeline refer - https://www.elastic.co/guide/en/fleet/current/data-streams-pipeline-tutorial.html
82-
"""
8380
severity = "medium"
8481
tags = [
8582
"Domain: Endpoint",
@@ -92,6 +89,9 @@ tags = [
9289
"Data Source: Elastic Endgame",
9390
"Data Source: Elastic Defend",
9491
"Data Source: System",
92+
"Data Source: Microsoft Defender for Endpoint",
93+
"Data Source: Sysmon",
94+
"Data Source: SentinelOne",
9595
]
9696
timestamp_override = "event.ingested"
9797
type = "eql"

rules/windows/initial_access_via_explorer_suspicious_child_parent_args.toml

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
[metadata]
22
creation_date = "2020/10/29"
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,20 +13,12 @@ Identifies a suspicious Windows explorer child process. Explorer.exe can be abus
1113
executables from a trusted parent process.
1214
"""
1315
from = "now-9m"
14-
index = ["logs-endpoint.events.process-*", "winlogbeat-*", "logs-windows.sysmon_operational-*", "endgame-*"]
16+
index = ["logs-endpoint.events.process-*", "winlogbeat-*", "logs-windows.sysmon_operational-*", "endgame-*", "logs-m365_defender.event-*", "logs-sentinel_one_cloud_funnel.*"]
1517
language = "eql"
1618
license = "Elastic License v2"
1719
name = "Suspicious Explorer Child Process"
1820
risk_score = 47
1921
rule_id = "9a5b4e31-6cde-4295-9ff7-6be1b8567e1b"
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-
"""
2822
severity = "medium"
2923
tags = [
3024
"Domain: Endpoint",
@@ -36,6 +30,8 @@ tags = [
3630
"Data Source: Elastic Endgame",
3731
"Data Source: Elastic Defend",
3832
"Data Source: Sysmon",
33+
"Data Source: Microsoft Defender for Endpoint",
34+
"Data Source: SentinelOne",
3935
]
4036
timestamp_override = "event.ingested"
4137
type = "eql"
@@ -44,7 +40,7 @@ query = '''
4440
process where host.os.type == "windows" and event.type == "start" and
4541
(
4642
process.name : ("cscript.exe", "wscript.exe", "powershell.exe", "rundll32.exe", "cmd.exe", "mshta.exe", "regsvr32.exe") or
47-
process.pe.original_file_name in ("cscript.exe", "wscript.exe", "PowerShell.EXE", "RUNDLL32.EXE", "Cmd.Exe", "MSHTA.EXE", "REGSVR32.EXE")
43+
?process.pe.original_file_name in ("cscript.exe", "wscript.exe", "PowerShell.EXE", "RUNDLL32.EXE", "Cmd.Exe", "MSHTA.EXE", "REGSVR32.EXE")
4844
) and
4945
/* Explorer started via DCOM */
5046
process.parent.name : "explorer.exe" and process.parent.args : "-Embedding" and

rules/windows/initial_access_webshell_screenconnect_server.toml

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
[metadata]
22
creation_date = "2024/03/26"
3-
integration = ["endpoint", "windows"]
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,9 +16,12 @@ from = "now-9m"
1416
index = [
1517
"logs-endpoint.events.process-*",
1618
"winlogbeat-*",
19+
"logs-windows.forwarded*",
1720
"logs-windows.sysmon_operational-*",
18-
"logs-system.security*",
1921
"endgame-*",
22+
"logs-system.security*",
23+
"logs-m365_defender.event-*",
24+
"logs-sentinel_one_cloud_funnel.*",
2025
]
2126
language = "eql"
2227
license = "Elastic License v2"
@@ -35,6 +40,8 @@ tags = [
3540
"Data Source: Elastic Defend",
3641
"Data Source: Sysmon",
3742
"Data Source: System",
43+
"Data Source: Microsoft Defender for Endpoint",
44+
"Data Source: SentinelOne",
3845
]
3946
timestamp_override = "event.ingested"
4047
type = "eql"

rules/windows/lateral_movement_defense_evasion_lanman_nullsessionpipe_modification.toml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
[metadata]
22
creation_date = "2021/03/22"
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 NullSessionPipe registry modifications that specify which pipes can b
1113
indicative of adversary lateral movement preparation by making the added pipe available to everyone.
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 = "NullSessionPipe Registry Modification"
@@ -31,6 +33,8 @@ tags = [
3133
"Data Source: Elastic Endgame",
3234
"Data Source: Elastic Defend",
3335
"Data Source: Sysmon",
36+
"Data Source: Microsoft Defender for Endpoint",
37+
"Data Source: SentinelOne",
3438
]
3539
timestamp_override = "event.ingested"
3640
type = "eql"
@@ -39,7 +43,8 @@ query = '''
3943
registry where host.os.type == "windows" and event.type == "change" and
4044
registry.path : (
4145
"HKLM\\SYSTEM\\*ControlSet*\\services\\LanmanServer\\Parameters\\NullSessionPipes",
42-
"\\REGISTRY\\MACHINE\\SYSTEM\\*ControlSet*\\services\\LanmanServer\\Parameters\\NullSessionPipes"
46+
"\\REGISTRY\\MACHINE\\SYSTEM\\*ControlSet*\\services\\LanmanServer\\Parameters\\NullSessionPipes",
47+
"MACHINE\\SYSTEM\\*ControlSet*\\services\\LanmanServer\\Parameters\\NullSessionPipes"
4348
) and length(registry.data.strings) > 0 and
4449
not registry.data.strings : "(empty)"
4550
'''

rules/windows/lateral_movement_evasion_rdp_shadowing.toml

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
[metadata]
22
creation_date = "2021/04/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"]
@@ -18,6 +20,8 @@ index = [
1820
"winlogbeat-*",
1921
"logs-windows.sysmon_operational-*",
2022
"endgame-*",
23+
"logs-m365_defender.event-*",
24+
"logs-sentinel_one_cloud_funnel.*",
2125
]
2226
language = "eql"
2327
license = "Elastic License v2"
@@ -28,14 +32,6 @@ references = [
2832
]
2933
risk_score = 73
3034
rule_id = "c57f8579-e2a5-4804-847f-f2732edc5156"
31-
setup = """## Setup
32-
33-
If enabling an EQL rule on a non-elastic-agent index (such as beats) for versions <8.2,
34-
events will not define `event.ingested` and default fallback for EQL rules was not added until version 8.2.
35-
Hence for this rule to work effectively, users will need to add a custom ingest pipeline to populate
36-
`event.ingested` to @timestamp.
37-
For more details on adding a custom ingest pipeline refer - https://www.elastic.co/guide/en/fleet/current/data-streams-pipeline-tutorial.html
38-
"""
3935
severity = "high"
4036
tags = [
4137
"Domain: Endpoint",
@@ -45,6 +41,8 @@ tags = [
4541
"Data Source: Elastic Endgame",
4642
"Data Source: Elastic Defend",
4743
"Data Source: Sysmon",
44+
"Data Source: Microsoft Defender for Endpoint",
45+
"Data Source: SentinelOne",
4846
]
4947
timestamp_override = "event.ingested"
5048
type = "eql"
@@ -58,12 +56,13 @@ any where host.os.type == "windows" and
5856
(event.category == "registry" and
5957
registry.path : (
6058
"HKLM\\Software\\Policies\\Microsoft\\Windows NT\\Terminal Services\\Shadow",
61-
"\\REGISTRY\\MACHINE\\Software\\Policies\\Microsoft\\Windows NT\\Terminal Services\\Shadow"
59+
"\\REGISTRY\\MACHINE\\Software\\Policies\\Microsoft\\Windows NT\\Terminal Services\\Shadow",
60+
"MACHINE\\Software\\Policies\\Microsoft\\Windows NT\\Terminal Services\\Shadow"
6261
)
6362
) or
6463
(event.category == "process" and event.type == "start" and
6564
(process.name : ("RdpSaUacHelper.exe", "RdpSaProxy.exe") and process.parent.name : "svchost.exe") or
66-
(process.pe.original_file_name : "mstsc.exe" and process.args : "/shadow:*")
65+
(?process.pe.original_file_name : "mstsc.exe" and process.args : "/shadow:*")
6766
)
6867
)
6968
'''

rules/windows/lateral_movement_execution_from_tsclient_mup.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/11/11"
3-
integration = ["endpoint", "windows"]
3+
integration = ["endpoint", "windows", "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 = 73
2934
rule_id = "4fe9d835-40e1-452d-8230-17c147cafad8"
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 = "high"
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"

0 commit comments

Comments
 (0)