Amazon EKS Kubernetes cluster scan detection


Description

The following analytic detects unauthenticated requests to an Amazon EKS Kubernetes cluster, specifically identifying actions by the "system:anonymous" user. It leverages AWS CloudWatch Logs data, focusing on user agents and authentication details. This activity is significant as it may indicate unauthorized scanning or probing of the Kubernetes cluster, which could be a precursor to an attack. If confirmed malicious, this could lead to unauthorized access, data exfiltration, or disruption of services within the Kubernetes environment.

Query · spl

`aws_cloudwatchlogs_eks` "user.username"="system:anonymous" userAgent!="AWS Security Scanner"
  | rename sourceIPs{} as src_ip
  | stats count min(_time) as firstTime max(_time) as lastTime values(responseStatus.reason) values(source) as cluster_name values(responseStatus.code) values(userAgent) as http_user_agent values(verb) values(requestURI)
    BY src_ip user.username user.groups{}
  | `security_content_ctime(lastTime)`
  | `security_content_ctime(firstTime)`
  | `amazon_eks_kubernetes_cluster_scan_detection_filter`

Implementation guide

You must install the AWS App for Splunk (version 5.1.0 or later) and Splunk Add-on for AWS (version 4.4.0 or later), then configure your CloudWatch EKS Logs inputs.

Known false positives

  • Not all unauthenticated requests are malicious, but frequency, UA and source IPs will provide context.

Analyst notes

Known false positives: Not all unauthenticated requests are malicious, but frequency, UA and source IPs will provide context.

Raw source Amazon EKS Kubernetes cluster scan detection · SPL
Esc
Published by splunk/security_content ↗, licensed under Apache 2.0 ↗. Reproduced here unmodified.
name: Amazon EKS Kubernetes cluster scan detection
id: 294c4686-63dd-4fe6-93a2-ca807626704a
version: 7
creation_date: '2020-04-29'
modification_date: '2026-05-13'
author: Rod Soto, Splunk
status: experimental
type: Hunting
description: The following analytic detects unauthenticated requests to an Amazon EKS Kubernetes cluster, specifically identifying actions by the "system:anonymous" user. It leverages AWS CloudWatch Logs data, focusing on user agents and authentication details. This activity is significant as it may indicate unauthorized scanning or probing of the Kubernetes cluster, which could be a precursor to an attack. If confirmed malicious, this could lead to unauthorized access, data exfiltration, or disruption of services within the Kubernetes environment.
data_source: []
search: |-
    `aws_cloudwatchlogs_eks` "user.username"="system:anonymous" userAgent!="AWS Security Scanner"
      | rename sourceIPs{} as src_ip
      | stats count min(_time) as firstTime max(_time) as lastTime values(responseStatus.reason) values(source) as cluster_name values(responseStatus.code) values(userAgent) as http_user_agent values(verb) values(requestURI)
        BY src_ip user.username user.groups{}
      | `security_content_ctime(lastTime)`
      | `security_content_ctime(firstTime)`
      | `amazon_eks_kubernetes_cluster_scan_detection_filter`
how_to_implement: You must install the AWS App for Splunk (version 5.1.0 or later) and Splunk Add-on for AWS (version 4.4.0 or later), then configure your CloudWatch EKS Logs inputs.
known_false_positives: Not all unauthenticated requests are malicious, but frequency, UA and source IPs will provide context.
references: []
analytic_story:
    - Kubernetes Scanning Activity
asset_type: Amazon EKS Kubernetes cluster
mitre_attack_id:
    - T1526
product:
    - Splunk Enterprise
    - Splunk Enterprise Security
    - Splunk Cloud
category: cloud
security_domain: threat

Detection rules belong to the projects that publish them and remain under their own licenses. This site indexes and links to them; it claims no rights in them.