Kubernetes - OPA Gatekeeper bypass

L'autore originale di questa pagina è Guillaume

Abuso di configurazioni errate

Enumerare le regole

Avere una panoramica può aiutare a sapere quali regole sono attive, in quale modalità e chi può evitarle.

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 far rispettare le regole sulle risorse di Kubernetes.

$ kubectl get constrainttemplates
$ kubectl get k8smandatorylabels

Con l'interfaccia grafica

Potrebbe essere disponibile un'interfaccia grafica per accedere alle regole OPA con Gatekeeper Policy Manager. Si tratta di "un semplice web UI in sola lettura per visualizzare lo stato delle regole di OPA Gatekeeper in un cluster Kubernetes."

Cerca il percorso 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 errate configurazioni che potrebbero essere sfruttate per ottenere privilegi. Cerca i namespace in whitelist o esclusi dove la regola non si applica, e poi esegui il tuo attacco lì.

Abusing Roles/ClusterRoles in Kubernetes

Riferimenti

Last updated