# Pentesting Kubernetes

{{#include ../../banners/hacktricks-training.md}}

## Bases de Kubernetes

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 :

{{#ref}}
kubernetes-basics.md
{{#endref}}

### Laboratoires pour pratiquer et apprendre

- [https://securekubernetes.com/](https://securekubernetes.com)
- [https://madhuakula.com/kubernetes-goat/index.html](https://madhuakula.com/kubernetes-goat/index.html)

## Renforcement de Kubernetes / Outils Automatiques

{{#ref}}
kubernetes-hardening/
{{#endref}}

## Pentest Kubernetes Manuel

### De l'extérieur

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 :

{{#ref}}
pentesting-kubernetes-services/
{{#endref}}

### Énumération à l'intérieur d'un 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** :

{{#ref}}
attacking-kubernetes-from-inside-a-pod.md
{{#endref}}

### Énumération de Kubernetes avec des Identifiants

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** :

{{#ref}}
kubernetes-enumeration.md
{{#endref}}

Un autre détail important concernant l'énumération et l'abus des permissions Kubernetes est le **Contrôle d'Accès Basé sur les Rôles (RBAC) de Kubernetes**. Si vous souhaitez abuser des permissions, vous devez d'abord lire à ce sujet ici :

{{#ref}}
kubernetes-role-based-access-control-rbac.md
{{#endref}}

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

{{#ref}}
abusing-roles-clusterroles-in-kubernetes/
{{#endref}}

### Privesc vers un autre Namespace

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

{{#ref}}
kubernetes-namespace-escalation.md
{{#endref}}

### De Kubernetes vers le Cloud

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

{{#ref}}
kubernetes-pivoting-to-clouds.md
{{#endref}}

{{#include ../../banners/hacktricks-training.md}}
