Commit Graph

3641 Commits

Author SHA1 Message Date
Jonhnathan bb58cd623f [Rule Tuning] Windows High-Severity Rules Revamp - 10 (#6028)
* [Rule Tuning] Windows High-Severity Rules Revamp - 10

* ++

* Update defense_evasion_untrusted_driver_loaded.toml

* Update defense_evasion_untrusted_driver_loaded.toml

* Apply suggestion from @w0rk3r

(cherry picked from commit 2df45b2a6b)
2026-05-06 11:43:23 +00:00
Jonhnathan 75d5364467 [Rule Tuning] Windows High-Severity Rules Revamp - 11 (#6030)
* [Rule Tuning] Windows High-Severity Rules Revamp - 11

* ++

* Update rules/windows/execution_revshell_cmd_via_netcat.toml

Co-authored-by: Ruben Groenewoud <78494512+Aegrah@users.noreply.github.com>

* Update rules/windows/execution_suspicious_cmd_wmi.toml

Co-authored-by: Ruben Groenewoud <78494512+Aegrah@users.noreply.github.com>

---------

Co-authored-by: Ruben Groenewoud <78494512+Aegrah@users.noreply.github.com>

(cherry picked from commit a4c87487ed)
2026-05-06 08:37:59 +00:00
Eric Forte 729565a46f [FR] Merged Renovate Dependency Updates (#6008)
* Update actions/setup-go action to v6

* Update requests as well

(cherry picked from commit d1c9cd65b4)
2026-05-06 02:00:30 +00:00
Mika Ayenson, PhD 49b964729a [FR] Add new unit test for process fields in non process events (#6011)
(cherry picked from commit c3d0b58ae9)
2026-05-05 23:24:00 +00:00
Samirbous edf108363e [New] Container Runtime CLI Execution with Suspicious Arguments (#6009)
* [New] Container Runtime CLI Execution with Suspicious Arguments

Detects ctr, crictl, or nerdctl on Linux when invoked with arguments associated with container lifecycle abuse, image staging, task or snapshot access, privileged or host-namespace flags, bind mounts, or CRI namespace targeting—patterns common during post-compromise container administration and breakout attempts.

* Update execution_container_runtime_cli_suspicious_arguments.toml

* Update execution_container_runtime_cli_suspicious_arguments.toml

* Update execution_container_runtime_cli_suspicious_arguments.toml

* Update execution_container_runtime_cli_suspicious_arguments.toml

* Update execution_container_runtime_cli_suspicious_arguments.toml

* Create execution_container_runtime_cli_suspicious_args.toml

* Apply suggestion from @terrancedejesus

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>

* Update execution_container_runtime_cli_suspicious_args.toml

* Update execution_container_runtime_cli_suspicious_arguments.toml

* Update execution_container_runtime_cli_suspicious_args.toml

* Update execution_container_runtime_cli_suspicious_args.toml

* Update execution_container_runtime_cli_suspicious_arguments.toml

* Update execution_container_runtime_cli_suspicious_arguments.toml

* Update execution_container_runtime_cli_suspicious_args.toml

* Update execution_container_runtime_cli_suspicious_arguments.toml

* Update rules/integrations/cloud_defend/execution_container_runtime_cli_suspicious_args.toml

Co-authored-by: Ruben Groenewoud <78494512+Aegrah@users.noreply.github.com>

---------

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>
Co-authored-by: Ruben Groenewoud <78494512+Aegrah@users.noreply.github.com>

(cherry picked from commit d3eb02d85e)
2026-05-05 21:54:10 +00:00
Eric Forte cad8e5cb9c [FR] [DaC] Add Basic Support for Response Actions (#6083)
* Add response action and unit test

Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>

(cherry picked from commit cf22ffc7d6)
2026-05-05 17:54:56 +00:00
Eric Forte 5c5b1ada4b [DaC] [Bug] Rule Formatter Line Wrapping Breaks Query String Filters (#6046)
* Preserve Filter Value Formatting

Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>

---------

Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>

(cherry picked from commit 9e1b342765)
2026-05-05 17:23:54 +00:00
Samirbous 89390438e7 [New] Kubernetes and Cloud Credential Path Access via Process Arguments (#6007)
* [New] Kubernetes and Cloud Credential Path Access via Process Arguments

Detects a process connecting to a container runtime Unix socket (containerd or Docker) that is not a known legitimate
runtime component. Direct access to the container runtime socket allows an attacker to create, exec into, or manipulate containers without going through the Kubernetes API server, bypassing RBAC, admission webhooks, pod security standards, and Kubernetes audit logging entirely :

* Update credential_access_kubernetes_and_cloud_credential_paths_via_process_args.toml

* Apply suggestion from @imays11

Co-authored-by: Isai <59296946+imays11@users.noreply.github.com>

---------

Co-authored-by: Isai <59296946+imays11@users.noreply.github.com>

(cherry picked from commit 87a88628ee)
2026-05-05 16:51:35 +00:00
shashank-elastic c588ebbc4f Add Shashank as Codeowner for release workflow files (#6075)
(cherry picked from commit affece30f3)
2026-05-05 15:16:07 +00:00
yuriShafet 64774a0bf1 Fixing path in execution_shell_via_java_revshell_linux.toml (#6079)
The double slash // means this exclusion path will never match a real process argument of /opt/tomcat/statistics/statistics.jar.

(cherry picked from commit 36e6f54e43)
2026-05-05 14:05:20 +00:00
litemars dad6a5163b [Rule Tuning] Credential access collection sensitive files (#5952)
* credential_access_collection_sensitive_files fine-tuning

* Update credential_access_collection_sensitive_files.toml

---------

Co-authored-by: Ruben Groenewoud <78494512+Aegrah@users.noreply.github.com>

(cherry picked from commit c744a6c6a1)
2026-05-05 10:52:21 +00:00
Samirbous a327b0788e [New] Suspicious Kubernetes Pod Exec (#5978)
* [New] Kubernetes Pod Exec with Curl or Wget to HTTPS

Detects pod or attach `exec` API calls where the decoded request query implies curl or wget fetching an https URL (avoid noisy local http services).

* Create execution_kubernetes_pod_exec_potential_reverse_shell.toml

* Update execution_kubernetes_pod_exec_curl_wget_https.toml

* Update execution_kubernetes_pod_exec_potential_reverse_shell.toml

* ++

* ++

* Apply suggestion from @terrancedejesus

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>

* Apply suggestion from @terrancedejesus

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>

* Apply suggestion from @terrancedejesus

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>

* Apply suggestion from @terrancedejesus

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>

* Apply suggestion from @terrancedejesus

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>

* Apply suggestion from @terrancedejesus

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>

* Update execution_kubernetes_pod_exec_curl_wget_https.toml

* Update execution_kubernetes_pod_exec_potential_reverse_shell.toml

* Update credential_access_kubernetes_pod_exec_cloud_instance_metadata.toml

* Update credential_access_kubernetes_pod_exec_sensitive_file_access.toml

* Update execution_kubernetes_pod_exec_curl_wget_https.toml

* Update credential_access_kubernetes_pod_exec_sensitive_file_access.toml

* Update credential_access_kubernetes_pod_exec_cloud_instance_metadata.toml

---------

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>

(cherry picked from commit e4746c3a83)
2026-05-04 21:46:04 +00:00
Samirbous 0718bdec26 [New] Potential Privilege Escalation in Container via Runc Init (#5964)
* [New] Potential Privilege Escalation in Container via Runc Init

Identifies audit events for `runc init` child processes where the effective user is root and the login user ID is not root.
This pattern can indicate privilege escalation or credential separation abuse inside container runtimes, where a process executes  with elevated effective privileges while retaining a non-root audit identity.

* Update privilege_escalation_container_runc_init_effective_root_auditd.toml

* Update privilege_escalation_container_runc_init_effective_root_auditd.toml

* Update privilege_escalation_container_runc_init_effective_root_auditd.toml

* Update privilege_escalation_container_runc_init_effective_root_auditd.toml

* Update privilege_escalation_container_runc_init_effective_root_auditd.toml

(cherry picked from commit 245956a8d6)
2026-05-04 21:34:36 +00:00
Samirbous 98ae846cf8 [New/Tuning] Direct Kubelet API Access rules (#5996)
* [New/Tuning] Direct Kubelet API Access rules

- tuned existing rule for D4C to bump-up severity to high (low FP and very susp behavior) + added 10255 port and wss url.
- duplicated same rule logic for auditd/endpoint compatibility for both 10250 port in args and kubeletctl exec.
- added a new one using network event vs process argument for more resilience.

* ++

* Update discovery_potential_direct_kubelet_access_via_process_args.toml

* Update and rename discovery_potential_direct_kubelet_access_via_process_args.toml to lateral_movement_direct_kubelet_access_via_process_args.toml

* Update rules/linux/lateral_movement_direct_kubelet_access_via_process_args.toml

Co-authored-by: Isai <59296946+imays11@users.noreply.github.com>

* Update rules/linux/discovery_potential_kubeletctl_execution.toml

Co-authored-by: Isai <59296946+imays11@users.noreply.github.com>

* Update discovery_potential_kubeletctl_execution.toml

* Update lateral_movement_kubelet_api_connection_attempt_internal_ip.toml

* Apply suggestion from @Aegrah

Co-authored-by: Ruben Groenewoud <78494512+Aegrah@users.noreply.github.com>

* Apply suggestion from @Aegrah

Co-authored-by: Ruben Groenewoud <78494512+Aegrah@users.noreply.github.com>

---------

Co-authored-by: Isai <59296946+imays11@users.noreply.github.com>
Co-authored-by: Ruben Groenewoud <78494512+Aegrah@users.noreply.github.com>

(cherry picked from commit 83406d8ce1)
2026-05-04 21:21:45 +00:00
github-actions[bot] 5911801621 Lock versions for releases: 8.19,9.2,9.3,9.4 (#6044)
(cherry picked from commit 0b15511ef5)
integration-v9.3.11
2026-05-04 16:03:02 +00:00
Jonhnathan 961a8816bd [Rule Tuning] Windows Setup Guides - Low and Medium Severity Rules (#6042)
* checkpoint

* ++

* Update credential_access_dcsync_user_backdoor.toml

* Update defense_evasion_posh_high_entropy.toml

* Update credential_access_iis_apppoolsa_pwd_appcmd.toml

(cherry picked from commit d95919b7e3)
2026-05-04 14:21:00 +00:00
Terrance DeJesus cfe197f130 [Hunt Tuning] Entra ID Device Code Phishing / Update Drifted Docs (#5936)
Fixes #5935

Co-authored-by: Colson Wilhoit <48036388+DefSecSentinel@users.noreply.github.com>

(cherry picked from commit 2d6094e1e4)
2026-05-04 13:49:48 +00:00
shashank-elastic e1a4dcd05a Monthly Manifest and Schema Updation (#6036)
(cherry picked from commit a6fba3c728)
2026-05-04 12:35:37 +00:00
Ruben Groenewoud d96768dd06 [New Rule] Kubernetes Pod Creation Using Common Debug or Base Images (#5890)
* [New Rule] Kubernetes Pod Creation Using Common Debug or Base Images

* Added new terms logic

* Convert to BBR.

(cherry picked from commit 3ddbfdfbb1)
2026-05-04 10:21:01 +00:00
Ruben Groenewoud e6c56abd7b [New Rule] DNS to Commonly Abused Web Services (#5938)
* [New Rule] DNS to Commonly Abused Web Services

* Update command_and_control_dns_to_commonly_abused_webservices.toml

* Update rules/linux/command_and_control_dns_to_commonly_abused_webservices.toml

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>

* Update rules/linux/command_and_control_dns_to_commonly_abused_webservices.toml

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>

* Converted to BBR

---------

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>

(cherry picked from commit ef113dc19e)
2026-05-04 10:08:44 +00:00
Samirbous cd7602f50e [New] Sensitive Identity File Open by Suspicious Process via Auditd (#5982)
* [New] Sensitive Identity File Open by Suspicious Process via Auditd

Detects Auditd opened-file reads on sensitive root and cluster paths (Kubernetes token mounts, kubelet and admin kubeconfig, PKI material, shadow, root SSH keys, root cloud CLI and Docker config) when the process looks like common copy or scripting utilities or the binary runs from temp or run staging. User home paths are excluded so file watches
stay explicit and aligned with auditd:

* ++

* Update credential_access_auditd_sensitive_cloud_and_host_identity_file_open.toml

* Update credential_access_auditd_sensitive_cloud_and_host_identity_file_open.toml

* Update rules/linux/credential_access_auditd_sensitive_cloud_and_host_identity_file_open.toml

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>

* Apply suggestion from @imays11

Co-authored-by: Isai <59296946+imays11@users.noreply.github.com>

* Apply suggestion from @Mikaayenson

Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>

---------

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>
Co-authored-by: Isai <59296946+imays11@users.noreply.github.com>
Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>

(cherry picked from commit bf49a90eb0)
2026-05-03 10:28:02 +00:00
Samirbous 62682c8dce [New] Kubernetes Secret get or list with Suspicious User Agent (#5974)
* [New] Kubernetes Secret get or list via Scripting or Generic HTTP Client

After obtaining Kubernetes API credentials, adversaries often reach for generic HTTP stacks and scripting runtimes (curl, wget, Python requests, Go’s default client, and similar) instead of kubectl or in-cluster controllers that advertise purpose-built user agents. Those clients are easy to drive from a stolen kubeconfig, a compromised bastion,  or a reverse shell and are commonly used to enumerate or download Secret objects (tokens, registry credentials, TLS material, application keys).

* ++

* Update credential_access_kubernetes_secret_access_scripting_http_clients.toml

(cherry picked from commit 0c69b63ff2)
2026-05-02 15:17:28 +00:00
Samirbous 18421344c6 [New/Tuning] K8 RBAC Privs (#5987)
* [New/Tuning] K8 RBAC Privs

- new rule with high severity for wildcards for both verb/resource
- added responseObject to an existing rule as on my testing it did not trigger on requestObject (unknown type of on EKS logs), also added few sensitive resources and adjusted logic to ignore list/get on things like roles/clusterroles etc.

* ++

* Rename persistence_kubernetes_role_patch_wildcard_verbs_resources_response.toml to  privilege_escalation_role_patch_wildcard_verbs_resources_response.toml

* Update and rename  privilege_escalation_role_patch_wildcard_verbs_resources_response.toml to privilege_escalation_role_patch_wildcard_verbs_resources_response.toml

* Update privilege_escalation_role_patch_wildcard_verbs_resources_response.toml

* Update privilege_escalation_role_patch_wildcard_verbs_resources_response.toml

* Update persistence_sensitive_role_creation_or_modification.toml

* Update persistence_sensitive_role_creation_or_modification.toml

* Update privilege_escalation_role_patch_wildcard_verbs_resources_response.toml

(cherry picked from commit 2e223459c4)
2026-05-02 14:11:27 +00:00
Samirbous 357ee57d0b [New] Nsenter to PID 1 Namespace via Auditd/D4C (#5988)
* [New] Nsenter to PID 1 Namespace via Auditd

we have an existing rule https://github.com/elastic/detection-rules/blob/0f521a0848420844f3af383f1dee8481d41b2e5b/rules/linux/privilege_escalation_docker_escape_via_nsenter.toml#L15 (compatible only with Elastic Defend `process.entry_leader.entry_meta.type == "container"`).

This rule is compatible with the auditd integration and scoped to Init/systemd PID namespace commonly targeted for container escape.

* Create privilege_escalation_nsenter_execution_inside_container.toml

* Update privilege_escalation_auditd_nsenter_target_host_pid.toml

* Update privilege_escalation_auditd_nsenter_target_host_pid.toml

* Update privilege_escalation_auditd_nsenter_target_host_pid.toml

* Update privilege_escalation_auditd_nsenter_target_host_pid.toml

* Update rules/linux/privilege_escalation_auditd_nsenter_target_host_pid.toml

Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>

* Update privilege_escalation_nsenter_execution_inside_container.toml

* Update privilege_escalation_auditd_nsenter_target_host_pid.toml

---------

Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>

(cherry picked from commit 838e926058)
2026-05-02 13:59:18 +00:00
Samirbous 2eb2d5fb98 [New/Tuning] Chroot Execution in Container Context on Linux (#5992)
* [New/Tuning] Chroot Execution in Container Context on Linux

New rule compatible with auditd and ED using process.title and process.entry_leader.entry_meta.type and tuned an existing one (bum-up severity to high).

* Update rules/linux/privilege_escalation_chroot_execution_container_context.toml

Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>

---------

Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>

(cherry picked from commit 80f3ed464c)
2026-05-02 12:48:30 +00:00
Samirbous 674d0f63e9 [New] Kubernetes Secret get or list from Node or Pod Service Account (#5973)
* [New] Kubernetes Secret get or list from Node or Pod Service Account

Kubernetes audit identities for kubelet (`system:node:*`) and workloads (`system:serviceaccount:*`) are meant to operate with tight, predictable API usage. Direct `get` or `list` on the Secrets API from those principals is
often a sign of credential access.

* Update credential_access_kubernetes_secret_read_by_node_or_pod_service_account.toml

* Update credential_access_kubernetes_secret_read_by_node_or_pod_service_account.toml

(cherry picked from commit 338548a306)
2026-05-02 10:51:36 +00:00
Samirbous 5de6cb600d [New] Curl or Wget Execution from Container Context (#5975)
* [New] Curl or Wget Execution from Container Context

detect execution of curl/wget from container runtime.

* Update command_and_control_auditd_curl_wget_from_container.toml

* Update command_and_control_auditd_curl_wget_from_container.toml

* Apply suggestion from @terrancedejesus

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>

---------

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>

(cherry picked from commit e0c6e715fb)
2026-05-02 10:11:35 +00:00
Samirbous aacdbd14aa [New] Kubernetes Secrets List Across Cluster or Sensitive Namespaces (#5966)
* [New] Kubernetes Secrets List Across Cluster or Sensitive Namespaces

Detects `list` operations on Kubernetes Secrets from a non-loopback client when the request URI targets cluster-wide secrets or list operations under `kube-system` or `default`. Useful for spotting broad secret enumeration from remote clients.

* Update credential_access_kubernetes_secrets_list_cluster_and_sensitive_namespaces.toml

* Update credential_access_kubernetes_secrets_list_cluster_and_sensitive_namespaces.toml

* Update rules/integrations/kubernetes/credential_access_kubernetes_secrets_list_cluster_and_sensitive_namespaces.toml

Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>

---------

Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>

(cherry picked from commit 55f91946ec)
2026-05-02 09:58:43 +00:00
Samirbous 570e95f1b5 [New] Kubernetes Rapid Secret GET Activity Against Multiple Objects (#5967)
* [New] Kubernetes Rapid Secret GET Activity Against Multiple Objects

Detects multiple k8 get secret calls for unique secret names in a short period of time (rule interval default to every 5m):

* Update credential_access_kubernetes_multiple_secret_retrieval_burst.toml

* Update credential_access_kubernetes_multiple_secret_retrieval_burst.toml

* Update credential_access_kubernetes_multiple_secret_retrieval_burst.toml

* Update credential_access_kubernetes_multiple_secret_retrieval_burst.toml

(cherry picked from commit 0a4a05f322)
2026-05-02 09:46:26 +00:00
Samirbous b92b6f40e3 [New] Kubernetes Multi-Resource Discovery (#5971)
* [New] Kubernetes Multi-Resource Setup and RBAC Discovery Burst

detects k8 multi-resource (at least 3 unique) discovery in 1m time interval from same user/ip/user_agent :

* Update discovery_kubernetes_multi_resource_setup_recon.toml

* Update discovery_kubernetes_multi_resource_setup_recon.toml

* Update discovery_kubernetes_multi_resource_setup_recon.toml

* Apply suggestion from @terrancedejesus

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>

* Apply suggestion from @terrancedejesus

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>

---------

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>

(cherry picked from commit a892cd1b6d)
2026-05-02 09:36:14 +00:00
Samirbous 03d5d42e3b [New] Unusual Process Connection to Docker or Containerd Socket (#6005)
* [New] Unusual Process Connection to Docker or Containerd Socket

Detects a process connecting to a container runtime Unix socket (containerd or Docker) that is not a known legitimate runtime component. Direct access to the container runtime socket allows an attacker to create, exec into, or manipulate containers without going through the Kubernetes API server, bypassing RBAC, admission webhooks, pod security standards, and Kubernetes audit logging entirely.

* Update discovery_unusual_process_connection_to_container_runtime_socket.toml

(cherry picked from commit 40213fa041)
2026-05-02 09:08:53 +00:00
Eric Forte 9bc884483c [Rule Tuning] Network Rules Deprecate Beats Indices (#5932)
* Remove packet and audit beat as they are type string for ips

(cherry picked from commit 435ec8115d)
2026-05-02 01:37:03 +00:00
Eric Forte 6e76cbb341 Fix percentages (#6002)
(cherry picked from commit aad0e4ed11)
2026-05-01 23:17:11 +00:00
Ruben Groenewoud d692facfe7 [Rule Tuning] Fixes for Unsupported Fields (#6025)
Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>

(cherry picked from commit efa3fe5911)
2026-05-01 23:04:18 +00:00
Mika Ayenson, PhD 44eb1571cd [Rule Tuning] Misc GenAI Tuning (#6006)
(cherry picked from commit 69da69f1d8)
2026-05-01 22:50:12 +00:00
Mika Ayenson, PhD fafc22a7e5 [Bug] Omit ES|QL engine columns from required_fields (#6027)
* Omit Esql.* columns from ES|QL rule required_fields

Kibana treats required_fields as index mappings. ES|QL stats and
similar commands expose Esql.* and Esql_priv.* result columns that
are not mapped on source indices, which produced noisy validation
warnings for shipped rules.

Filter those names when building required_fields. Add a check in
test_esql_endpoint_alerts_index when remote ES|QL validation runs.

Fixes #6026.

* Move required_fields check to its own remote test

* Iterate production rules in required_fields test

* Use direct get_required_fields call in remote test

Skip to_api_format() and call data.get_required_fields(index) directly,
gated on ESQLRuleData. Mirrors the ESQLValidator scope of the fix and
avoids the unrelated packaging steps that to_api_format runs per rule.

* Bump version to 1.6.30

* Centralize ES|QL dynamic field prefix tuple

Define ESQL_DYNAMIC_FIELD_PREFIXES = ("Esql.", "Esql_priv.") in
schemas/definitions.py and reuse it in QueryValidator.get_required_fields,
ESQLValidator.validate_columns_index_mapping, and the remote test.
Single source of truth and consistent ordering across the codebase.

(cherry picked from commit cc66323d1d)
2026-05-01 22:40:57 +00:00
Jonhnathan b3c9d1a5f6 [Rule Tuning] Windows High-Severity Rules Revamp - 7 (#6013)
* [Rule Tuning] Windows High-Severity Rules Revamp - 7

* Apply suggestion from @w0rk3r

(cherry picked from commit 748ee85339)
2026-05-01 22:16:54 +00:00
Jonhnathan b5416d097a [Rule Tuning] Misc Windows Tuning (#5990)
* [Rule Tuning] Misc Windows Tuning

* Apply suggestions from code review

Co-authored-by: Jonhnathan <26856693+w0rk3r@users.noreply.github.com>

* Update defense_evasion_msbuild_making_network_connections.toml

* Update defense_evasion_msbuild_making_network_connections.toml

(cherry picked from commit c503e550b8)
2026-05-01 21:43:54 +00:00
Jonhnathan 1d68bec96b [Rule Tuning] Windows High-Severity Rules Revamp - 3 (#5969)
(cherry picked from commit ab7f9d7296)
2026-05-01 21:27:21 +00:00
Samirbous c7284941f9 [New] Diverse AWS rules (#5913)
* [New] Diverse AWS Rules

- AWS EC2 Role GetCallerIdentity from New Source AS Organization
- AWS CloudTrail API Request with TruffleHog User Agent

* Create discovery_new_terms_vpn_asn_discovery_api_calls.toml

* ++

* Update discovery_new_terms_sts_getcalleridentity_ec2_role_new_source_as.toml

* Update discovery_new_terms_vpn_asn_discovery_api_calls.toml

* Delete initial_access_aws_cloudtrail_trufflehog_user_agent.toml

* Update discovery_new_terms_vpn_asn_discovery_api_calls.toml

* Apply suggestion from @terrancedejesus

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>

* Apply suggestion from @terrancedejesus

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>

* Apply suggestion from @terrancedejesus

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>

* Revert "++"

This reverts commit fbb69afa95.

* Update discovery_new_terms_sts_getcalleridentity_ec2_role_new_source_as.toml

* Update discovery_new_terms_sts_getcalleridentity_ec2_role_new_source_as.toml

* Update discovery_new_terms_sts_getcalleridentity_ec2_role_new_source_as.toml

* ++

* ++

* Update discovery_new_terms_vpn_asn_discovery_api_calls.toml

* ++

* ++

* ++

* ++

* Update execution_ec2_stop_start_with_user_data_modification.toml

* Update execution_ec2_stop_start_with_user_data_modification.toml

* Update execution_aws_ssm_session_manager_child_process.toml

* Update execution_aws_ssm_session_manager_child_process.toml

* Update execution_aws_ssm_session_manager_child_process.toml

* ++

* ++

* ++

* ++

* ++

* ++

* Update defense_evasion_kms_key_policy_put.toml

* Rename defense_evasion_kms_key_policy_put.toml to privilege_escalation_kms_key_policy_put.toml

* Update privilege_escalation_iam_customer_managed_policy_version_created_or_set_default.toml

* Update discovery_new_terms_sts_getcalleridentity_ec2_role_new_source_as.toml

* Delete rules/integrations/aws/discovery_new_terms_ec2_describe_instance_userdata_unusual_context.toml

similar rule exist

* Update discovery_new_terms_vpn_asn_discovery_api_calls.toml

* Apply suggestion from @imays11

Co-authored-by: Isai <59296946+imays11@users.noreply.github.com>

* Apply suggestion from @imays11

Co-authored-by: Isai <59296946+imays11@users.noreply.github.com>

* Update persistence_new_terms_ec2_create_keypair_unusual_source_as.toml

* Update privilege_escalation_kms_key_policy_put.toml

* Update privilege_escalation_iam_customer_managed_policy_version_created_or_set_default.toml

* Update persistence_new_terms_ec2_create_keypair_unusual_source_as.toml

* Update execution_aws_ssm_session_manager_child_process.toml

* Update rules/integrations/aws/privilege_escalation_iam_customer_managed_policy_version_created_or_set_default.toml

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>

* Update rules/integrations/aws/execution_ec2_stop_start_with_user_data_modification.toml

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>

* Update privilege_escalation_iam_privilege_operations_via_lambda_execution_role.toml

* Apply suggestion from @imays11

Co-authored-by: Isai <59296946+imays11@users.noreply.github.com>

* Update execution_ec2_stop_start_with_user_data_modification.toml

---------

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>
Co-authored-by: Isai <59296946+imays11@users.noreply.github.com>

(cherry picked from commit 250ad4a8eb)
2026-05-01 21:00:39 +00:00
Jonhnathan bdf94aa115 [Rule Tuning] Windows High-Severity Rules Revamp - 5 (#6004)
(cherry picked from commit 61ee9caf8a)
2026-05-01 20:06:48 +00:00
Isai 0fe960a987 [Rule Tunings] AWS ESQL keep fields missing (#6014)
* [Tunings] AWS ESQL keep fields missing

Adding missing keep fields to 2 ESQL rules. 1 additional field name change as well.

* Apply suggestions from @eric

Co-authored-by: Eric Forte <119343520+eric-forte-elastic@users.noreply.github.com>

---------

Co-authored-by: Eric Forte <119343520+eric-forte-elastic@users.noreply.github.com>

(cherry picked from commit 84f2d3771c)
2026-05-01 19:46:56 +00:00
Jonhnathan 65af4761dd [Rule Tuning] Windows High-Severity Rules Revamp - 6 (#6010)
* [Rule Tuning] Windows High-Severity Rules Revamp - 6

* ++

(cherry picked from commit 771be70c38)
2026-05-01 19:18:27 +00:00
Jonhnathan 3c546e3400 [Rule Tuning] Windows High-Severity Rules Revamp - 8 (#6019)
* [Rule Tuning] Windows High-Severity Rules Revamp - 8

* Delete measure_note_size.py

(cherry picked from commit 2cb5e1860a)
2026-05-01 18:56:19 +00:00
Jonhnathan 0e79a1ab2b [Rule Tuning] Windows High-Severity Rules Revamp - 9 (#6022)
(cherry picked from commit 8982ff9032)
2026-05-01 18:36:51 +00:00
Jonhnathan a29d6eba4b [Rule Tuning] Windows High-Severity Rules Revamp - 4 (#5981)
* [Rule Tuning] Windows High-Severity Rules Revamp - 4

* Apply suggestion from @w0rk3r

(cherry picked from commit 920910c485)
2026-05-01 17:34:39 +00:00
Samirbous 63f9fb9c99 [New] Multi-Cloud CLI Token and Credential Access Commands (#6012)
* [New] Multi-Cloud CLI Token and Credential Access Commands

Correlates process telemetry for shells and major cloud/Kubernetes CLIs when command lines match token or credential material access patterns (GCP, Azure, AWS, GitHub, kubectl, DigitalOcean, OCI). Flags hosts where multiple cloud targets appear occurs within five-minute window.

* Update credential_access_multi_cloud_cli_token_harvesting.toml

* Update credential_access_multi_cloud_cli_token_harvesting.toml

* Update credential_access_multi_cloud_cli_token_harvesting.toml

* Update credential_access_multi_cloud_cli_token_harvesting.toml

* Apply suggestion from @eric-forte-elastic

Co-authored-by: Eric Forte <119343520+eric-forte-elastic@users.noreply.github.com>

* Update credential_access_multi_cloud_cli_token_harvesting.toml

* Update credential_access_multi_cloud_cli_token_harvesting.toml

* Update credential_access_multi_cloud_cli_token_harvesting.toml

---------

Co-authored-by: Eric Forte <119343520+eric-forte-elastic@users.noreply.github.com>

(cherry picked from commit 244cdda427)
2026-05-01 16:38:44 +00:00
Samirbous cdd9dbfcdb [Tuning/New] Namespace Manipulation Using Unshare (#6024)
* Update privilege_escalation_unshare_namespace_manipulation.toml

* Create privilege_escalation_unshare_namespace_manip.toml

* Apply suggestion from @Aegrah

Co-authored-by: Ruben Groenewoud <78494512+Aegrah@users.noreply.github.com>

* Update privilege_escalation_unshare_namespace_manip.toml

* Update privilege_escalation_unshare_namespace_manipulation.toml

* Update privilege_escalation_unshare_namespace_manipulation.toml

---------

Co-authored-by: Ruben Groenewoud <78494512+Aegrah@users.noreply.github.com>

(cherry picked from commit ba8fa3ef0f)
2026-05-01 14:32:58 +00:00
Mika Ayenson, PhD 96a78fd024 Revert "[Tuning] Namespace Manipulation Using Unshare (#5989)" (#6023)
This reverts commit 175e043adf.

(cherry picked from commit a1458f0fd0)
2026-05-01 13:27:39 +00:00
Samirbous a4d938f0dd [New] AWS Lateral Movement via Kubernetes SA (#5959)
* [New] AWS Lateral Movement from Kubernetes SA via AssumeRoleWithWebIdentity

Detects when credentials issued through `AssumeRoleWithWebIdentity` for a Kubernetes service account identity are later used for several distinct AWS control-plane actions on the same session access key. Workloads that use EKS IAM Roles for Service Accounts routinely exchange a projected service-account token for short-lived IAM credentials; this rule highlights sessions where that exchange is followed by a spread of sensitive APIs—reconnaissance, secrets and parameter
access, IAM changes, or compute creation—beyond what routine pod traffic usually shows.

* Update initial_access_assumed_web_identity_session_with_multi_phase_api_use.toml

* Update and rename initial_access_assumed_web_identity_session_with_multi_phase_api_use.toml to lateral_movement_k8_assumed_web_identity_session_with_multi_phase_api_use.toml

* Create initial_access_assume_role_with_web_identity_kubernetes_sa_from_external_asn.toml

* Update initial_access_assume_role_with_web_identity_kubernetes_sa_from_external_asn.toml

* Update initial_access_assume_role_with_web_identity_kubernetes_sa_from_external_asn.toml

* Update initial_access_assume_role_with_web_identity_kubernetes_sa_from_external_asn.toml

* [New] Potential Privilege Escalation in Container via Runc Init

Identifies audit events for `runc init` child processes where the effective user is root and the login user ID is not root. This pattern can indicate privilege escalation or credential separation abuse inside container runtimes, where a process executes  with elevated effective privileges while retaining a non-root audit identity.

* Update rules/linux/privilege_escalation_container_runc_init_effective_root_auditd.toml

Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>

* Delete rules/linux/privilege_escalation_container_runc_init_effective_root_auditd.toml

* Update rules/integrations/aws/initial_access_assume_role_with_web_identity_kubernetes_sa_from_external_asn.toml

Co-authored-by: Isai <59296946+imays11@users.noreply.github.com>

* Apply suggestion from @imays11

Co-authored-by: Isai <59296946+imays11@users.noreply.github.com>

* Update rules/integrations/aws/lateral_movement_k8_assumed_web_identity_session_with_multi_phase_api_use.toml

Co-authored-by: Isai <59296946+imays11@users.noreply.github.com>

* Update rules/integrations/aws/lateral_movement_k8_assumed_web_identity_session_with_multi_phase_api_use.toml

Co-authored-by: Isai <59296946+imays11@users.noreply.github.com>

* Update rules/integrations/aws/initial_access_assume_role_with_web_identity_kubernetes_sa_from_external_asn.toml

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>

* Apply suggestion from @terrancedejesus

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>

* Apply suggestion from @terrancedejesus

Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>

* Update lateral_movement_k8_assumed_web_identity_session_with_multi_phase_api_use.toml

---------

Co-authored-by: Mika Ayenson, PhD <Mikaayenson@users.noreply.github.com>
Co-authored-by: Isai <59296946+imays11@users.noreply.github.com>
Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>

(cherry picked from commit b399d856a1)
2026-05-01 11:14:14 +00:00