GCP - Houers & GKE Enum

Tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Leer & oefen Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks

Houers

In GCP houers kan jy die meeste van die houer-gebaseerde dienste wat GCP bied, vind, hier kan jy sien hoe om die mees algemene eenhede te enumereer:

gcloud container images list
gcloud container images list --repository us.gcr.io/<project-name> #Search in other subdomains repositories
gcloud container images describe <name>
gcloud container subnets list-usable
gcloud container clusters list
gcloud container clusters describe <name>
gcloud container clusters get-credentials [NAME]

# Run a container locally
docker run --rm -ti gcr.io/<project-name>/secret:v1 sh

# Login & Download
sudo docker login -u oauth2accesstoken -p $(gcloud auth print-access-token) https://HOSTNAME
## where HOSTNAME is gcr.io, us.gcr.io, eu.gcr.io, or asia.gcr.io.
sudo docker pull HOSTNAME/<project-name>/<image-name>

Privesc

In die volgende bladsy kan jy kyk hoe om houer toestemmings te misbruik om voorregte te verhoog:

GCP - Container Privesc

Node Pools

Dit is die poel van masjiene (nodes) wat die kubernetes klusters vorm.

# Pool of machines used by the cluster
gcloud container node-pools list --zone <zone> --cluster <cluster>
gcloud container node-pools describe --cluster <cluster> --zone <zone> <node-pool>

Kubernetes

Vir inligting oor wat Kubernetes is, kyk na hierdie bladsy:

Kubernetes Pentesting

Eerstens kan jy kyk of daar enige Kubernetes-klusters in jou projek bestaan.

gcloud container clusters list

As jy ’n kluster het, kan jy gcloud outomaties jou ~/.kube/config lêer konfigureer. Hierdie lêer word gebruik om jou te verifieer wanneer jy kubectl gebruik, die inheemse CLI om met K8s-klusters te kommunikeer. Probeer hierdie opdrag.

gcloud container clusters get-credentials [CLUSTER NAME] --region [REGION]

Kyk dan na die ~/.kube/config lêer om die gegenereerde geloofsbriewe te sien. Hierdie lêer sal gebruik word om toegangstokens outomaties te verfris op grond van dieselfde identiteit wat jou aktiewe gcloud sessie gebruik. Dit vereis natuurlik die korrekte toestemmings.

Sodra dit opgestel is, kan jy die volgende opdrag probeer om die klusterkonfigurasie te verkry.

kubectl cluster-info

U kan meer lees oor gcloud vir houers hier.

Dit is ’n eenvoudige skrip om kubernetes in GCP te enumereer: https://gitlab.com/gitlab-com/gl-security/security-operations/gl-redteam/gcp_k8s_enum

TLS Boostrap Privilege Escalation

Aanvanklik het hierdie voorregverhogingstegniek toegelaat om privesc binne die GKE-kluster wat ’n aanvaller in staat gestel het om dit ten volle te kompromitteer.

Dit is omdat GKE TLS Bootstrap akrediteer in die metadata verskaf, wat toeganklik is vir enigeen deur net ’n pod te kompromitteer.

Die tegniek wat gebruik is, word in die volgende plasings verduidelik:

En hierdie hulpmiddel is geskep om die proses te outomatiseer: https://github.com/4ARMED/kubeletmein

Egter, die tegniek het die feit misbruik dat met die metadata akrediteer dit moontlik was om ’n CSR (Certificate Signing Request) vir ’n nuwe node te genereer, wat outomaties goedgekeur was.
In my toets het ek gekontroleer dat daardie versoeke nie meer outomaties goedgekeur word nie, so ek is nie seker of hierdie tegniek steeds geldig is nie.

Secrets in Kubelet API

In hierdie pos is daar ontdek dat daar ’n Kubelet API adres is wat vanaf binne ’n pod in GKE toeganklik is wat die besonderhede van die lopende pods gee:

curl -v -k http://10.124.200.1:10255/pods

Selfs al die API nie toelaat om hulpbronne te wysig nie, kan dit moontlik wees om sensitiewe inligting in die antwoord te vind. Die eindpunt /pods is gevind met behulp van Kiterunner.

Tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Leer & oefen Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks