Kubernetes OPA Gatekeeper bypass
Tip
Ucz się & ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Wspieraj HackTricks
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
Oryginalnym autorem tej strony jest Guillaume
Wykorzystywanie błędnej konfiguracji
Wyszukiwanie reguł
Posiadanie przeglądu może pomóc w zrozumieniu, które reguły są aktywne, w jakim trybie i kto może je obejść.
Z użyciem 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 i Constraint mogą być używane w Open Policy Agent (OPA) Gatekeeper do egzekwowania zasad na zasobach Kubernetes.
$ kubectl get constrainttemplates
$ kubectl get k8smandatorylabels
Z interfejsem graficznym
Interfejs graficzny może być również dostępny do uzyskania dostępu do reguł OPA za pomocą Gatekeeper Policy Manager. Jest to “prosty tylko do odczytu interfejs webowy do przeglądania statusu polityk OPA Gatekeeper w klastrze Kubernetes.”

Szukaj wystawionej usługi:
$ kubectl get services -A | grep gatekeeper
$ kubectl get services -A | grep 'gatekeeper-policy-manager-system'
Wykluczone przestrzenie nazw
Jak pokazano na powyższym obrazku, niektóre zasady mogą nie być stosowane uniwersalnie we wszystkich przestrzeniach nazw lub użytkownikach. Zamiast tego działają na zasadzie białej listy. Na przykład, ograniczenie liveness-probe jest wyłączone z zastosowania do pięciu określonych przestrzeni nazw.
Ominięcie
Mając pełny przegląd konfiguracji Gatekeepera, można zidentyfikować potencjalne błędy konfiguracyjne, które mogą być wykorzystane do uzyskania uprawnień. Szukaj przestrzeni nazw na białej liście lub wykluczonych, gdzie zasada nie ma zastosowania, a następnie przeprowadź atak tam.
Abusing Roles/ClusterRoles in Kubernetes
Wykorzystywanie ValidatingWebhookConfiguration
Innym sposobem na ominięcie ograniczeń jest skupienie się na zasobie ValidatingWebhookConfiguration:
Kubernetes ValidatingWebhookConfiguration
Odniesienia
- https://github.com/open-policy-agent/gatekeeper
- https://github.com/sighupio/gatekeeper-policy-manager
Tip
Ucz się & ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Wspieraj HackTricks
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
HackTricks Cloud

