Kubernetes audit logs finding types
The following findings are specific to Kubernetes resources and have a
resource_type of EKSCluster
. The severity and details
of the findings differ based on finding type.
For all Kubernetes type findings we recommend that you examine the resource in question to determine if the activity is expected or potentially malicious. For guidance on remediating a compromised Kubernetes resource identified by a GuardDuty finding, see Remediating EKS Audit Log Monitoring findings discovered by GuardDuty.
Note
If the activity because of which these findings get generated is expected, consider adding Suppression rules to prevent future alerts.
Topics
- CredentialAccess:Kubernetes/MaliciousIPCaller
- CredentialAccess:Kubernetes/MaliciousIPCaller.Custom
- CredentialAccess:Kubernetes/SuccessfulAnonymousAccess
- CredentialAccess:Kubernetes/TorIPCaller
- DefenseEvasion:Kubernetes/MaliciousIPCaller
- DefenseEvasion:Kubernetes/MaliciousIPCaller.Custom
- DefenseEvasion:Kubernetes/SuccessfulAnonymousAccess
- DefenseEvasion:Kubernetes/TorIPCaller
- Discovery:Kubernetes/MaliciousIPCaller
- Discovery:Kubernetes/MaliciousIPCaller.Custom
- Discovery:Kubernetes/SuccessfulAnonymousAccess
- Discovery:Kubernetes/TorIPCaller
- Execution:Kubernetes/ExecInKubeSystemPod
- Impact:Kubernetes/MaliciousIPCaller
- Impact:Kubernetes/MaliciousIPCaller.Custom
- Impact:Kubernetes/SuccessfulAnonymousAccess
- Impact:Kubernetes/TorIPCaller
- Persistence:Kubernetes/ContainerWithSensitiveMount
- Persistence:Kubernetes/MaliciousIPCaller
- Persistence:Kubernetes/MaliciousIPCaller.Custom
- Persistence:Kubernetes/SuccessfulAnonymousAccess
- Persistence:Kubernetes/TorIPCaller
- Policy:Kubernetes/AdminAccessToDefaultServiceAccount
- Policy:Kubernetes/AnonymousAccessGranted
- Policy:Kubernetes/ExposedDashboard
- Policy:Kubernetes/KubeflowDashboardExposed
- PrivilegeEscalation:Kubernetes/PrivilegedContainer
Note
Before Kubernetes version 1.14, the system:unauthenticated
group was
associated to system:discovery
and system:basic-user
ClusterRoles by default. This association may allow unintended
access from anonymous users. Cluster updates do not revoke these permissions. Even if
you updated your cluster to version 1.14 or higher, these permissions may still be
enabled. We recommend that you disassociate these permissions from the
system:unauthenticated
group. For guidance on revoking these
permissions, see Review and revoke unnecessary anonymous access
CredentialAccess:Kubernetes/MaliciousIPCaller
An API commonly used to access credentials or secrets in a Kubernetes cluster was invoked from a known malicious IP address.
Default severity: High
-
Feature: Kubernetes audit logs
This finding informs you that an API operation was invoked from an IP address that is associated with known malicious activity. The API observed is commonly associated with the credential access tactics where an adversary is attempting to collect passwords, usernames, and access keys for your Kubernetes cluster.
Remediation recommendations:
If the user reported in the finding under the KubernetesUserDetails
section is system:anonymous
, investigate why the anonymous user was
permitted to invoke the API and revoke the permissions
CredentialAccess:Kubernetes/MaliciousIPCaller.Custom
An API commonly used to access credentials or secrets in a Kubernetes cluster was invoked from an IP address on a custom threat list.
Default severity: High
-
Feature: Kubernetes audit logs
This finding informs you that an API operation was invoked from an IP address that is included on a threat list that you uploaded. The threat list associated with this finding is listed in the Additional Information section of a finding's details. The API observed is commonly associated with the credential access tactics where an adversary is attempting to collect passwords, usernames, and access keys for your Kubernetes cluster.
Remediation recommendations:
If the user reported in the finding under the KubernetesUserDetails
section is system:anonymous
, investigate why the anonymous user was
permitted to invoke the API and revoke the permissions
CredentialAccess:Kubernetes/SuccessfulAnonymousAccess
An API commonly used to access credentials or secrets in a Kubernetes cluster was invoked by an unauthenticated user.
Default severity: High
-
Feature: Kubernetes audit logs
This finding informs you that an API operation was successfully invoked by the
system:anonymous
user. API calls made by
system:anonymous
are unauthenticated. The observed API is
commonly associated with the credential access tactics where an adversary is
attempting to collect passwords, usernames, and access keys for your Kubernetes
cluster. This activity indicates that anonymous or unauthenticated access is
permitted on the API action reported in the finding and may be permitted on
other actions. If this behavior is not expected, it may indicate a configuration
mistake or that your credentials are compromised.
Remediation recommendations:
You should examine the permissions that have been granted to the
system:anonymous
user on your cluster and ensure that all the
permissions are needed. If the permissions were granted mistakenly or
maliciously, you should revoke access of the user and reverse any changes made
by an adversary to your cluster. See Review and revoke unnecessary anonymous access
CredentialAccess:Kubernetes/TorIPCaller
An API commonly used to access credentials or secrets in a Kubernetes cluster was invoked from a Tor exit node IP address.
Default severity: High
-
Feature: Kubernetes audit logs
This finding informs you that an API was invoked from a Tor exit node IP address. The API observed is commonly associated with the credential access tactics where an adversary is attempting to collect passwords, usernames, and access keys for your Kubernetes cluster. Tor is software for enabling anonymous communication. It encrypts and randomly bounces communications through relays between a series of network nodes. The last Tor node is called the exit node. This can indicate unauthorized access to your Kubernetes cluster resources with the intent of hiding the attacker's true identity.
Remediation recommendations:
If the user reported in the finding under the KubernetesUserDetails
section is system:anonymous
, investigate why the anonymous user was
permitted to invoke the API and revoke the permissions
DefenseEvasion:Kubernetes/MaliciousIPCaller
An API commonly used to evade defensive measures was invoked from a known malicious IP address.
Default severity: High
-
Feature: Kubernetes audit logs
This finding informs you that an API operation was invoked from an IP address that is associated with known malicious activity. The API observed is commonly associated with defense evasion tactics where an adversary is trying to hide their actions to avoid detection.
Remediation recommendations:
If the user reported in the finding under the KubernetesUserDetails
section is system:anonymous
, investigate why the anonymous user was
permitted to invoke the API and revoke the permissions
DefenseEvasion:Kubernetes/MaliciousIPCaller.Custom
An API commonly used to evade defensive measures was invoked from an IP address on a custom threat list.
Default severity: High
-
Feature: Kubernetes audit logs
This finding informs you that an API operation was invoked from an IP address that is included on a threat list that you uploaded. The threat list associated with this finding is listed in the Additional Information section of a finding's details. The API observed is commonly associated with defense evasion tactics where an adversary is trying to hide their actions to avoid detection.
Remediation recommendations:
If the user reported in the finding under the KubernetesUserDetails
section is system:anonymous
, investigate why the anonymous user was
permitted to invoke the API and revoke the permissions
DefenseEvasion:Kubernetes/SuccessfulAnonymousAccess
An API commonly used to evade defensive measures was invoked by an unauthenticated user.
Default severity: High
-
Feature: Kubernetes audit logs
This finding informs you that an API operation was successfully invoked by the
system:anonymous
user. API calls made by
system:anonymous
are unauthenticated. The observed API is
commonly associated with defense evasion tactics where an adversary is trying to
hide their actions to avoid detection. This activity indicates that anonymous or
unauthenticated access is permitted on the API action reported in the finding
and may be permitted on other actions. If this behavior is not expected, it may
indicate a configuration mistake or that your credentials are compromised.
Remediation recommendations:
You should examine the permissions that have been granted to the
system:anonymous
user on your cluster and ensure that all the
permissions are needed. If the permissions were granted mistakenly or
maliciously, you should revoke access of the user and reverse any changes made
by an adversary to your cluster. See Review and revoke unnecessary anonymous access
DefenseEvasion:Kubernetes/TorIPCaller
An API commonly used to evade defensive measures was invoked from a Tor exit node IP address.
Default severity: High
-
Feature: Kubernetes audit logs
This finding informs you that an API was invoked from a Tor exit node IP address. The API observed is commonly associated with defense evasion tactics where an adversary is trying to hide their actions to avoid detection. Tor is software for enabling anonymous communication. It encrypts and randomly bounces communications through relays between a series of network nodes. The last Tor node is called the exit node. This can indicate unauthorized access to your Kubernetes cluster with the intent of hiding the adversary's true identity.
Remediation recommendations:
If the user reported in the finding under the KubernetesUserDetails
section is system:anonymous
, investigate why the anonymous user was
permitted to invoke the API and revoke the permissions
Discovery:Kubernetes/MaliciousIPCaller
An API commonly used to discover resources in a Kubernetes cluster was invoked from an IP address.
Default severity: Medium
-
Feature: Kubernetes audit logs
This finding informs you that an API operation was invoked from an IP address that is associated with known malicious activity. The observed API is commonly used with the discovery stage of an attack wherein an attacker is gathering information to determine if your Kubernetes cluster is susceptible to a broader attack.
Remediation recommendations:
If the user reported in the finding under the KubernetesUserDetails
section is system:anonymous
, investigate why the anonymous user was
permitted to invoke the API and revoke the permissions
Discovery:Kubernetes/MaliciousIPCaller.Custom
An API commonly used to discover resources in a Kubernetes cluster was invoked from an IP address on a custom threat list.
Default severity: Medium
-
Feature: Kubernetes audit logs
This finding informs you that an API was invoked from an IP address that is included on a threat list that you uploaded. The threat list associated with this finding is listed in the Additional Information section of a finding's details. The observed API is commonly used with the discovery stage of an attack wherein an attacker is gathering information to determine if your Kubernetes cluster is susceptible to a broader attack.
Remediation recommendations:
If the user reported in the finding under the KubernetesUserDetails
section is system:anonymous
, investigate why the anonymous user was
permitted to invoke the API and revoke the permissions
Discovery:Kubernetes/SuccessfulAnonymousAccess
An API commonly used to discover resources in a Kubernetes cluster was invoked by an unauthenticated user.
Default severity: Medium
-
Feature: Kubernetes audit logs
This finding informs you that an API operation was successfully invoked by the
system:anonymous
user. API calls made by
system:anonymous
are unauthenticated. The observed API is
commonly associated with the discovery stage of an attack when an adversary is
gathering information on your Kubernetes cluster. This activity indicates that
anonymous or unauthenticated access is permitted on the API action reported in
the finding and may be permitted on other actions. If this behavior is not
expected, it may indicate a configuration mistake or that your credentials are
compromised.
Remediation recommendations:
You should examine the permissions that have been granted to the
system:anonymous
user on your cluster and ensure that all the
permissions are needed. If the permissions were granted mistakenly or
maliciously, you should revoke access of the user and reverse any changes made
by an adversary to your cluster. See Review and revoke unnecessary anonymous access
Discovery:Kubernetes/TorIPCaller
An API commonly used to discover resources in a Kubernetes cluster was invoked from a Tor exit node IP address.
Default severity: Medium
-
Feature: Kubernetes audit logs
This finding informs you that an API was invoked from a Tor exit node IP address. The observed API is commonly used with the discovery stage of an attack wherein an attacker is gathering information to determine if your Kubernetes cluster is susceptible to a broader attack. Tor is software for enabling anonymous communication. It encrypts and randomly bounces communications through relays between a series of network nodes. The last Tor node is called the exit node. This can indicate unauthorized access to your Kubernetes cluster with the intent of hiding the adversary's true identity.
Remediation recommendations:
If the user reported in the finding under the KubernetesUserDetails
section is system:anonymous
, investigate why the anonymous user was
permitted to invoke the API and revoke the permissions
Execution:Kubernetes/ExecInKubeSystemPod
A command was
executed inside a pod within the kube-system
namespace
Default severity: Medium
-
Feature: Kubernetes audit logs
This finding informs you that a command was executed in a pod within the
kube-system
namespace using Kubernetes exec
API. kube-system
namespace is a default namespaces,
which is primarily used for system level components such as
kube-dns
and kube-proxy
. It is very uncommon to
execute commands inside pods or containers under kube-system
namespace and may indicate suspicious activity.
Remediation recommendations:
If the execution of this command is unexpected, the credentials of the user identity used to execute the command may be compromised. Revoke access of the user and reverse any changes made by an adversary to your cluster. See Remediating EKS Audit Log Monitoring findings Remediating EKS Runtime Monitoring findings for guidance.
Impact:Kubernetes/MaliciousIPCaller
An API commonly used to tamper with resources in a Kubernetes cluster was invoked from a known malicious IP address.
Default severity: High
-
Feature: Kubernetes audit logs
This finding informs you that an API operation was invoked from an IP address that is associated with known malicious activity. The observed API is commonly associated with impact tactics where an adversary is trying to manipulate, interrupt, or destroy data within your AWS environment.
Remediation recommendations:
If the user reported in the finding under the KubernetesUserDetails
section is system:anonymous
, investigate why the anonymous user was
permitted to invoke the API and revoke the permissions
Impact:Kubernetes/MaliciousIPCaller.Custom
An API commonly used to tamper with resources in a Kubernetes cluster was invoked from an IP address on a custom threat list.
Default severity: High
-
Feature: Kubernetes audit logs
This finding informs you that an API operation was invoked from an IP address that is included on a threat list that you uploaded. The threat list associated with this finding is listed in the Additional Information section of a finding's details. The observed API is commonly associated with impact tactics where an adversary is trying to manipulate, interrupt, or destroy data within your AWS environment.
Remediation recommendations:
If the user reported in the finding under the KubernetesUserDetails
section is system:anonymous
, investigate why the anonymous user was
permitted to invoke the API and revoke the permissions
Impact:Kubernetes/SuccessfulAnonymousAccess
An API commonly used to tamper with resources in a Kubernetes cluster was invoked by an unauthenticated user.
Default severity: High
-
Feature: Kubernetes audit logs
This finding informs you that an API operation was successfully invoked by the
system:anonymous
user. API calls made by
system:anonymous
are unauthenticated. The observed API is
commonly associated with the impact stage of an attack when an adversary is
tampering with resources in your cluster. This activity indicates that anonymous
or unauthenticated access is permitted on the API action reported in the finding
and may be permitted on other actions. If this behavior is not expected, it may
indicate a configuration mistake or that your credentials are compromised.
Remediation recommendations:
You should examine the permissions that have been granted to the
system:anonymous
user on your cluster and ensure that all the
permissions are needed. If the permissions were granted mistakenly or
maliciously, you should revoke access of the user and reverse any changes made
by an adversary to your cluster. See Review and revoke unnecessary anonymous access
Impact:Kubernetes/TorIPCaller
An API commonly used to tamper with resources in a Kubernetes cluster was invoked from a Tor exit node IP address.
Default severity: High
-
Feature: Kubernetes audit logs
This finding informs you that an API was invoked from a Tor exit node IP address. The API observed is commonly associated with impact tactics where an adversary is trying to manipulate, interrupt, or destroy data within your AWS environment. Tor is software for enabling anonymous communication. It encrypts and randomly bounces communications through relays between a series of network nodes. The last Tor node is called the exit node. This can indicate unauthorized access to your Kubernetes cluster with the intent of hiding the adversary's true identity.
Remediation recommendations:
If the user reported in the finding under the KubernetesUserDetails
section is system:anonymous
, investigate why the anonymous user was
permitted to invoke the API and revoke the permissions
Persistence:Kubernetes/ContainerWithSensitiveMount
A container was launched with a sensitive external host path mounted inside.
Default severity: Medium
-
Feature: Kubernetes audit logs
This finding informs you that a container was launched with a configuration
that included a sensitive host path with write access in the
volumeMounts
section. This makes the sensitive host path
accessible and writable from inside the container. This technique is commonly
used by adversaries to gain access to the host's filesystem.
Remediation recommendations:
If this container launch is unexpected, the credentials of the user identity
used to launch the container may be compromised. Revoke access of the user and
reverse any changes made by an adversary to your cluster. See Remediating Kubernetes
findings for guidance. If this container launch is expected, it's
recommended that you use a suppression rule consisting of a filter criteria
based on the
resource.KubernetesDetails.KubernetesWorkloadDetails.containers.imagePrefix
field. In the filter criteria the imagePrefix
field should be same
as the imagePrefix
specified in the finding. To learn more about
creating suppression rules see Suppression
rules.
Persistence:Kubernetes/MaliciousIPCaller
An API commonly used to obtain persistent access to a Kubernetes cluster was invoked from a known malicious IP address.
Default severity: Medium
-
Feature: Kubernetes audit logs
This finding informs you that an API operation was invoked from an IP address that is associated with known malicious activity. The API observed is commonly associated with persistence tactics where an adversary has gained access to your Kubernetes cluster and is attempting to maintain that access.
Remediation recommendations:
If the user reported in the finding under the KubernetesUserDetails
section is system:anonymous
, investigate why the anonymous user was
permitted to invoke the API and revoke the permissions
Persistence:Kubernetes/MaliciousIPCaller.Custom
An API commonly used to obtain persistent access to a Kubernetes cluster was invoked from an IP address on a custom threat list.
Default severity: Medium
-
Feature: Kubernetes audit logs
This finding informs you that an API operation was invoked from an IP address that is included on a threat list that you uploaded. The threat list associated with this finding is listed in the Additional Information section of a finding's details. The API observed is commonly associated with persistence tactics where an adversary has gained access to your Kubernetes cluster and is attempting to maintain that access.
Remediation recommendations:
If the user reported in the finding under the KubernetesUserDetails
section is system:anonymous
, investigate why the anonymous user was
permitted to invoke the API and revoke the permissions
Persistence:Kubernetes/SuccessfulAnonymousAccess
An API commonly used to obtain high-level permissions to a Kubernetes cluster was invoked by an unauthenticated user.
Default severity: High
-
Feature: Kubernetes audit logs
This finding informs you that an API operation was successfully invoked by the
system:anonymous
user. API calls made by
system:anonymous
are unauthenticated. The observed API is
commonly associated with the persistence tactics where an adversary has gained
access to your cluster and is attempting to maintain that access. This activity
indicates that anonymous or unauthenticated access is permitted on the API
action reported in the finding and may be permitted on other actions. If this
behavior is not expected, it may indicate a configuration mistake or that your
credentials are compromised.
Remediation recommendations:
You should examine the permissions that have been granted to the
system:anonymous
user on your cluster and ensure that all the
permissions are needed. If the permissions were granted mistakenly or
maliciously, you should revoke access of the user and reverse any changes made
by an adversary to your cluster. See Review and revoke unnecessary anonymous access
Persistence:Kubernetes/TorIPCaller
An API commonly used to obtain persistent access to a Kubernetes cluster was invoked from a Tor exit node IP address.
Default severity: Medium
-
Feature: Kubernetes audit logs
This finding informs you that an API was invoked from a Tor exit node IP address. The API observed is commonly associated with persistence tactics where an adversary has gained access to your Kubernetes cluster and is attempting to maintain that access. Tor is software for enabling anonymous communication. It encrypts and randomly bounces communications through relays between a series of network nodes. The last Tor node is called the exit node. This can indicate unauthorized access to your AWS resources with the intent of hiding the attacker's true identity.
Remediation recommendations:
If the user reported in the finding under the KubernetesUserDetails
section is system:anonymous
, investigate why the anonymous user was
permitted to invoke the API and revoke the permissions
Policy:Kubernetes/AdminAccessToDefaultServiceAccount
The default service account was granted admin privileges on a Kubernetes cluster.
Default severity: High
-
Feature: Kubernetes audit logs
This finding informs you that the default service account for a namespace in your Kubernetes cluster was granted admin privileges. Kubernetes creates a default service account for all the namespaces in the cluster. It automatically assigns the default service account as an identity to pods that have not been explicitly associated to another service account. If the default service account has admin privileges, it may result in pods being unintentionally launched with admin privileges. If this behavior is not expected, it may indicate a configuration mistake or that your credentials are compromised.
Remediation recommendations:
You should not use the default service account to grant permissions to pods. Instead you should create a dedicated service account for each workload and grant permission to that account on a needs basis. To fix this issue, you should create dedicated service accounts for all your pods and workloads and update the pods and workloads to migrate from the default service account to their dedicated accounts. Then you should remove the admin permission from the default service account. See Remediating EKS Audit Log Monitoring findings Remediating EKS Runtime Monitoring findings for additional guidance and resources.
Policy:Kubernetes/AnonymousAccessGranted
The
system:anonymous
user was granted API permission on a Kubernetes
cluster.
Default severity: High
-
Feature: Kubernetes audit logs
This finding informs you that a user on your Kubernetes cluster successfully
created a ClusterRoleBinding
or RoleBinding
to bind
the user system:anonymous
to a role. This enables unauthenticated
access to the API operations permitted by the role. If this behavior is not
expected, it may indicate a configuration mistake or that your credentials are
compromised
Remediation recommendations:
You should examine the permissions that have been granted to the
system:anonymous
user or system:unauthenticated
group on your cluster and revoke unnecessary anonymous access. See Review and revoke unnecessary anonymous access
Policy:Kubernetes/ExposedDashboard
The dashboard for a Kubernetes cluster was exposed to the internet
Default severity: Medium
-
Feature: Kubernetes audit logs
This finding informs you that Kubernetes dashboard for your cluster was exposed to the internet by a Load Balancer service. An exposed dashboard makes the management interface of your cluster accessible from the internet and allows adversaries to exploit any authentication and access control gaps that may be present.
Remediation recommendations:
You should ensure that strong authentication and authorization is enforced on Kubernetes Dashboard. You should also implement network access control to restrict access to the dashboard from specific IP addresses.
Policy:Kubernetes/KubeflowDashboardExposed
The Kubeflow dashboard for a Kubernetes cluster was exposed to the Internet
Default severity: Medium
-
Feature: Kubernetes audit logs
This finding informs you that Kubeflow dashboard for your cluster was exposed to the Internet by a Load Balancer service. An exposed Kubeflow dashboard makes the management interface of your Kubeflow environment accessible from the Internet and allows adversaries to exploit any authentication and access control gaps that may be present.
Remediation recommendations:
You should ensure that strong authentication and authorization is enforced on Kubeflow Dashboard. You should also implement network access control to restrict access to the dashboard from specific IP addresses.
PrivilegeEscalation:Kubernetes/PrivilegedContainer
A privileged container with root level access was launched on your Kubernetes cluster.
Default severity: Medium
-
Feature: Kubernetes audit logs
This finding informs you that a privileged container was launched on your Kubernetes cluster using an image has never before been used to launch privileged containers in your cluster. A privileged container has root level access to the host. Adversaries can launch privileged containers as a privilege escalation tactic to gain access to and then compromise the host.
Remediation recommendations:
If this container launch is unexpected, the credentials of the user identity used to launch the container may be compromised. Revoke access of the user and reverse any changes made by an adversary to your cluster. See Remediating EKS Audit Log Monitoring findings Remediating EKS Runtime Monitoring findings for guidance.