Kubernetes Pentesting

Support HackTricks

Kubernetes Basics

Si vous ne savez rien sur Kubernetes, c'est un bon début. Lisez-le pour en savoir plus sur l'architecture, les composants et les actions de base dans Kubernetes :

Labs to practice and learn

Hardening Kubernetes / Automatic Tools

Manual Kubernetes Pentest

From the Outside

Il existe plusieurs services Kubernetes que vous pourriez trouver exposés sur Internet (ou à l'intérieur des réseaux internes). Si vous les trouvez, vous savez qu'il y a un environnement Kubernetes là-dedans.

Selon la configuration et vos privilèges, vous pourriez être en mesure d'abuser de cet environnement, pour plus d'informations :

Enumeration inside a Pod

Si vous parvenez à compromettre un Pod, lisez la page suivante pour apprendre à énumérer et essayer de faire une élévation de privilèges/échapper :

Enumerating Kubernetes with Credentials

Vous avez peut-être réussi à compromettre des identifiants d'utilisateur, un jeton d'utilisateur ou un jeton de compte de service. Vous pouvez l'utiliser pour communiquer avec le service API Kubernetes et essayer de l'énumérer pour en apprendre davantage :

Un autre détail important concernant l'énumération et l'abus des permissions Kubernetes est le Kubernetes Role-Based Access Control (RBAC). Si vous souhaitez abuser des permissions, vous devez d'abord lire à ce sujet ici :

En connaissant le RBAC et ayant énuméré l'environnement, vous pouvez maintenant essayer d'abuser des permissions avec :

Privesc to a different Namespace

Si vous avez compromis un namespace, vous pouvez potentiellement échapper à d'autres namespaces avec des permissions/ressources plus intéressantes :

From Kubernetes to the Cloud

Si vous avez compromis un compte K8s ou un pod, vous pourriez être en mesure de passer à d'autres clouds. Cela est dû au fait que dans des clouds comme AWS ou GCP, il est possible de donner des permissions à un SA K8s sur le cloud.

Support HackTricks

Last updated