Kubernetes OPA Gatekeeper bypass
Tip
Aprenda e pratique AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoie o HackTricks
- Check the subscription plans!
- Participe do 💬 Discord group ou do telegram group ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe hacking tricks enviando PRs para os HackTricks e HackTricks Cloud github repos.
O autor original desta página é Guillaume
Abusando de má configuração
Enumerar regras
Ter uma visão geral pode ajudar a saber quais regras estão ativas, em qual modo e quem pode contorná-las.
Com o 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 e Constraint podem ser usados no Open Policy Agent (OPA) Gatekeeper para impor regras em recursos do Kubernetes.
$ kubectl get constrainttemplates
$ kubectl get k8smandatorylabels
Com a GUI
Uma Interface Gráfica do Usuário também pode estar disponível para acessar as regras OPA com Gatekeeper Policy Manager. É “uma UI web simples de somente leitura para visualizar o status das políticas OPA Gatekeeper em um Cluster Kubernetes.”

Procure pelo serviço exposto:
$ kubectl get services -A | grep gatekeeper
$ kubectl get services -A | grep 'gatekeeper-policy-manager-system'
Namespaces excluídos
Como ilustrado na imagem acima, certas regras podem não ser aplicadas universalmente em todos os namespaces ou usuários. Em vez disso, elas operam com base em uma lista de permissões. Por exemplo, a restrição liveness-probe é excluída da aplicação nos cinco namespaces especificados.
Bypass
Com uma visão abrangente da configuração do Gatekeeper, é possível identificar possíveis configurações incorretas que podem ser exploradas para obter privilégios. Procure por namespaces na lista de permissões ou excluídos onde a regra não se aplica e, em seguida, execute seu ataque lá.
Abusing Roles/ClusterRoles in Kubernetes
Abusando do ValidatingWebhookConfiguration
Outra maneira de contornar as restrições é focar no recurso ValidatingWebhookConfiguration:
Kubernetes ValidatingWebhookConfiguration
Referências
- https://github.com/open-policy-agent/gatekeeper
- https://github.com/sighupio/gatekeeper-policy-manager
Tip
Aprenda e pratique AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoie o HackTricks
- Check the subscription plans!
- Participe do 💬 Discord group ou do telegram group ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe hacking tricks enviando PRs para os HackTricks e HackTricks Cloud github repos.
HackTricks Cloud

