Le mouvement latéral dans Kubernetes est une réutilisation d'identifiants le long des arêtes de confiance propres au cluster. Un pod détient un jeton de compte de service qui s'authentifie auprès de l'API server ; l'API expose des secrets et d'autres jetons ; le réseau plat des pods atteint directement les autres workloads ; et la workload identity cloud d'un pod atteint le compte cloud environnant. Chaque mouvement prend un identifiant que le cluster a émis dans un but légitime et l'utilise pour atteindre la cible suivante, de sorte que le déplacement nécessite rarement un exploit, seulement de l'énumération et de la réutilisation.
# the token you hold, what it reaches, and the network around you
kubectl auth can-i --list
kubectl get secrets --all-namespaces 2>/dev/null | head
kubectl get endpoints -A 2>/dev/null | head
Sous-sujets#
- Jeton de compte de service vers l'API : s'authentifier et agir avec un jeton de pod.
- Vol de jetons et de secrets : récolter des identifiants à travers les namespaces.
- Pivotement de pod à pod : atteindre d'autres workloads sur le réseau plat.
- IAM cloud via workload identity : suivre l'identité d'un pod jusque dans le compte cloud.