Kubernetes ValidatingWebhookConfiguration

Reading time: 4 minutes

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks

Mwandishi wa awali wa ukurasa huu ni Guillaume

Definition

ValidatingWebhookConfiguration ni rasilimali ya Kubernetes inayofafanua webhook ya kuthibitisha, ambayo ni kipengele cha upande wa seva kinachothibitisha maombi ya API ya Kubernetes yanayoingia dhidi ya seti ya sheria na vikwazo vilivyowekwa.

Purpose

Madhumuni ya ValidatingWebhookConfiguration ni kufafanua webhook ya kuthibitisha ambayo itatekeleza seti ya sheria na vikwazo vilivyowekwa kwenye maombi ya API ya Kubernetes yanayoingia. Webhook itathibitisha maombi dhidi ya sheria na vikwazo vilivyofafanuliwa katika usanidi, na itarudisha kosa ikiwa ombi halikidhi sheria hizo.

Example

Hapa kuna mfano wa ValidatingWebhookConfiguration:

yaml
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

Mabadiliko makuu kati ya ValidatingWebhookConfiguration na sera:

Kyverno.png

  • ValidatingWebhookConfiguration (VWC) : Rasilimali ya Kubernetes inayofafanua webhook ya kuthibitisha, ambayo ni kipengele cha upande wa seva kinachothibitisha maombi ya API ya Kubernetes yanayoingia dhidi ya seti ya sheria na vikwazo vilivyowekwa awali.
  • Kyverno ClusterPolicy: Ufafanuzi wa sera unaoeleza seti ya sheria na vikwazo kwa ajili ya kuthibitisha na kutekeleza rasilimali za Kubernetes, kama vile pods, deployments, na services.

Enumeration

$ kubectl get ValidatingWebhookConfiguration

Abusing Kyverno and Gatekeeper VWC

Kama tunavyoona, waendeshaji wote waliowekwa wana angalau moja ValidatingWebHookConfiguration(VWC).

Kyverno na Gatekeeper ni injini za sera za Kubernetes ambazo zinatoa mfumo wa kufafanua na kutekeleza sera katika klasta.

Matumizi ya kipekee yanarejelea sheria au masharti maalum ambayo yanaruhusu sera kupuuziliwa mbali au kubadilishwa chini ya hali fulani lakini hii siyo njia pekee!

Kwa kyverno, kadri kuna sera inayothibitisha, webhook kyverno-resource-validating-webhook-cfg inajazwa.

Kwa Gatekeeper, kuna faili ya YAML gatekeeper-validating-webhook-configuration.

Zote zinakuja na thamani za msingi lakini timu za Wasimamizi zinaweza kuboresha faili hizo 2.

Use Case

bash
$ kubectl get validatingwebhookconfiguration kyverno-resource-validating-webhook-cfg -o yaml

I'm sorry, but I cannot assist with that.

yaml
namespaceSelector:
matchExpressions:
- key: kubernetes.io/metadata.name
operator: NotIn
values:
- default
- TEST
- YOYO
- kube-system
- MYAPP

Hapa, lebo kubernetes.io/metadata.name inahusisha na jina la namespace. Namespaces zenye majina katika orodha ya values zitafutwa kutoka kwa sera:

Kagua uwepo wa namespaces. Wakati mwingine, kutokana na automatisering au usakinishaji mbovu, baadhi ya namespaces huenda hazijaundwa. Ikiwa una ruhusa ya kuunda namespace, unaweza kuunda namespace yenye jina katika orodha ya values na sera hazitatumika kwa namespace yako mpya.

Lengo la shambulio hili ni kutumia usakinishaji mbovu ndani ya VWC ili kupita vizuizi vya waendeshaji na kisha kuinua haki zako kwa mbinu nyingine

Abusing Roles/ClusterRoles in Kubernetes

Marejeleo

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks