Adversaries may create or modify container or container cluster management tools that run as daemons, agents, or services on individual hosts. These include software for creating and managing individual containers, such as Docker and Podman, as well as container cluster node-level agents such as kubelet. By modifying these services, an adversary may be able to achieve persistence or escalate their privileges on a host.

For example, by using the docker run or podman run command with the restart=always directive, a container can be configured to persistently restart on the host.[1] A user with access to the (rootful) docker command may also be able to escalate their privileges on the host.[2]

In Kubernetes environments, DaemonSets allow an adversary to persistently Deploy Containers on all nodes, including ones added later to the cluster.[3],[4] Pods can also be deployed to specific nodes using the nodeSelector or nodeName fields in the pod spec.[5],[6]

Note that containers can also be configured to run as Systemd Services.[7],[8]

References

  1. Ofek Itach and Assaf Morag. (2023, July 13). TeamTNT Reemerged with New Aggressive Cloud Campaign. Retrieved February 15, 2024.
  2. GTFOBins. (n.d.). docker. Retrieved February 15, 2024.
  3. Michael Katchinskiy, Assaf Morag. (2023, April 21). First-Ever Attack Leveraging Kubernetes RBAC to Backdoor Clusters. Retrieved July 14, 2023.
  4. Kubernetes. (n.d.). DaemonSet. Retrieved February 15, 2024.
  5. Kubernetes. (n.d.). Assigning Pods to Nodes. Retrieved February 15, 2024.
  6. Abhisek Datta. (2020, March 18). Kubernetes Namespace Breakout using Insecure Host Path Volume — Part 1. Retrieved January 16, 2024.
  7. Valentin Rothberg. (2022, March 16). How to run pods as systemd services with Podman. Retrieved February 15, 2024.
  8. Docker. (n.d.). Start containers automatically. Retrieved February 15, 2024.

Susietos užduotys