Kubernetes OPA Gatekeeper bypass
Tip
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al đŹ gruppo Discord o al gruppo telegram o seguici su Twitter đŚ @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
Lâautore originale di questa pagina è Guillaume
Abusare di una configurazione errata
Enumerare le regole
Avere una panoramica può aiutare a sapere quali regole sono attive, in quale modalità e chi può bypassarle.
Con la CLI
$ kubectl api-resources | grep gatekeeper
k8smandatoryannotations constraints.gatekeeper.sh/v1beta1 false K8sMandatoryAnnotations
k8smandatorylabels constraints.gatekeeper.sh/v1beta1 false K8sMandatoryLabel
constrainttemplates templates.gatekeeper.sh/v1 false ConstraintTemplate
ConstraintTemplate e Constraint possono essere utilizzati in Open Policy Agent (OPA) Gatekeeper per applicare regole sulle risorse Kubernetes.
$ kubectl get constrainttemplates
$ kubectl get k8smandatorylabels
Con lâinterfaccia grafica
Unâinterfaccia grafica potrebbe essere disponibile per accedere alle regole OPA con Gatekeeper Policy Manager. Ă âun semplice interfaccia web in sola lettura per visualizzare lo stato delle politiche OPA Gatekeeper in un cluster Kubernetes.â

Cerca il servizio esposto:
$ kubectl get services -A | grep gatekeeper
$ kubectl get services -A | grep 'gatekeeper-policy-manager-system'
Namespace esclusi
Come illustrato nellâimmagine sopra, alcune regole potrebbero non essere applicate universalmente a tutti i namespace o utenti. Invece, operano su base whitelist. Ad esempio, il vincolo liveness-probe è escluso dallâapplicazione ai cinque namespace specificati.
Bypass
Con una panoramica completa della configurazione di Gatekeeper, è possibile identificare potenziali misconfigurazioni che potrebbero essere sfruttate per ottenere privilegi. Cerca namespace in whitelist o esclusi dove la regola non si applica, e poi esegui il tuo attacco lÏ.
Abusing Roles/ClusterRoles in Kubernetes
Sfruttare ValidatingWebhookConfiguration
Un altro modo per bypassare i vincoli è concentrarsi sulla risorsa ValidatingWebhookConfiguration:
Kubernetes ValidatingWebhookConfiguration
Riferimenti
- https://github.com/open-policy-agent/gatekeeper
- https://github.com/sighupio/gatekeeper-policy-manager
Tip
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al đŹ gruppo Discord o al gruppo telegram o seguici su Twitter đŚ @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
HackTricks Cloud

