Kubernetes OPA Gatekeeper bypass
Tip
Aprende y practica AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Consulta los subscription plans!
- Únete al 💬 Discord group o al telegram group o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud github repos.
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 AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Consulta los subscription plans!
- Únete al 💬 Discord group o al telegram group o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud github repos.
HackTricks Cloud

