GCP - IAM, Principals & Org Policies Enum
Last updated
Last updated
Za uvod o tome šta je servisni nalog proverite:
Servisni nalog uvek pripada projektu:
Za uvod o tome kako korisnici i grupe funkcionišu u GCP proverite:
Sa dozvolama serviceusage.services.enable
i serviceusage.services.use
moguće je omogućiti usluge u projektu i koristiti ih.
Imajte na umu da su korisnicima Workspace-a podrazumevano dodeljene uloge Kreator projekta, što im omogućava pristup kreiranju novih projekata. Kada korisnik kreira projekat, dodeljena mu je uloga owner
nad njim. Dakle, može omogućiti ove usluge nad projektom kako bi mogao da enumeriše Workspace.
Međutim, imajte na umu da je takođe potrebno imati dovoljno dozvola u Workspace-u kako biste mogli da pozovete ove API-je.
Ako možete omogućiti uslugu admin
i ako vaš korisnik ima dovoljno privilegija u Workspace-u, možete enumerisati sve grupe i korisnike sa sledećim linijama.
Čak i ako 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 potreban ako koristite API direktno kao što PurplePanda radi ovde.
Čak i sa omogućenom admin uslugom, moguće je da dobijete grešku prilikom numerisanja jer vaš kompromitovani korisnik workspace-a nema dovoljno dozvola:
Proverite ovde osnovne informacije o IAM-u.
Iz dokumenata: Kada se kreira resurs organizacije, svi korisnici u vašem domenu automatski dobijaju 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 organizacije.
Ove uloge dodeljuju dozvole:
billing.accounts.create
i resourcemanager.organizations.get
resourcemanager.organizations.get
i resourcemanager.projects.create
Pored toga, kada korisnik kreira projekat, automatski postaje vlasnik tog projekta prema dokumentima. Dakle, podrazumevano, korisnik će moći da kreira projekat i pokrene bilo koju uslugu na njemu (rudari? Enumeracija Workspace-a? ...)
Najveći privilegija u GCP organizaciji je uloga Administratora 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 novu ulogu postojećoj IAM politici dok će set-iam-policy
obrisati prethodno dodeljene dozvole i postaviti samo one navedene 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 zahtevati sve iam politike unutar resursa.
Dozvola cloudasset.assets.analyzeIamPolicy
može zatražiti sve iam politike glavnog subjekta unutar resursa.
Dozvola cloudasset.assets.searchAllResources
omogućava listanje svih resursa organizacije, fascikle ili projekta. Uključeni su resursi povezani sa IAM-om (kao što su uloge).
Dozvola cloudasset.assets.analyzeMove
može biti korisna i za dobijanje politika koje utiču na resurs poput projekta
Pretpostavljam da dozvola cloudasset.assets.queryIamPolicy
takođe može omogućiti pristup pronalaženju dozvola principala
Ako ne možete pristupiti informacijama o IAM koristeći prethodne metode i ako ste u Crvenom timu, možete koristiti alat https://github.com/carlospolop/bf_my_gcp_perms za grubo testiranje vaših trenutnih dozvola.
Međutim, imajte na umu da je potrebno omogućiti uslugu cloudresourcemanager.googleapis.com
.
Na sledećoj stranici možete proveriti kako zloupotrebiti IAM dozvole za eskalaciju privilegija:
Ako imate visoke privilegije, možete:
Kreirati nove servisne naloge (ili korisnike ako ste u Workspace-u)
Dati principale koje kontrolišete više dozvola
Dati više privilegija ranjivim servisnim nalozima (SSRF u vm, ranjiva Cloud funkcija...)
...
Za uvod u to šta su Org Politike, pogledajte:
IAM politike ukazuju na dozvole koje principali imaju nad resursima putem uloga, koje dodeljuju granularne dozvole. Organizacione politike ograničavaju način korišćenja tih usluga ili onemogućavaju određene funkcije. Ovo pomaže u poboljšanju najmanjih privilegija svakog resursa u GCP okruženju.
Na sledećoj stranici možete proveriti kako zloupotrebiti dozvole org politika za eskalaciju privilegija: