Azure Kubernetes Service: Multi-resource discovery detection
This detection identifies potential reconnaissance activity in Azure Kubernetes Service (AKS) by flagging identities that enumerate three or more distinct Kubernetes API resource types within a short timeframe.
Triage facts
Revision 1- Applicability
- Azure Kubernetes Service
- Evidence
- Unknown
- Severity
- Medium
- Action
- Elevated
- Sources
- 2 public sources
- Freshness
- Revision 1Oct 21, 13:59 UTC
- Source quality
- A1Likely
This rule monitors Azure Kubernetes Service (AKS) kube-audit logs to identify reconnaissance behavior. It specifically tracks identities that access multiple Kubernetes API resource types - such as namespaces, nodes, pods, roles, clusterroles, configmaps, serviceaccounts, rolebindings, and clusterrolebindings - within a single window. By focusing on the cardinality of unique resources accessed, the logic differentiates cluster orientation and reconnaissance from steady-state controllers or platform-managed identities.
Impact
Successful reconnaissance allows an adversary to map the cluster environment, identify high-value targets, and understand RBAC structures, which are critical precursors to privilege escalation or lateral movement within the containerized environment.
Recommendation
- Deploy the provided Elastic ESQL detection rule to identify anomalous multi-resource enumeration in AKS clusters.
- Establish a baseline of legitimate CI/CD, GitOps, and backup operations to exclude expected service account activity and reduce false positives.
- Review the identities (
Esql.username) and user agents (Esql.user_agent) identified by this rule for potential credential compromise, especially those involvingkubectl. - Ensure AKS diagnostic logs, specifically the
kube-auditcategory, are correctly routed through Event Hubs to the monitoring environment.
Immediate actions
Enable AKS diagnostic log collection for kube-audit category
Threat Hunt
Identify identities performing cross-namespace listings or cluster-scoped resource enumeration
Data: kube-audit logs