[New Rule] New Systemd Timer Created (#2601)
* [New Rule] New Systemd Timer Created * improve query runtime performance * added process.name entries for alert reduction * attempt to fix gh unit testing failure * added host.os.type==linux to fix unit test error * Added OSQuery to investigation guides * added additional process names * removed investigation guides to add in future PR * removed investigation guide tag * Changed rule to new_terms rule to reduce FPs * fixed query * formatting fix * Learnt another thing about KQL.. Formatting fix. * unit test fix * Update rules/linux/persistence_systemd_scheduled_timer_created.toml Co-authored-by: eric-forte-elastic <119343520+eric-forte-elastic@users.noreply.github.com> --------- Co-authored-by: Mika Ayenson <Mikaayenson@users.noreply.github.com> Co-authored-by: eric-forte-elastic <119343520+eric-forte-elastic@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
[metadata]
|
||||
creation_date = "2023/02/24"
|
||||
integration = ["endpoint"]
|
||||
maturity = "production"
|
||||
min_stack_comments = "New fields added: required_fields, related_integrations, setup, New Term"
|
||||
min_stack_version = "8.6.0"
|
||||
updated_date = "2023/04/05"
|
||||
|
||||
[rule]
|
||||
author = ["Elastic"]
|
||||
description = """
|
||||
Detects the creation of a systemd timer within any of the default systemd timer directories. Systemd timers can be used
|
||||
by an attacker to gain persistence, by scheduling the execution of a command or script. Similarly to cron/at, systemd
|
||||
timers can be set up to execute on boot time, or on a specific point in time, which allows attackers to regain access in
|
||||
case the connection to the infected asset was lost.
|
||||
"""
|
||||
from = "now-9m"
|
||||
index = ["logs-endpoint.events.*", "endgame-*"]
|
||||
language = "kuery"
|
||||
license = "Elastic License v2"
|
||||
name = "New Systemd Timer Created"
|
||||
references = [
|
||||
"https://opensource.com/article/20/7/systemd-timers",
|
||||
"https://pberba.github.io/security/2022/01/30/linux-threat-hunting-for-persistence-systemd-timers-cron/"
|
||||
]
|
||||
risk_score = 21
|
||||
rule_id = "7fb500fa-8e24-4bd1-9480-2a819352602c"
|
||||
severity = "low"
|
||||
tags = ["Elastic", "Host", "Linux", "Threat Detection", "Persistence", "Elastic Endgame"]
|
||||
timestamp_override = "event.ingested"
|
||||
type = "new_terms"
|
||||
|
||||
query = '''
|
||||
host.os.type : "linux" and event.action : ("creation" or "file_create_event") and file.extension : "timer" and
|
||||
file.path : (/etc/systemd/system/* or /usr/local/lib/systemd/system/* or /lib/systemd/system/* or
|
||||
/usr/lib/systemd/system/* or /home/*/.config/systemd/user/*) and not
|
||||
process.executable : ("/usr/bin/dpkg" or "/usr/bin/dockerd" or "/bin/rpm")
|
||||
'''
|
||||
|
||||
[[rule.threat]]
|
||||
framework = "MITRE ATT&CK"
|
||||
[[rule.threat.technique]]
|
||||
id = "T1053"
|
||||
name = "Scheduled Task/Job"
|
||||
reference = "https://attack.mitre.org/techniques/T1053/"
|
||||
[[rule.threat.technique.subtechnique]]
|
||||
id = "T1053.006"
|
||||
name = "Systemd Timers"
|
||||
reference = "https://attack.mitre.org/techniques/T1053/006/"
|
||||
|
||||
|
||||
|
||||
[rule.threat.tactic]
|
||||
id = "TA0003"
|
||||
name = "Persistence"
|
||||
reference = "https://attack.mitre.org/tactics/TA0003/"
|
||||
|
||||
|
||||
[rule.new_terms]
|
||||
field = "new_terms_fields"
|
||||
value = ["file.path", "process.name"]
|
||||
[[rule.new_terms.history_window_start]]
|
||||
field = "history_window_start"
|
||||
value = "now-7d"
|
||||
Reference in New Issue
Block a user