# Kubernetes OPA Gatekeeper omseiling

{{#include ../../../banners/hacktricks-training.md}}

**Die oorspronklike skrywer van hierdie bladsy is** [**Guillaume**](https://www.linkedin.com/in/guillaume-chapela-ab4b9a196)

## Misconfigurasie misbruik

### Regels opnoem

Om 'n oorsig te hê, kan help om te weet watter reels aktief is, in watter modus en wie dit kan omseil.

#### Met die CLI
```bash
$ 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** en **Constraint** kan in Open Policy Agent (OPA) Gatekeeper gebruik word om reëls op Kubernetes hulpbronne af te dwing.
```bash
$ kubectl get constrainttemplates
$ kubectl get k8smandatorylabels
```
#### Met die GUI

'n Grafiese gebruikerskoppelvlak mag ook beskikbaar wees om toegang te verkry tot die OPA-reëls met **Gatekeeper Policy Manager.** Dit is "n eenvoudige _lees-slegs_ web UI om die status van OPA Gatekeeper-beleide in 'n Kubernetes-kluster te besigtig."

<figure><img src="../../../images/05-constraints.png" alt=""><figcaption></figcaption></figure>

Soek na die blootgestelde diens :
```bash
$ kubectl get services -A | grep gatekeeper
$ kubectl get services -A | grep 'gatekeeper-policy-manager-system'
```
### Uitsluitingsname ruimtes

Soos geïllustreer in die beeld hierbo, mag sekere reëls nie universeel toegepas word oor alle naam ruimtes of gebruikers nie. In plaas daarvan werk hulle op 'n witlys-basis. Byvoorbeeld, die `liveness-probe` beperking is uitgesluit van toepassing op die vyf gespesifiseerde naam ruimtes.

### Bypass

Met 'n omvattende oorsig van die Gatekeeper-konfigurasie, is dit moontlik om potensiële miskonfigurasies te identifiseer wat uitgebuit kan word om voorregte te verkry. Soek na witlys of uitgeslote naam ruimtes waar die reël nie van toepassing is nie, en voer dan jou aanval daar uit.

{{#ref}}
../abusing-roles-clusterroles-in-kubernetes/
{{#endref}}

## Misbruik van ValidatingWebhookConfiguration

Nog 'n manier om beperkings te omseil, is om op die ValidatingWebhookConfiguration hulpbron te fokus:

{{#ref}}
../kubernetes-validatingwebhookconfiguration.md
{{#endref}}

## Verwysings

- [https://github.com/open-policy-agent/gatekeeper](https://github.com/open-policy-agent/gatekeeper)
- [https://github.com/sighupio/gatekeeper-policy-manager](https://github.com/sighupio/gatekeeper-policy-manager)

{{#include ../../../banners/hacktricks-training.md}}
