Skip to content

Commit 81266ea

Browse files
w0rk3rgithub-actions[bot]
authored andcommitted
[Rule Tuning] 3rd Party EDR Compatibility - 18 (#4056)
* [Rule Tuning] 3rd Party EDR Compatibility - 18 * Update persistence_browser_extension_install.toml * Update persistence_browser_extension_install.toml * Update persistence_browser_extension_install.toml * min_stack for merge, bump updated_date * Update persistence_browser_extension_install.toml (cherry picked from commit e1addc6)
1 parent 7446550 commit 81266ea

11 files changed

+116
-68
lines changed

rules/windows/command_and_control_teamviewer_remote_file_copy.toml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
[metadata]
22
creation_date = "2020/09/02"
3-
integration = ["endpoint"]
3+
integration = ["endpoint", "sentinel_one_cloud_funnel"]
44
maturity = "production"
5-
updated_date = "2024/08/06"
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]]
@@ -34,7 +36,7 @@ authenticode.path JOIN hash ON services.path = hash.path WHERE authenticode.resu
3436
author = ["Elastic"]
3537
description = "Identifies an executable or script file remotely downloaded via a TeamViewer transfer session."
3638
from = "now-9m"
37-
index = ["logs-endpoint.events.file-*"]
39+
index = ["logs-endpoint.events.file-*", "logs-sentinel_one_cloud_funnel.*"]
3840
language = "eql"
3941
license = "Elastic License v2"
4042
name = "Remote File Copy via TeamViewer"
@@ -100,8 +102,8 @@ tags = [
100102
"Use Case: Threat Detection",
101103
"Tactic: Command and Control",
102104
"Resources: Investigation Guide",
103-
"Data Source: Elastic Endgame",
104105
"Data Source: Elastic Defend",
106+
"Data Source: SentinelOne",
105107
]
106108
timestamp_override = "event.ingested"
107109
type = "eql"

rules/windows/credential_access_kerberoasting_unusual_process.toml

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
[metadata]
22
creation_date = "2020/11/02"
3-
integration = ["endpoint"]
3+
integration = ["endpoint", "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
[transform]
810
[[transform.osquery]]
@@ -42,7 +44,7 @@ false_positives = [
4244
""",
4345
]
4446
from = "now-9m"
45-
index = ["logs-endpoint.events.network-*"]
47+
index = ["logs-endpoint.events.network-*", "logs-sentinel_one_cloud_funnel.*"]
4648
language = "eql"
4749
license = "Elastic License v2"
4850
name = "Kerberos Traffic from Unusual Process"
@@ -101,14 +103,6 @@ Domain-joined hosts usually perform Kerberos traffic using the `lsass.exe` proce
101103
"""
102104
risk_score = 47
103105
rule_id = "897dc6b5-b39f-432a-8d75-d3730d50c782"
104-
setup = """## Setup
105-
106-
If enabling an EQL rule on a non-elastic-agent index (such as beats) for versions <8.2,
107-
events will not define `event.ingested` and default fallback for EQL rules was not added until version 8.2.
108-
Hence for this rule to work effectively, users will need to add a custom ingest pipeline to populate
109-
`event.ingested` to @timestamp.
110-
For more details on adding a custom ingest pipeline refer - https://www.elastic.co/guide/en/fleet/current/data-streams-pipeline-tutorial.html
111-
"""
112106
severity = "medium"
113107
tags = [
114108
"Domain: Endpoint",
@@ -117,6 +111,7 @@ tags = [
117111
"Tactic: Credential Access",
118112
"Resources: Investigation Guide",
119113
"Data Source: Elastic Defend",
114+
"Data Source: SentinelOne",
120115
]
121116
timestamp_override = "event.ingested"
122117
type = "eql"

rules/windows/defense_evasion_suspicious_scrobj_load.toml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
creation_date = "2020/09/02"
33
integration = ["endpoint", "windows"]
44
maturity = "production"
5-
updated_date = "2024/08/07"
5+
updated_date = "2024/10/10"
66

77
[rule]
88
author = ["Elastic"]
@@ -11,7 +11,7 @@ Identifies scrobj.dll loaded into unusual Microsoft processes. This usually mean
1111
executed in the target process.
1212
"""
1313
from = "now-9m"
14-
index = ["logs-endpoint.events.library-*", "logs-windows.sysmon_operational-*", "winlogbeat-*"]
14+
index = ["logs-endpoint.events.library-*", "logs-windows.sysmon_operational-*", "winlogbeat-*", "endgame-*"]
1515
language = "eql"
1616
license = "Elastic License v2"
1717
name = "Suspicious Script Object Execution"
@@ -24,14 +24,15 @@ tags = [
2424
"Use Case: Threat Detection",
2525
"Tactic: Defense Evasion",
2626
"Data Source: Elastic Defend",
27+
"Data Source: Elastic Endgame",
2728
"Data Source: Sysmon",
2829
]
2930
timestamp_override = "event.ingested"
3031
type = "eql"
3132

3233
query = '''
3334
any where host.os.type == "windows" and
34-
(event.category == "library" or (event.category == "process" and event.action : "Image loaded*")) and
35+
(event.category : ("library", "driver") or (event.category == "process" and event.action : "Image loaded*")) and
3536
(?dll.name : "scrobj.dll" or ?file.name : "scrobj.dll") and
3637
process.executable : ("?:\\Windows\\System32\\*.exe", "?:\\Windows\\SysWOW64\\*.exe") and
3738
not process.executable : (

rules/windows/execution_apt_solarwinds_backdoor_unusual_child_processes.toml

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
[metadata]
22
creation_date = "2020/12/14"
3-
integration = ["endpoint"]
3+
integration = ["endpoint", "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 @@ false_positives = [
1113
"Trusted SolarWinds child processes, verify process details such as network connections and file writes.",
1214
]
1315
from = "now-9m"
14-
index = ["logs-endpoint.events.process-*", "endgame-*"]
16+
index = ["logs-endpoint.events.process-*", "endgame-*", "logs-sentinel_one_cloud_funnel.*"]
1517
language = "eql"
1618
license = "Elastic License v2"
1719
name = "Suspicious SolarWinds Child Process"
@@ -21,14 +23,6 @@ references = [
2123
]
2224
risk_score = 47
2325
rule_id = "93b22c0a-06a0-4131-b830-b10d5e166ff4"
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 = "medium"
3327
tags = [
3428
"Domain: Endpoint",
@@ -37,6 +31,7 @@ tags = [
3731
"Tactic: Execution",
3832
"Data Source: Elastic Endgame",
3933
"Data Source: Elastic Defend",
34+
"Data Source: SentinelOne",
4035
]
4136
timestamp_override = "event.ingested"
4237
type = "eql"

rules/windows/execution_command_shell_started_by_svchost.toml

Lines changed: 24 additions & 18 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", "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"
66

77
[transform]
88
[[transform.osquery]]
@@ -33,7 +33,16 @@ authenticode.path JOIN hash ON services.path = hash.path WHERE authenticode.resu
3333
author = ["Elastic"]
3434
description = "Identifies a suspicious parent child process relationship with cmd.exe descending from svchost.exe"
3535
from = "now-9m"
36-
index = ["winlogbeat-*", "logs-endpoint.events.process-*", "logs-windows.*", "logs-system.security*"]
36+
index = [
37+
"logs-endpoint.events.process-*",
38+
"winlogbeat-*",
39+
"logs-windows.forwarded*",
40+
"logs-windows.sysmon_operational-*",
41+
"endgame-*",
42+
"logs-system.security*",
43+
"logs-m365_defender.event-*",
44+
"logs-sentinel_one_cloud_funnel.*",
45+
]
3746
language = "kuery"
3847
license = "Elastic License v2"
3948
name = "Svchost spawning Cmd"
@@ -92,23 +101,20 @@ references = [
92101
]
93102
risk_score = 21
94103
rule_id = "fd7a6052-58fa-4397-93c3-4795249ccfa2"
95-
setup = """## Setup
96-
97-
If enabling an EQL rule on a non-elastic-agent index (such as beats) for versions <8.2,
98-
events will not define `event.ingested` and default fallback for EQL rules was not added until version 8.2.
99-
Hence for this rule to work effectively, users will need to add a custom ingest pipeline to populate
100-
`event.ingested` to @timestamp.
101-
For more details on adding a custom ingest pipeline refer - https://www.elastic.co/guide/en/fleet/current/data-streams-pipeline-tutorial.html
102-
"""
103104
severity = "low"
104-
tags = ["Domain: Endpoint",
105-
"OS: Windows",
106-
"Use Case: Threat Detection",
107-
"Tactic: Execution",
108-
"Resources: Investigation Guide",
109-
"Data Source: Elastic Defend",
105+
tags = [
106+
"Domain: Endpoint",
107+
"OS: Windows",
108+
"Use Case: Threat Detection",
109+
"Tactic: Execution",
110+
"Resources: Investigation Guide",
111+
"Data Source: Elastic Endgame",
112+
"Data Source: Elastic Defend",
110113
"Data Source: System",
111-
]
114+
"Data Source: Microsoft Defender for Endpoint",
115+
"Data Source: Sysmon",
116+
"Data Source: SentinelOne",
117+
]
112118
timeline_id = "e70679c2-6cde-4510-9764-4823df18f7db"
113119
timeline_title = "Comprehensive Process Timeline"
114120
timestamp_override = "event.ingested"

rules/windows/exfiltration_smb_rare_destination.toml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
[metadata]
22
creation_date = "2023/12/04"
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"
66

77
[rule]
88
author = ["Elastic"]
@@ -11,7 +11,14 @@ This rule detects rare internet network connections via the SMB protocol. SMB is
1111
via rogue UNC path injection.
1212
"""
1313
from = "now-9m"
14-
index = ["logs-endpoint.events.network-*", "winlogbeat-*", "logs-windows.sysmon_operational-*", "endgame-*"]
14+
index = [
15+
"logs-endpoint.events.network-*",
16+
"winlogbeat-*",
17+
"logs-windows.sysmon_operational-*",
18+
"endgame-*",
19+
"logs-m365_defender.event-*",
20+
"logs-sentinel_one_cloud_funnel.*",
21+
]
1522
language = "kuery"
1623
license = "Elastic License v2"
1724
name = "Rare SMB Connection to the Internet"
@@ -26,7 +33,9 @@ tags = [
2633
"Tactic: Exfiltration",
2734
"Data Source: Elastic Endgame",
2835
"Data Source: Elastic Defend",
36+
"Data Source: Microsoft Defender for Endpoint",
2937
"Data Source: Sysmon",
38+
"Data Source: SentinelOne",
3039
]
3140
timestamp_override = "event.ingested"
3241
type = "new_terms"

rules/windows/impact_backup_file_deletion.toml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
[metadata]
22
creation_date = "2021/10/01"
3-
integration = ["endpoint"]
3+
integration = ["endpoint", "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"]
@@ -14,7 +16,7 @@ false_positives = [
1416
"Certain utilities that delete files for disk cleanup or Administrators manually removing backup files.",
1517
]
1618
from = "now-9m"
17-
index = ["logs-endpoint.events.file-*", "endgame-*"]
19+
index = ["logs-endpoint.events.file-*", "endgame-*", "logs-sentinel_one_cloud_funnel.*"]
1820
language = "eql"
1921
license = "Elastic License v2"
2022
name = "Third-party Backup Files Deleted via Unexpected Process"
@@ -77,6 +79,7 @@ tags = [
7779
"Resources: Investigation Guide",
7880
"Data Source: Elastic Endgame",
7981
"Data Source: Elastic Defend",
82+
"Data Source: SentinelOne",
8083
]
8184
timestamp_override = "event.ingested"
8285
type = "eql"

rules/windows/impact_high_freq_file_renames_by_kernel.toml

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

77
[rule]
88
author = ["Elastic"]
@@ -11,7 +11,14 @@ This rule identifies a high number (20) of file creation event by the System vir
1111
same file name containing keywords similar to ransomware note files and all within a short time period.
1212
"""
1313
from = "now-9m"
14-
index = ["logs-endpoint.events.file-*"]
14+
index = [
15+
"logs-endpoint.events.file-*",
16+
"winlogbeat-*",
17+
"logs-windows.sysmon_operational-*",
18+
"endgame-*",
19+
"logs-m365_defender.event-*",
20+
"logs-sentinel_one_cloud_funnel.*",
21+
]
1522
language = "kuery"
1623
license = "Elastic License v2"
1724
name = "Potential Ransomware Behavior - High count of Readme files by System"
@@ -62,6 +69,10 @@ tags = [
6269
"Tactic: Impact",
6370
"Resources: Investigation Guide",
6471
"Data Source: Elastic Defend",
72+
"Data Source: Elastic Endgame",
73+
"Data Source: Microsoft Defender for Endpoint",
74+
"Data Source: Sysmon",
75+
"Data Source: SentinelOne",
6576
]
6677
timestamp_override = "event.ingested"
6778
type = "threshold"

rules/windows/initial_access_exfiltration_first_time_seen_usb.toml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
[metadata]
22
creation_date = "2023/03/16"
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"
66

77
[rule]
88
author = ["Elastic"]
@@ -11,7 +11,14 @@ Identifies newly seen removable devices by device friendly name using registry m
1111
is not inherently malicious, analysts can use those events to aid monitoring for data exfiltration over those devices.
1212
"""
1313
from = "now-9m"
14-
index = ["logs-endpoint.events.registry-*", "winlogbeat-*", "logs-windows.sysmon_operational-*", "endgame-*"]
14+
index = [
15+
"logs-endpoint.events.registry-*",
16+
"winlogbeat-*",
17+
"logs-windows.sysmon_operational-*",
18+
"endgame-*",
19+
"logs-m365_defender.event-*",
20+
"logs-sentinel_one_cloud_funnel.*",
21+
]
1522
language = "kuery"
1623
license = "Elastic License v2"
1724
name = "First Time Seen Removable Device"
@@ -31,6 +38,8 @@ tags = [
3138
"Data Source: Elastic Endgame",
3239
"Data Source: Elastic Defend",
3340
"Data Source: Sysmon",
41+
"Data Source: Microsoft Defender for Endpoint",
42+
"Data Source: SentinelOne",
3443
]
3544
timestamp_override = "event.ingested"
3645
type = "new_terms"

0 commit comments

Comments
 (0)