Kubernetes OPA Gatekeeper bypass
Last updated
Last updated
Der ursprüngliche Autor dieser Seite ist Guillaume
Einen Überblick zu haben, kann helfen zu wissen, welche Regeln aktiv sind, in welchem Modus und wer sie umgehen kann.
ConstraintTemplate und Constraint können im Open Policy Agent (OPA) Gatekeeper verwendet werden, um Regeln für Kubernetes-Ressourcen durchzusetzen.
Eine grafische Benutzeroberfläche kann ebenfalls verfügbar sein, um auf die OPA-Regeln mit Gatekeeper Policy Manager zuzugreifen. Es ist "eine einfache schreibgeschützte Web-UI zur Anzeige des Status der OPA Gatekeeper-Richtlinien in einem Kubernetes-Cluster."
Suchen Sie nach dem exponierten Dienst:
Wie im obigen Bild dargestellt, können bestimmte Regeln nicht universell auf alle Namespaces oder Benutzer angewendet werden. Stattdessen funktionieren sie auf einer Whitelist-Basis. Zum Beispiel ist die liveness-probe
-Einschränkung von der Anwendung auf die fünf angegebenen Namespaces ausgeschlossen.
Mit einem umfassenden Überblick über die Gatekeeper-Konfiguration ist es möglich, potenzielle Fehlkonfigurationen zu identifizieren, die ausgenutzt werden könnten, um Privilegien zu erlangen. Suchen Sie nach auf die Whitelist gesetzten oder ausgeschlossenen Namespaces, in denen die Regel nicht gilt, und führen Sie dann Ihren Angriff dort durch.
Abusing Roles/ClusterRoles in KubernetesEine weitere Möglichkeit, Einschränkungen zu umgehen, besteht darin, sich auf die ValidatingWebhookConfiguration-Ressource zu konzentrieren :
Kubernetes ValidatingWebhookConfiguration