Kubernetes OPA Gatekeeper bypass
Tip
Aprende y practica Hacking en AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Hacking en Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Revisa los planes de suscripción!
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.
El autor original de esta página es Guillaume
Abusando de la mala configuración
Enumerar reglas
Tener una visión general puede ayudar a saber qué reglas están activas, en qué modo y quién puede eludirlas.
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 y Constraint se pueden usar en Open Policy Agent (OPA) Gatekeeper para hacer cumplir reglas en recursos de Kubernetes.
$ kubectl get constrainttemplates
$ kubectl get k8smandatorylabels
Con la GUI
Una Interfaz Gráfica de Usuario también puede estar disponible para acceder a las reglas de OPA con Gatekeeper Policy Manager. Es “una simple interfaz web de solo lectura para ver el estado de las políticas de OPA Gatekeeper en un clúster de Kubernetes.”

Busca el servicio expuesto:
$ kubectl get services -A | grep gatekeeper
$ kubectl get services -A | grep 'gatekeeper-policy-manager-system'
Espacios de nombres excluidos
Como se ilustra en la imagen anterior, ciertas reglas pueden no aplicarse de manera universal en todos los espacios de nombres o usuarios. En su lugar, operan sobre una base de lista blanca. Por ejemplo, la restricción liveness-probe está excluida de aplicarse a los cinco espacios de nombres especificados.
Bypass
Con una visión general completa de la configuración de Gatekeeper, es posible identificar posibles configuraciones incorrectas que podrían ser explotadas para obtener privilegios. Busca espacios de nombres en la lista blanca o excluidos donde la regla no se aplica, y luego lleva a cabo tu ataque allí.
Abusing Roles/ClusterRoles in Kubernetes
Abusando de ValidatingWebhookConfiguration
Otra forma de eludir las restricciones es centrarse en el recurso ValidatingWebhookConfiguration:
Kubernetes ValidatingWebhookConfiguration
Referencias
- https://github.com/open-policy-agent/gatekeeper
- https://github.com/sighupio/gatekeeper-policy-manager
Tip
Aprende y practica Hacking en AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Hacking en Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Revisa los planes de suscripción!
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.
HackTricks Cloud

