GCP - Containers & GKE Enum
Last updated
Last updated
Leer & oefen AWS Hacking:HackTricks Opleiding AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Opleiding GCP Red Team Expert (GRTE)
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:
In die volgende bladsy kan jy kyk hoe om houer toestemmings te misbruik om voorregte te verhoog:
GCP - Container PrivescDit is die poel van masjiene (nodes) wat die kubernetes klusters vorm.
Vir inligting oor wat Kubernetes is, kyk na hierdie bladsy:
Kubernetes PentestingEerstens, kan jy kyk of daar enige Kubernetes-klusters in jou projek bestaan.
As jy 'n kluster het, kan jy gcloud
jou ~/.kube/config
lêer outomaties 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.
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.
You can read more about gcloud
for containers here.
This is a simple script to enumerate kubernetes in GCP: https://gitlab.com/gitlab-com/gl-security/security-operations/gl-redteam/gcp_k8s_enum
Initially this privilege escalation technique allowed to privesc inside the GKE cluster effectively allowing an attacker to fully compromise it.
This is because GKE provides TLS Bootstrap credentials in the metadata, which is accessible by anyone by just compromising a pod.
The technique used is explained in the following posts:
Ans this tool was created to automate the process: https://github.com/4ARMED/kubeletmein
However, the technique abused the fact that with the metadata credentials it was possible to generate a CSR (Certificate Signing Request) for a new node, which was automatically approved. In my test I checked that daardie versoeke word nie meer outomaties goedgekeur nie, so I'm not sure if this technique is still valid.
In this post it was discovered it was discovered a Kubelet API address accesible from inside a pod in GKE giving the details of the pods running:
Selfs al die API toelaat nie 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.
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)