GCP - Compute Privesc

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Računari

Za više informacija o Računarima i VPC (mreži) u GCP-u proverite:

pageGCP - Compute Enum

compute.projects.setCommonInstanceMetadata

Sa ovom dozvolom možete izmeniti informacije o metapodacima instance i promeniti ovlašćene ključeve korisnika, ili kreirati novog korisnika sa sudo ovlašćenjima. Na taj način, moći ćete da se povežete putem SSH-a na bilo koju VM instancu i ukrasti GCP Service Account sa kojim se instanca izvršava. Ograničenja:

  • Imajte na umu da GCP Service Accounts koji se izvršavaju u VM instancama podrazumevano imaju veoma ograničen opseg

  • Morate biti u mogućnosti da kontaktirate SSH server da biste se prijavili

Za više informacija o tome kako iskoristiti ovu dozvolu proverite:

pageGCP - Add Custom SSH Metadata

compute.instances.setMetadata

Ova dozvola daje iste privilegije kao i prethodna dozvola ali nad specifičnim instancama umesto celog projekta. Isti eksploiti i ograničenja kao i za prethodni deo se primenjuju.

compute.instances.setIamPolicy

Ova vrsta dozvole će vam omogućiti da dodelite sebi ulogu sa prethodnim privilegijama i eskalirate privilegije zloupotrebom njih.

compute.instances.osLogin

Ako je OSLogin omogućen na instanci, sa ovom dozvolom možete jednostavno pokrenuti gcloud compute ssh [INSTANCA] i povezati se sa instancom. Nećete imati root privilegije unutar instance.

compute.instances.osAdminLogin

Ako je OSLogin omogućen na instanci, sa ovom dozvolom možete jednostavno pokrenuti gcloud compute ssh [INSTANCA] i povezati se sa instancom. Imateće root privilegije unutar instance.

compute.instances.create,iam.serviceAccounts.actAs, compute.disks.create, compute.instances.create, compute.instances.setMetadata, compute.instances.setServiceAccount, compute.subnetworks.use, compute.subnetworks.useExternalIp

Moguće je kreirati virtuelnu mašinu sa dodeljenim Service Account-om i ukrasti token servisnog naloga pristupajući metapodacima kako biste eskalirali privilegije na njega.

Skripta za eksploataciju ovog metoda može se pronaći ovde.

osconfig.patchDeployments.create | osconfig.patchJobs.exec

Ako imate dozvole osconfig.patchDeployments.create ili osconfig.patchJobs.exec možete kreirati posao ili implementaciju zakrpe. Ovo će vam omogućiti da se lateralno krećete u okruženju i steknete izvršenje koda na svim računarskim instancama unutar projekta.

Ako želite ručno iskoristiti ovo, moraćete kreirati ili posao za zakrpu ili implementaciju za pokretanje posla za zakrpu:

gcloud compute os-config patch-jobs execute --file=patch.json

Za implementaciju zakrpe:

gcloud compute os-config patch-deployments create my-update --file=patch.json

Automatizovani alati poput patchy postoje kako bi detektovali labave dozvole i automatski se kretali lateralno.

Takođe možete zloupotrebiti ovo za perzistenciju.

compute.machineImages.setIamPolicy

Dodelite sebi dodatne privilegije za sliku računara.

compute.snapshots.setIamPolicy

Dodelite sebi dodatne privilegije za snimak diska.

compute.disks.setIamPolicy

Dodelite sebi dodatne privilegije za disk.

Bypass Access Scopes

Klikom na ovaj link možete pronaći neke ideje kako probati da zaobiđete pristupne opsege.

Lokalna eskalacija privilegija na GCP računarskoj instanci

pageGCP - local privilege escalation ssh pivoting

Reference

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Last updated