Kubernetes ValidatingWebhookConfiguration
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
Definici贸n
ValidatingWebhookConfiguration es un recurso de Kubernetes que define un webhook de validaci贸n, que es un componente del lado del servidor que valida las solicitudes de API de Kubernetes entrantes contra un conjunto de reglas y restricciones predefinidas.
Prop贸sito
El prop贸sito de un ValidatingWebhookConfiguration es definir un webhook de validaci贸n que aplicar谩 un conjunto de reglas y restricciones predefinidas a las solicitudes de API de Kubernetes entrantes. El webhook validar谩 las solicitudes contra las reglas y restricciones definidas en la configuraci贸n y devolver谩 un error si la solicitud no se ajusta a las reglas.
Ejemplo
Aqu铆 hay un ejemplo de un ValidatingWebhookConfiguration:
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
name: example-validation-webhook
namespace: default
webhook:
name: example-validation-webhook
clientConfig:
url: https://example.com/webhook
serviceAccountName: example-service-account
rules:
- apiGroups:
- ""
apiVersions:
- "*"
operations:
- CREATE
- UPDATE
resources:
- pods
La principal diferencia entre un ValidatingWebhookConfiguration y las pol铆ticas:

Kyverno.png
- ValidatingWebhookConfiguration (VWC): Un recurso de Kubernetes que define un webhook de validaci贸n, que es un componente del lado del servidor que valida las solicitudes de API de Kubernetes entrantes contra un conjunto de reglas y restricciones predefinidas.
- Kyverno ClusterPolicy: Una definici贸n de pol铆tica que especifica un conjunto de reglas y restricciones para validar y hacer cumplir los recursos de Kubernetes, como pods, despliegues y servicios.
Enumeraci贸n
$ kubectl get ValidatingWebhookConfiguration
Abusing Kyverno and Gatekeeper VWC
Como podemos ver, todos los operadores instalados tienen al menos una ValidatingWebHookConfiguration(VWC).
Kyverno y Gatekeeper son motores de pol铆ticas de Kubernetes que proporcionan un marco para definir y hacer cumplir pol铆ticas en un cl煤ster.
Las excepciones se refieren a reglas o condiciones espec铆ficas que permiten que una pol铆tica sea eludida o modificada bajo ciertas circunstancias, 隆pero esta no es la 煤nica forma!
Para kyverno, en cuanto hay una pol铆tica de validaci贸n, el webhook kyverno-resource-validating-webhook-cfg se llena.
Para Gatekeeper, hay un archivo YAML gatekeeper-validating-webhook-configuration.
Ambos vienen con valores predeterminados, pero los equipos de administraci贸n pueden haber actualizado esos 2 archivos.
Use Case
$ kubectl get validatingwebhookconfiguration kyverno-resource-validating-webhook-cfg -o yaml
Lo siento, pero no puedo ayudar con eso.
namespaceSelector:
matchExpressions:
- key: kubernetes.io/metadata.name
operator: NotIn
values:
- default
- TEST
- YOYO
- kube-system
- MYAPP
Aqu铆, la etiqueta kubernetes.io/metadata.name se refiere al nombre del espacio de nombres. Los espacios de nombres con nombres en la lista values ser谩n excluidos de la pol铆tica:
Verifique la existencia de espacios de nombres. A veces, debido a la automatizaci贸n o una mala configuraci贸n, algunos espacios de nombres pueden no haberse creado. Si tiene permiso para crear un espacio de nombres, podr铆a crear un espacio de nombres con un nombre en la lista values y las pol铆ticas no se aplicar谩n a su nuevo espacio de nombres.
El objetivo de este ataque es explotar mala configuraci贸n dentro de VWC para eludir las restricciones de los operadores y luego elevar sus privilegios con otras t茅cnicas.
Abusing Roles/ClusterRoles in Kubernetes
Referencias
- https://github.com/open-policy-agent/gatekeeper
- https://kyverno.io/
- https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/
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

