GCP - Compute Privesc
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
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.
Eksploatacijski skript za ovu metodu može se naći ovde.
osconfig.patchDeployments.create
| osconfig.patchJobs.exec
Ako imate dozvole osconfig.patchDeployments.create
ili osconfig.patchJobs.exec
možete kreirati patch job ili deployment. 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.
Napomena da trenutno ne trebate actAs
dozvolu nad SA vezanom za instancu.
Ako želite ručno da iskoristite ovo, potrebno je da kreirate ili patch job ili deployment. Za patch job pokrenite:
Da biste implementirali ispravku:
The tool patchy se ranije mogao koristiti za iskorišćavanje ove pogrešne konfiguracije (ali sada ne radi).
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.
Prateći ovu vezu, pronaći ćete neke ideje za pokušaj obilaženja pristupnih opsega.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)