# Pentesting Kubernetes

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

## Nozioni di base su Kubernetes

Se non sai nulla su Kubernetes, questo è un **buon inizio**. Leggilo per conoscere l'**architettura, i componenti e le azioni di base** in Kubernetes:

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

### Laboratori per praticare e imparare

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

## Indurimento di Kubernetes / Strumenti automatici

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

## Pentest manuale di Kubernetes

### Dall'esterno

Ci sono diversi possibili **servizi Kubernetes che potresti trovare esposti** su Internet (o all'interno di reti interne). Se li trovi, sai che c'è un ambiente Kubernetes lì dentro.

A seconda della configurazione e dei tuoi privilegi, potresti essere in grado di abusare di quell'ambiente, per ulteriori informazioni:

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

### Enumerazione all'interno di un Pod

Se riesci a **compromettere un Pod**, leggi la pagina seguente per imparare come enumerare e provare a **escalare i privilegi/fuggire**:

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

### Enumerare Kubernetes con credenziali

Potresti essere riuscito a compromettere **credenziali utente, un token utente o qualche token di account di servizio**. Puoi usarlo per comunicare con il servizio API di Kubernetes e provare a **enumerarlo per saperne di più**:

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

Un altro dettaglio importante riguardo all'enumerazione e all'abuso dei permessi di Kubernetes è il **Kubernetes Role-Based Access Control (RBAC)**. Se vuoi abusare dei permessi, dovresti prima leggerne qui:

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

#### Sapendo riguardo a RBAC e avendo enumerato l'ambiente, ora puoi provare ad abusare dei permessi con:

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

### Privesc a un Namespace diverso

Se hai compromesso un namespace, puoi potenzialmente fuggire verso altri namespace con permessi/risorse più interessanti:

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

### Da Kubernetes al Cloud

Se hai compromesso un account K8s o un pod, potresti essere in grado di spostarti verso altri cloud. Questo perché nei cloud come AWS o GCP è possibile **dare a un SA K8s permessi sul cloud**.

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

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