GCP - Containers, GKE & Composer Enum
Houers
In GCP-houers kan jy die meeste van die houersgebaseerde dienste wat GCP bied, vind. Hier kan jy sien hoe om die mees algemene eenhede op te som:
Privesc
In die volgende bladsy kan jy sien hoe om houer toestemmings te misbruik om voorregte te verhoog:
Node Pools
Dit is die groep masjiene (nodes) wat die kubernetes-klusters vorm.
Komponis
Dit is die GCP-bestuurde weergawe van Airflow.
Privesc
In die volgende bladsy kan jy sien hoe om komponis-toestemmings te misbruik om voorregte te verhoog:
Kubernetes
Vir inligting oor wat Kubernetes is, kyk na hierdie bladsy:
Eerstens kan jy kyk of daar enige Kubernetes-klusters in jou projek bestaan.
As jy 'n groep het, kan jy gcloud
outomaties jou ~/.kube/config
lêer konfigureer. Hierdie lêer word gebruik om jou te outentiseer wanneer jy kubectl gebruik, die inheemse CLI vir interaksie met K8s groepe. Probeer hierdie bevel.
Neem dan 'n kykie na die ~/.kube/config
lêer om die gegenereerde geloofsbriewe te sien. Hierdie lêer sal gebruik word om toegangstokens outomaties te hernu gebaseer op dieselfde identiteit wat jou aktiewe gcloud
sessie gebruik. Dit vereis natuurlik die korrekte toestemmings.
Sodra dit opgestel is, kan jy die volgende bevel probeer om die klasterkonfigurasie te kry.
Jy kan meer lees oor gcloud
vir houers hier.
Dit is 'n eenvoudige skripsie om kubernetes in GCP te ondersoek: 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 uit te voer en dit moontlik gemaak vir 'n aanvaller om dit volledig te kompromitteer.
Dit is omdat GKE TLS Bootstrap-legitimasie in die metadata voorsien, wat toeganklik is vir enigiemand wat 'n houer kompromitteer.
Die tegniek wat gebruik word, word verduidelik in die volgende plasings:
En hierdie instrument is geskep om die proses te outomatiseer: https://github.com/4ARMED/kubeletmein
Tog het die tegniek misbruik gemaak van die feit dat met die metadata-legitimasie dit moontlik was om 'n CSR (Certificate Signing Request) vir 'n nuwe node te genereer, wat outomaties goedgekeur is. In my toets het ek vasgestel dat daardie versoeke nie meer outomaties goedgekeur word nie, so ek is nie seker of hierdie tegniek nog geldig is nie.
Geheime in Kubelet API
In hierdie pos is daar ontdek dat daar 'n Kubelet API-adres is wat toeganklik is van binne 'n houer in GKE en die besonderhede van die houers wat loop, verskaf:
Selfs as die API nie toelaat om hulpbronne te wysig nie, kan dit moontlik wees om sensitiewe inligting in die respons te vind. Die eindpunt /pods is gevind met behulp van Kiterunner.
Last updated