From 1071b12f00decf9233a4881dae4a739e435afe06 Mon Sep 17 00:00:00 2001 From: Ruben Groenewoud <78494512+Aegrah@users.noreply.github.com> Date: Thu, 7 Dec 2023 20:59:07 +0100 Subject: [PATCH] [New Rule] Suspicious Kworker UID Elevation (#3238) * [New Rule] Suspicious Kworker UID Elevation * Update privilege_escalation_kworker_uid_elevation.toml --------- Co-authored-by: Colson Wilhoit <48036388+DefSecSentinel@users.noreply.github.com> --- ...lege_escalation_kworker_uid_elevation.toml | 99 +++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 rules/linux/privilege_escalation_kworker_uid_elevation.toml diff --git a/rules/linux/privilege_escalation_kworker_uid_elevation.toml b/rules/linux/privilege_escalation_kworker_uid_elevation.toml new file mode 100644 index 000000000..4f9b18945 --- /dev/null +++ b/rules/linux/privilege_escalation_kworker_uid_elevation.toml @@ -0,0 +1,99 @@ +[metadata] +creation_date = "2023/10/26" +integration = ["endpoint"] +maturity = "production" +min_stack_comments = "New fields added: required_fields, related_integrations, setup" +min_stack_version = "8.3.0" +updated_date = "2023/10/26" + +[rule] +author = ["Elastic"] +description = """ +Monitors for the elevation of regular user permissions to root permissions through the kworker process. kworker, or +kernel worker, processes are part of the kernel's workqueue mechanism. They are responsible for executing work that has +been scheduled to be done in kernel space, which might include tasks like handling interrupts, background activities, +and other kernel-related tasks. Attackers may attempt to evade detection by masquerading as a kernel worker process, and +hijack the execution flow by hooking certain functions/syscalls through a rootkit in order to provide easy access to +root via a special modified command. +""" +from = "now-9m" +index = ["logs-endpoint.events.*"] +language = "eql" +license = "Elastic License v2" +name = "Suspicious Kworker UID Elevation" +risk_score = 47 +rule_id = "7dfaaa17-425c-4fe7-bd36-83705fde7c2b" +setup = """ + +This rule requires data coming in from Elastic Defend. + +### Elastic Defend Integration Setup +Elastic Defend is integrated into the Elastic Agent using Fleet. Upon configuration, the integration allows +the Elastic Agent to monitor events on your host and send data to the Elastic Security app. + +#### Prerequisite Requirements: +- Fleet is required for Elastic Defend. +- To configure Fleet Server refer to the [documentation](https://www.elastic.co/guide/en/fleet/current/fleet-server.html). + +#### The following steps should be executed in order to add the Elastic Defend integration on a Linux System: +- Go to the Kibana home page and click Add integrations. +- In the query bar, search for Elastic Defend and select the integration to see more details about it. +- Click Add Elastic Defend. +- Configure the integration name and optionally add a description. +- Select the type of environment you want to protect, either Traditional Endpoints or Cloud Workloads. +- Select a configuration preset. Each preset comes with different default settings for Elastic Agent, you can further customize these later by configuring the Elastic Defend integration policy. [Helper guide](https://www.elastic.co/guide/en/security/current/configure-endpoint-integration-policy.html). +- We suggest to select "Complete EDR (Endpoint Detection and Response)" as a configuration setting, that provides "All events; all preventions" +- Enter a name for the agent policy in New agent policy name. If other agent policies already exist, you can click the Existing hosts tab and select an existing policy instead. +For more details on Elastic Agent configuration settings, refer to the [helper guide](https://www.elastic.co/guide/en/fleet/8.10/agent-policy.html). +- Click Save and Continue. +- To complete the integration, select Add Elastic Agent to your hosts and continue to the next section to install the Elastic Agent on your hosts. +For more details on Elastic Defend refer to the [helper guide](https://www.elastic.co/guide/en/security/current/install-endpoint.html). + +""" +severity = "medium" +tags = [ + "Domain: Endpoint", + "OS: Linux", + "Use Case: Threat Detection", + "Tactic: Privilege Escalation", + "Tactic: Defense Evasion", + "Data Source: Elastic Defend" + ] +timestamp_override = "event.ingested" +type = "eql" +query = ''' +process where host.os.type == "linux" and event.action == "session_id_change" and event.type == "change" and +process.name : "kworker*" and user.id == "0" +''' + +[[rule.threat]] +framework = "MITRE ATT&CK" + +[[rule.threat.technique]] +id = "T1574" +name = "Hijack Execution Flow" +reference = "https://attack.mitre.org/techniques/T1574/" + +[[rule.threat.technique.subtechnique]] +id = "T1574.013" +name = "KernelCallbackTable" +reference = "https://attack.mitre.org/techniques/T1574/013/" + +[rule.threat.tactic] +id = "TA0004" +name = "Privilege Escalation" +reference = "https://attack.mitre.org/tactics/TA0004/" + +[[rule.threat]] +framework = "MITRE ATT&CK" + +[rule.threat.tactic] +id = "TA0005" +name = "Defense Evasion" +reference = "https://attack.mitre.org/tactics/TA0005/" + +[[rule.threat.technique]] +name = "Rootkit" +id = "T1014" +reference = "https://attack.mitre.org/techniques/T1014/" +