GCP - IAM, Principals & Org Policies Enum
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 uvod o tome šta je servisni nalog, pogledajte:
GCP - Basic InformationServisni nalog uvek pripada projektu:
Za uvod o tome kako funkcionišu Korisnici i Grupe u GCP pogledajte:
GCP - Basic InformationSa dozvolama serviceusage.services.enable
i serviceusage.services.use
moguće je omogućiti usluge u projektu i koristiti ih.
Imajte na umu da se po defaultu, korisnicima Workspace-a dodeljuje uloga Kreator Projekta, što im omogućava da kreiraju nove projekte. Kada korisnik kreira projekat, dodeljuje mu se uloga owner
. Tako da može omogućiti ove usluge nad projektom kako bi mogao da enumeriše Workspace.
Međutim, primetite da je takođe potrebno imati dovoljno dozvola u Workspace-u da bi mogli da pozovu ove API-je.
Ako možete omogućiti admin
uslugu i ako vaš korisnik ima dovoljno privilegija u workspace-u, mogli biste enumerisati sve grupe i korisnike sa sledećim linijama.
Čak i ako se kaže identity groups
, takođe vraća korisnike bez ikakvih grupa:
U prethodnim primerima parametar --labels
je obavezan, pa se koristi generička vrednost (nije obavezan ako koristite API direktno kao PurplePanda to radi ovde.
Čak i sa omogućenom admin uslugom, moguće je da dobijete grešku prilikom njihovog enumerisanja jer vaš kompromitovani korisnik radnog prostora nema dovoljno dozvola:
Proverite ovo za osnovne informacije o IAM.
Iz dokumentacije: Kada se kreira resurs organizacije, svim korisnicima u vašem domenu se podrazumevano dodeljuju uloge Kreator računa za naplatu i Kreator projekta. Ove podrazumevane uloge omogućavaju vašim korisnicima da odmah počnu da koriste Google Cloud, ali nisu namenjene za redovno korišćenje resursa vaše organizacije.
Ove uloge dodeljuju dozvole:
billing.accounts.create
i resourcemanager.organizations.get
resourcemanager.organizations.get
i resourcemanager.projects.create
Štaviše, kada korisnik kreira projekat, on je automatski dodeljen kao vlasnik tog projekta prema dokumentaciji. Stoga, podrazumevano, korisnik će moći da kreira projekat i pokrene bilo koju uslugu na njemu (rudari? enumeracija radnog prostora? ...)
Najviša privilegija u GCP organizaciji je uloga Administrator organizacije.
U većini usluga moći ćete da promenite dozvole nad resursom koristeći metodu add-iam-policy-binding
ili set-iam-policy
. Glavna razlika je u tome što add-iam-policy-binding
dodaje novo vezivanje uloge postojećoj IAM politici, dok set-iam-policy
briše prethodno dodeljene dozvole i postavlja samo one koje su naznačene u komandi.
Postoje različiti načini da se provere sve dozvole korisnika u različitim resursima (kao što su organizacije, fascikle, projekti...) koristeći ovu uslugu.
Dozvola cloudasset.assets.searchAllIamPolicies
može zatražiti sve iam politike unutar resursa.
Dozvola cloudasset.assets.analyzeIamPolicy
može zatražiti sve iam politike jednog subjekta unutar resursa.
Dozvola cloudasset.assets.searchAllResources
omogućava listanje svih resursa organizacije, foldera ili projekta. Resursi povezani sa IAM-om (kao što su uloge) su uključeni.
Dozvola cloudasset.assets.analyzeMove
može biti korisna za dobijanje politika koje utiču na resurs kao što je projekat
Pretpostavljam da bi dozvola cloudasset.assets.queryIamPolicy
takođe mogla omogućiti pristup pronalaženju dozvola principala
Ako ne možete pristupiti IAM informacijama koristeći prethodne metode i nalazite se u Red Team-u. Možete koristiti alat https://github.com/carlospolop/bf_my_gcp_perms da brute-force-ujete svoje trenutne dozvole.
Međutim, imajte na umu da servis cloudresourcemanager.googleapis.com
treba biti omogućen.
Na sledećoj stranici možete proveriti kako da zloupotrebite IAM dozvole za eskalaciju privilegija:
GCP - IAM PrivescAko imate visoke privilegije mogli biste:
Kreirati nove SAs (ili korisnike ako ste u Workspace-u)
Dati principima koje kontrolišete više dozvola
Dati više privilegija ranjivim SAs (SSRF u vm, ranjiva Cloud Function…)
…
Za uvod o tome šta su Org Policies proverite:
GCP - Basic InformationIAM politike ukazuju na dozvole koje principi imaju nad resursima putem uloga, koje dodeljuju granularne dozvole. Politike organizacije ograničavaju kako se ti servisi mogu koristiti ili koje funkcije su onemogućene. Ovo pomaže u poboljšanju minimalnih privilegija svakog resursa u GCP okruženju.
Na sledećoj stranici možete proveriti kako da zloupotrebite dozvole org politika za eskalaciju privilegija:
GCP - Orgpolicy PrivescUčite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)