GCP - Compute Privesc
Last updated
Last updated
Learn & practice AWS Hacking: Learn & practice GCP Hacking:
Za više informacija o Compute i VPC (mreži) u GCP proverite:
Imajte na umu da je za izvođenje svih napada na eskalaciju privilegija koji zahtevaju modifikaciju metapodataka instance (kao što je dodavanje novih korisnika i SSH ključeva) potrebno da imate actAs
dozvole nad SA koja je povezana sa instancom, čak i ako je SA već povezana!
compute.projects.setCommonInstanceMetadata
Sa tom dozvolom možete modifikovati informacije o metapodacima instance i promeniti ovlašćene ključeve korisnika, ili napraviti novog korisnika sa sudo dozvolama. Stoga, moći ćete da se prijavite putem SSH na bilo koju VM instancu i ukradete GCP Service Account sa kojom instanca radi. Ograničenja:
Imajte na umu da GCP Service Accounts koji rade u VM instancama po defaultu imaju veoma ograničen opseg
Moraćete da budete u mogućnosti da kontaktirate SSH server da biste se prijavili
Za više informacija o tome kako iskoristiti ovu dozvolu proverite:
Takođe možete izvesti ovaj napad dodavanjem novog startup-skripta i ponovnim pokretanjem instance:
compute.instances.setMetadata
Ova dozvola daje iste privilegije kao prethodna dozvola ali za specifične instance umesto za ceo projekat. Iste eksploatacije i ograničenja kao za prethodni deo se primenjuju.
compute.instances.setIamPolicy
Ova vrsta dozvole će vam omogućiti da dodelite sebi ulogu sa prethodnim dozvolama i eskalirate privilegije zloupotrebljavajući ih.
compute.instances.osLogin
Ako je OSLogin omogućen na instanci, sa ovom dozvolom možete jednostavno pokrenuti gcloud compute ssh [INSTANCE]
i povezati se na instancu. Nećete imati root privilegije unutar instance.
Da biste se uspešno prijavili sa ovom dozvolom unutar VM instance, potrebno je da imate dozvolu iam.serviceAccounts.actAs
nad SA vezanom za VM.
compute.instances.osAdminLogin
Ako je OSLogin omogućen na instanci, sa ovom dozvolom možete jednostavno pokrenuti gcloud compute ssh [INSTANCE]
i povezati se na instancu. Imaćete root privilegije unutar instance.
Da biste se uspešno prijavili sa ovom dozvolom unutar VM instance, potrebno je da imate dozvolu iam.serviceAccounts.actAs
nad SA vezanom za VM.
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 napraviti virtuelnu mašinu sa dodeljenim Service Account-om i ukrasti token servisa pristupajući metapodacima kako bi se eskalirale privilegije.
osconfig.patchDeployments.create
| osconfig.patchJobs.exec
Napomena da trenutno ne trebate actAs
dozvolu nad SA vezanom za instancu.
Da biste implementirali ispravku:
Napadač takođe može zloupotrebiti ovo za postizanje trajnosti.
compute.machineImages.setIamPolicy
Dodelite sebi dodatne dozvole za računarsku sliku.
compute.snapshots.setIamPolicy
Dodelite sebi dodatne dozvole za snimak diska.
compute.disks.setIamPolicy
Dodelite sebi dodatne dozvole za disk.
Eksploatacijski skript za ovu metodu može se naći .
Ako imate dozvole osconfig.patchDeployments.create
ili osconfig.patchJobs.exec
možete kreirati . Ovo će vam omogućiti da se lateralno krećete u okruženju i dobijete izvršenje koda na svim instancama za obradu unutar projekta.
Ako želite ručno da iskoristite ovo, potrebno je da kreirate ili ili . Za patch job pokrenite:
The tool se ranije mogao koristiti za iskorišćavanje ove pogrešne konfiguracije (ali sada ne radi).
Prateći ovu vezu, pronaći ćete neke .
Learn & practice AWS Hacking: Learn & practice GCP Hacking:
Check the !
Join the 💬 or the or follow us on Twitter 🐦 .
Share hacking tricks by submitting PRs to the and github repos.