GCP - Mkononi & GKE Enum

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

Mkononi

Katika GCP makontena unaweza kupata huduma nyingi zinazotolewa na GCP, hapa unaweza kuona jinsi ya kuhesabu zile za kawaida zaidi:

bash
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

Katika ukurasa ufuatao unaweza kuangalia jinsi ya kudhulumu ruhusa za kontena ili kupandisha mamlaka:

GCP - Container Privesc

Node Pools

Hizi ni kundi la mashine (nodes) zinazounda vikundi vya kubernetes.

bash
# 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

Kwa maelezo kuhusu nini Kubernetes angalia ukurasa huu:

Kubernetes Pentesting

Kwanza, unaweza kuangalia kama kuna vikundi vyovyote vya Kubernetes vinavyokuwepo katika mradi wako.

gcloud container clusters list

Ikiwa una klasta, unaweza kufanya gcloud kuunda kiotomatiki faili yako ya ~/.kube/config. Faili hii inatumika kukuthibitisha unapoitumia kubectl, CLI asilia ya kuingiliana na klasta za K8s. Jaribu amri hii.

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

Kisha, angalia faili ya ~/.kube/config kuona akreditivu zilizozalishwa. Faili hii itatumika kuimarisha tiketi za ufikiaji kiotomatiki kulingana na kitambulisho sawa ambacho kikao chako cha gcloud kinatumia. Hii kwa hakika inahitaji ruhusa sahihi kuwepo.

Mara hii imewekwa, unaweza kujaribu amri ifuatayo kupata usanidi wa klasta.

kubectl cluster-info

Unaweza kusoma zaidi kuhusu gcloud kwa ajili ya kontena hapa.

Hii ni script rahisi ya kuorodhesha kubernetes katika GCP: https://gitlab.com/gitlab-com/gl-security/security-operations/gl-redteam/gcp_k8s_enum

TLS Boostrap Privilege Escalation

Awali, mbinu hii ya kupandisha hadhi iliruhusu privesc ndani ya GKE cluster ikimuwezesha mshambuliaji kuiharibu kabisa.

Hii ni kwa sababu GKE inatoa TLS Bootstrap credentials katika metadata, ambayo ni inayopatikana na mtu yeyote kwa kuharibu pod tu.

Mbinu iliyotumika inaelezewa katika machapisho yafuatayo:

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

Hata kama API haiwezeshi kubadilisha rasilimali, inaweza kuwa inawezekana kupata taarifa nyeti katika jibu. Kituo /pods kilipatikana kwa kutumia Kiterunner.

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