Skip to content

Commit d6ceb88

Browse files
authored
[Rule Tuning] Linux 3rd Party EDR Support - Crowdstrike and S1 - 6 (#4348)
1 parent f4a022c commit d6ceb88

10 files changed

+102
-57
lines changed

rules/linux/defense_evasion_potential_proot_exploits.toml

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

79
[rule]
810
author = ["Elastic"]
@@ -18,7 +20,7 @@ malicious payload or elevate privileges or perform network scans or orchestrate
1820
Although PRoot was originally not developed with malicious intent it can be easily tuned to work for one.
1921
"""
2022
from = "now-9m"
21-
index = ["logs-endpoint.events.*", "endgame-*"]
23+
index = ["logs-endpoint.events.*", "endgame-*", "logs-crowdstrike.fdr*", "logs-sentinel_one_cloud_funnel.*"]
2224
language = "eql"
2325
license = "Elastic License v2"
2426
name = "Potential Defense Evasion via PRoot"
@@ -58,12 +60,14 @@ tags = [
5860
"Tactic: Defense Evasion",
5961
"Data Source: Elastic Defend",
6062
"Data Source: Elastic Endgame",
63+
"Data Source: Crowdstrike",
64+
"Data Source: SentinelOne",
6165
]
6266
timestamp_override = "event.ingested"
6367
type = "eql"
6468

6569
query = '''
66-
process where host.os.type == "linux" and event.type == "start" and event.action in ("exec", "exec_event") and
70+
process where host.os.type == "linux" and event.type == "start" and event.action in ("exec", "exec_event", "start", "ProcessRollup2") and
6771
process.parent.name == "proot"
6872
'''
6973

rules/linux/defense_evasion_root_certificate_installation.toml

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

79
[rule]
810
author = ["Elastic"]
@@ -13,7 +15,7 @@ in public key cryptography to identify a root certificate authority (CA). When a
1315
system or application will trust certificates in the root's chain of trust that have been signed by the root certificate.
1416
"""
1517
from = "now-9m"
16-
index = ["logs-endpoint.events.process*"]
18+
index = ["logs-endpoint.events.process*", "logs-sentinel_one_cloud_funnel.*", "endgame-*"]
1719
language = "eql"
1820
license = "Elastic License v2"
1921
name = "Root Certificate Installation"
@@ -52,11 +54,13 @@ tags = [
5254
"Use Case: Threat Detection",
5355
"Tactic: Defense Evasion",
5456
"Data Source: Elastic Defend",
57+
"Data Source: SentinelOne",
58+
"Data Source: Elastic Endgame",
5559
]
5660
timestamp_override = "event.ingested"
5761
type = "eql"
5862
query = '''
59-
process where host.os.type == "linux" and event.type == "start" and event.action == "exec" and
63+
process where host.os.type == "linux" and event.type == "start" and event.action in ("exec", "exec_event", "start") and
6064
process.name in ("update-ca-trust", "update-ca-certificates") and not (
6165
process.parent.name like (
6266
"ca-certificates.postinst", "ca-certificates-*.trigger", "pacman", "pamac-daemon", "autofirma.postinst",

rules/linux/defense_evasion_sus_utility_executed_via_tmux_or_screen.toml

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
[metadata]
22
creation_date = "2023/09/04"
3-
integration = ["endpoint"]
3+
integration = ["endpoint", "crowdstrike", "sentinel_one_cloud_funnel"]
44
maturity = "production"
5-
updated_date = "2024/10/17"
5+
min_stack_version = "8.13.0"
6+
min_stack_comments = "Breaking change at 8.13.0 for SentinelOne Integration."
7+
updated_date = "2025/01/07"
68

79
[rule]
810
author = ["Elastic"]
@@ -12,7 +14,7 @@ directly, the commands will be executed in the background via its parent process
1214
to execute commands while attempting to evade detection.
1315
"""
1416
from = "now-9m"
15-
index = ["logs-endpoint.events.*", "endgame-*"]
17+
index = ["logs-endpoint.events.*", "endgame-*", "logs-crowdstrike.fdr*", "logs-sentinel_one_cloud_funnel.*"]
1618
language = "eql"
1719
license = "Elastic License v2"
1820
name = "Potentially Suspicious Process Started via tmux or screen"
@@ -26,15 +28,18 @@ tags = [
2628
"Tactic: Defense Evasion",
2729
"Data Source: Elastic Defend",
2830
"Data Source: Elastic Endgame",
31+
"Data Source: Crowdstrike",
32+
"Data Source: SentinelOne",
2933
]
3034
timestamp_override = "event.ingested"
3135
type = "eql"
3236
query = '''
33-
process where host.os.type == "linux" and event.type == "start" and event.action in ("exec", "exec_event") and
34-
process.parent.name in ("screen", "tmux") and process.name like (
35-
"nmap", "nc", "ncat", "netcat", "socat", "nc.openbsd", "ngrok", "ping", "java", "php*", "perl", "ruby", "lua*",
36-
"openssl", "telnet", "wget", "curl", "id"
37-
)
37+
process where host.os.type == "linux" and event.type == "start" and
38+
event.action in ("exec", "exec_event", "start", "ProcessRollup2") and
39+
process.parent.name in ("screen", "tmux") and process.name like (
40+
"nmap", "nc", "ncat", "netcat", "socat", "nc.openbsd", "ngrok", "ping", "java", "php*", "perl", "ruby", "lua*",
41+
"openssl", "telnet", "wget", "curl", "id"
42+
)
3843
'''
3944

4045
[[rule.threat]]

rules/linux/discovery_dynamic_linker_via_od.toml

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

79
[rule]
810
author = ["Elastic"]
@@ -13,7 +15,7 @@ for examining and debugging binary files or data streams. Attackers can leverage
1315
identifying injection points and craft exploits based on the observed behaviors and structures within these files.
1416
"""
1517
from = "now-9m"
16-
index = ["logs-endpoint.events.*", "endgame-*", "auditbeat-*", "logs-auditd_manager.auditd-*"]
18+
index = ["logs-endpoint.events.*", "endgame-*", "auditbeat-*", "logs-auditd_manager.auditd-*", "logs-crowdstrike.fdr*", "logs-sentinel_one_cloud_funnel.*"]
1719
language = "eql"
1820
license = "Elastic License v2"
1921
name = "Suspicious Dynamic Linker Discovery via od"
@@ -55,12 +57,14 @@ tags = [
5557
"Data Source: Elastic Defend",
5658
"Data Source: Elastic Endgame",
5759
"Data Source: Auditd Manager",
60+
"Data Source: Crowdstrike",
61+
"Data Source: SentinelOne",
5862
]
5963
timestamp_override = "event.ingested"
6064
type = "eql"
6165

6266
query = '''
63-
process where host.os.type == "linux" and event.type == "start" and event.action in ("exec", "exec_event", "executed", "process_started")
67+
process where host.os.type == "linux" and event.type == "start" and event.action in ("exec", "exec_event", "start", "ProcessRollup2", "executed", "process_started")
6468
and process.name == "od" and process.args in (
6569
"/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2", "/etc/ld.so.preload", "/lib64/ld-linux-x86-64.so.2",
6670
"/usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2", "/usr/lib64/ld-linux-x86-64.so.2"

rules/linux/discovery_esxi_software_via_find.toml

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
[metadata]
22
creation_date = "2023/04/11"
3-
integration = ["endpoint", "auditd_manager"]
3+
integration = ["endpoint", "auditd_manager", "sentinel_one_cloud_funnel"]
44
maturity = "production"
5-
updated_date = "2024/10/17"
5+
min_stack_version = "8.13.0"
6+
min_stack_comments = "Breaking change at 8.13.0 for SentinelOne Integration."
7+
updated_date = "2025/01/07"
68

79
[rule]
810
author = ["Elastic"]
@@ -13,7 +15,7 @@ software, and their presence in the find command arguments may indicate that a t
1315
analyze, or manipulate VM-related files and configurations on the system.
1416
"""
1517
from = "now-9m"
16-
index = ["logs-endpoint.events.*", "endgame-*", "auditbeat-*", "logs-auditd_manager.auditd-*"]
18+
index = ["logs-endpoint.events.*", "endgame-*", "auditbeat-*", "logs-auditd_manager.auditd-*", "logs-sentinel_one_cloud_funnel.*"]
1719
language = "eql"
1820
license = "Elastic License v2"
1921
name = "ESXI Discovery via Find"
@@ -56,14 +58,15 @@ tags = [
5658
"Data Source: Elastic Defend",
5759
"Data Source: Elastic Endgame",
5860
"Data Source: Auditd Manager",
61+
"Data Source: SentinelOne",
5962
]
6063
timestamp_override = "event.ingested"
6164
type = "eql"
6265
query = '''
6366
process where host.os.type == "linux" and event.type == "start" and
64-
event.action in ("exec", "exec_event", "executed", "process_started") and process.name == "find" and
65-
process.args : ("/etc/vmware/*", "/usr/lib/vmware/*", "/vmfs/*") and
66-
not process.parent.executable == "/usr/lib/vmware/viewagent/bin/uninstall_viewagent.sh"
67+
event.action in ("exec", "exec_event", "start", "executed", "process_started") and
68+
process.name == "find" and process.args : ("/etc/vmware/*", "/usr/lib/vmware/*", "/vmfs/*") and
69+
not process.parent.executable == "/usr/lib/vmware/viewagent/bin/uninstall_viewagent.sh"
6770
'''
6871

6972
[[rule.threat]]

rules/linux/discovery_esxi_software_via_grep.toml

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

79
[rule]
810
author = ["Elastic"]
@@ -13,7 +15,7 @@ related to virtual machine (VM) files, such as "vmdk", "vmx", "vmxf", "vmsd", "v
1315
may indicate that a threat actor is attempting to search for, analyze, or manipulate VM files on the system.
1416
"""
1517
from = "now-9m"
16-
index = ["logs-endpoint.events.*", "endgame-*", "auditbeat-*", "logs-auditd_manager.auditd-*"]
18+
index = ["logs-endpoint.events.*", "endgame-*", "auditbeat-*", "logs-auditd_manager.auditd-*", "logs-sentinel_one_cloud_funnel.*"]
1719
language = "eql"
1820
license = "Elastic License v2"
1921
name = "ESXI Discovery via Grep"
@@ -56,15 +58,16 @@ tags = [
5658
"Data Source: Elastic Defend",
5759
"Data Source: Elastic Endgame",
5860
"Data Source: Auditd Manager",
61+
"Data Source: SentinelOne",
5962
]
6063
timestamp_override = "event.ingested"
6164
type = "eql"
6265
query = '''
6366
process where host.os.type == "linux" and event.type == "start" and
64-
event.action in ("exec", "exec_event", "executed", "process_started") and
65-
process.name in ("grep", "egrep", "pgrep") and
66-
process.args in ("vmdk", "vmx", "vmxf", "vmsd", "vmsn", "vswp", "vmss", "nvram", "vmem") and
67-
not process.parent.executable == "/usr/share/qemu/init/qemu-kvm-init"
67+
event.action in ("exec", "exec_event", "start", "executed", "process_started") and
68+
process.name in ("grep", "egrep", "pgrep") and
69+
process.args in ("vmdk", "vmx", "vmxf", "vmsd", "vmsn", "vswp", "vmss", "nvram", "vmem") and
70+
not process.parent.executable == "/usr/share/qemu/init/qemu-kvm-init"
6871
'''
6972

7073
[[rule.threat]]

rules/linux/discovery_linux_hping_activity.toml

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

79
[rule]
810
author = ["Elastic"]
@@ -17,7 +19,7 @@ false_positives = [
1719
""",
1820
]
1921
from = "now-9m"
20-
index = ["logs-endpoint.events.*", "endgame-*", "auditbeat-*", "logs-auditd_manager.auditd-*"]
22+
index = ["logs-endpoint.events.*", "endgame-*", "auditbeat-*", "logs-auditd_manager.auditd-*", "logs-crowdstrike.fdr*", "logs-sentinel_one_cloud_funnel.*"]
2123
language = "eql"
2224
license = "Elastic License v2"
2325
name = "Hping Process Activity"
@@ -70,13 +72,16 @@ tags = [
7072
"Data Source: Elastic Endgame",
7173
"Data Source: Elastic Defend",
7274
"Data Source: Auditd Manager",
75+
"Data Source: Crowdstrike",
76+
"Data Source: SentinelOne",
7377
]
7478
timestamp_override = "event.ingested"
7579
type = "eql"
7680

7781
query = '''
78-
process where host.os.type == "linux" and event.type == "start" and event.action in ("exec", "exec_event", "executed", "process_started")
79-
and process.name in ("hping", "hping2", "hping3")
82+
process where host.os.type == "linux" and event.type == "start" and
83+
event.action in ("exec", "exec_event", "start", "ProcessRollup2", "executed", "process_started") and
84+
process.name in ("hping", "hping2", "hping3")
8085
'''
8186

8287

rules/linux/discovery_linux_nping_activity.toml

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

79
[rule]
810
author = ["Elastic"]
@@ -17,7 +19,7 @@ false_positives = [
1719
""",
1820
]
1921
from = "now-9m"
20-
index = ["logs-endpoint.events.*", "endgame-*", "auditbeat-*", "logs-auditd_manager.auditd-*"]
22+
index = ["logs-endpoint.events.*", "endgame-*", "auditbeat-*", "logs-auditd_manager.auditd-*", "logs-crowdstrike.fdr*", "logs-sentinel_one_cloud_funnel.*"]
2123
language = "eql"
2224
license = "Elastic License v2"
2325
name = "Nping Process Activity"
@@ -70,13 +72,16 @@ tags = [
7072
"Data Source: Elastic Endgame",
7173
"Data Source: Elastic Defend",
7274
"Data Source: Auditd Manager",
75+
"Data Source: Crowdstrike",
76+
"Data Source: SentinelOne",
7377
]
7478
timestamp_override = "event.ingested"
7579
type = "eql"
7680

7781
query = '''
78-
process where host.os.type == "linux" and event.type == "start" and event.action in ("exec", "exec_event", "executed", "process_started")
79-
and process.name == "nping"
82+
process where host.os.type == "linux" and event.type == "start" and
83+
event.action in ("exec", "exec_event", "start", "ProcessRollup2", "executed", "process_started") and
84+
process.name == "nping"
8085
'''
8186

8287

rules/linux/discovery_pam_version_discovery.toml

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

79
[rule]
810
author = ["Elastic"]
@@ -11,7 +13,7 @@ This rule detects PAM version discovery activity on Linux systems. PAM version d
1113
attacker attempting to backdoor the authentication process through malicious PAM modules.
1214
"""
1315
from = "now-9m"
14-
index = ["logs-endpoint.events.*", "endgame-*"]
16+
index = ["logs-endpoint.events.*", "endgame-*", "logs-crowdstrike.fdr*", "logs-sentinel_one_cloud_funnel.*"]
1517
language = "eql"
1618
license = "Elastic License v2"
1719
name = "Pluggable Authentication Module (PAM) Version Discovery"
@@ -56,14 +58,18 @@ tags = [
5658
"Tactic: Credential Access",
5759
"Data Source: Elastic Defend",
5860
"Data Source: Elastic Endgame",
61+
"Data Source: Crowdstrike",
62+
"Data Source: SentinelOne",
5963
]
6064
timestamp_override = "event.ingested"
6165
type = "eql"
6266
query = '''
63-
process where host.os.type == "linux" and event.type == "start" and event.action in ("exec", "exec_event") and (
64-
(process.name in ("dpkg", "dpkg-query") and process.args == "libpam-modules") or
65-
(process.name == "rpm" and process.args == "pam")
66-
)
67+
process where host.os.type == "linux" and event.type == "start" and
68+
event.action in ("exec", "exec_event", "start", "ProcessRollup2") and
69+
(
70+
(process.name in ("dpkg", "dpkg-query") and process.args == "libpam-modules") or
71+
(process.name == "rpm" and process.args == "pam")
72+
)
6773
'''
6874

6975
[[rule.threat]]

0 commit comments

Comments
 (0)