Direct Interactive Kubernetes API Request by Unusual Utilities

Last updated 7 days ago on 2026-01-27
Created 13 days ago on 2026-01-21

About

This rule leverages a combination of Defend for Containers and Kubernetes audit logs to detect the execution of direct interactive Kubernetes API requests via unusual utilities. An adversary may need to execute direct interactive Kubernetes API requests to gain access to the Kubernetes API server or other resources within the cluster. These requests are often used to enumerate the Kubernetes API server or other resources within the cluster, and may indicate an attempt to move laterally within the cluster.
Tags
Data Source: Elastic Defend for ContainersData Source: KubernetesDomain: ContainerDomain: KubernetesOS: LinuxUse Case: Threat DetectionTactic: ExecutionTactic: DiscoveryLanguage: eql
Severity
low
Risk Score
21
MITRE ATT&CK™

Execution (TA0002)(external, opens in a new tab or window)

Discovery (TA0007)(external, opens in a new tab or window)

False Positive Examples
There is a potential for false positives if the direct interactive Kubernetes API requests are used for legitimate purposes, such as debugging or troubleshooting. It is important to investigate any alerts generated by this rule to determine if they are indicative of malicious activity or part of legitimate container activity. There is a risk of false positives if there are several containers named the same, as the rule may correlate the request to the wrong container.
License
Elastic License v2(external, opens in a new tab or window)

Definition

Rule Type
Event Correlation Rule
Integration Pack
Prebuilt Security Detection Rules
Index Patterns
logs-cloud_defend.process*logs-kubernetes.audit_logs-*
Related Integrations

cloud_defend(external, opens in a new tab or window)

kubernetes(external, opens in a new tab or window)

Query
text code block:
sequence with maxspan=1s [process where host.os.type == "linux" and event.type == "start" and event.action == "exec" and process.interactive == true and container.id like "*" and /* Covered by the rule "Direct Interactive Kubernetes API Request by Common Utilities" */ not ( process.name in ("wget", "curl", "openssl", "socat", "ncat", "kubectl") or ( /* Account for tools that execute utilities as a subprocess, in this case the target utility name will appear as a process arg */ process.name in ("bash", "dash", "sh", "tcsh", "csh", "zsh", "ksh", "fish", "busybox") and process.args in ( "wget", "/bin/wget", "/usr/bin/wget", "/usr/local/bin/wget", "ssl_client", "/bin/ssl_client", "/usr/bin/ssl_client", "/usr/local/bin/ssl_client", "curl", "/bin/curl", "/usr/bin/curl", "/usr/local/bin/curl", "openssl", "/bin/openssl", "/usr/bin/openssl", "/usr/local/bin/openssl", "socat", "/bin/socat", "/usr/bin/socat", "/usr/local/bin/socat", "ncat", "/bin/ncat", "/usr/bin/ncat", "/usr/local/bin/ncat", "kubectl", "/bin/kubectl", "/usr/bin/kubectl", "/usr/local/bin/kubectl" ) and /* default exclusion list to not FP on default multi-process commands */ not process.args in ( "which", "/bin/which", "/usr/bin/which", "/usr/local/bin/which", "man", "/bin/man", "/usr/bin/man", "/usr/local/bin/man", "chmod", "/bin/chmod", "/usr/bin/chmod", "/usr/local/bin/chmod", "chown", "/bin/chown", "/usr/bin/chown", "/usr/local/bin/chown" ) ) or /* General exclusions for utilities that are not typically used for Kubernetes API requests */ process.name in ("sleep", "head", "tail") )] by orchestrator.resource.name [any where event.dataset == "kubernetes.audit_logs" and kubernetes.audit.stage in ("ResponseStarted","ResponseComplete") and kubernetes.audit.verb in ("get", "list", "watch", "create", "patch", "update") and ( kubernetes.audit.objectRef.resource in ( "pods", "secrets", "serviceaccounts", "configmaps", "roles", "rolebindings", "clusterroles", "clusterrolebindings", "deployments", "daemonsets", "statefulsets", "jobs", "cronjobs", "nodes", "namespaces", "selfsubjectaccessreviews", "selfsubjectrulesreviews", "subjectaccessreviews" ) or ( kubernetes.audit.objectRef.resource == "pods" and kubernetes.audit.objectRef.subresource in ("exec", "attach", "portforward", "log") ) ) ] by `kubernetes.audit.user.extra.authentication.kubernetes.io/pod-name`

Install detection rules in Elastic Security

Detect Direct Interactive Kubernetes API Request by Unusual Utilities in the Elastic Security detection engine by installing this rule into your Elastic Stack.

To setup this rule, check out the installation guide for Prebuilt Security Detection Rules(external, opens in a new tab or window).