GCP - IAM, Principals & Org Policies Enum
Last updated
Last updated
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Vir 'n inleiding oor wat 'n diensrekening is, kyk:
GCP - Basic Information'n Diensrekening behoort altyd aan 'n projek:
Vir 'n inleiding oor hoe Users & Groups in GCP werk, kyk:
GCP - Basic InformationMet die toestemmings serviceusage.services.enable
en serviceusage.services.use
is dit moontlik om dienste in 'n projek te aktiveer en dit te gebruik.
Let daarop dat Workspace-gebruikers standaard die rol Project Creator toegeken word, wat hulle toegang gee om nuwe projekte te skep. Wanneer 'n gebruiker 'n projek skep, word hy die owner
rol oor dit toegeken. So, hy kan hierdie dienste oor die projek aktiveer om in staat te wees om Workspace te enumere.
Let egter daarop dat dit ook nodig is om voldoende toestemmings in Workspace te hê om hierdie API's aan te roep.
As jy die admin
diens kan aktiveer en as jou gebruiker voldoende voorregte in workspace het, kan jy alle groepe & gebruikers met die volgende lyne enumere.
Selfs al sê dit identity groups
, keer dit ook gebruikers sonder enige groepe:
In die vorige voorbeelde is die parameter --labels
vereis, so 'n generiese waarde word gebruik (dit is nie vereis as jy die API direk gebruik nie soos PurplePanda hier doen.
Selfs met die admin diens geaktiveer, is dit moontlik dat jy 'n fout kry wanneer jy hulle opnoem omdat jou gecompromitteerde werkruimte gebruiker nie genoeg regte het nie:
Kyk hier vir basiese inligting oor IAM.
Volgens die dokumentasie: Wanneer 'n organisasie hulpbron geskep word, word alle gebruikers in jou domein standaard die Billing Account Creator en Project Creator rolle toegeken. Hierdie standaard rolle laat jou gebruikers toe om Google Cloud onmiddellik te begin gebruik, maar is nie bedoel vir gebruik in die gewone werking van jou organisasie hulpbron nie.
Hierdie rolle gee die regte:
billing.accounts.create
en resourcemanager.organizations.get
resourcemanager.organizations.get
en resourcemanager.projects.create
Boonop, wanneer 'n gebruiker 'n projek skep, word hy automaties die eienaar van daardie projek toegeken volgens die dokumentasie. Daarom, standaard, sal 'n gebruiker in staat wees om 'n projek te skep en enige diens daarop te laat loop (miners? Werkruimte opnoeming? ...)
Die hoogste voorreg in 'n GCP Organisasie is die Organisasie Administrateur rol.
In die meeste van die dienste sal jy in staat wees om die regte oor 'n hulpbron te verander deur die metode add-iam-policy-binding
of set-iam-policy
te gebruik. Die hoof verskil is dat add-iam-policy-binding
'n nuwe rol binding byvoeg tot die bestaande IAM beleid terwyl set-iam-policy
die voorheen toegekende regte verwyder en slegs diegene wat in die opdrag aangedui is, stel.
Daar is verskillende maniere om al die toestemmings van 'n gebruiker in verskillende hulpbronne (soos organisasies, vouers, projekte...) te kontroleer met behulp van hierdie diens.
Die toestemming cloudasset.assets.searchAllIamPolicies
kan alle iam beleide binne 'n hulpbron aan vra.
Die toestemming cloudasset.assets.analyzeIamPolicy
kan alle iam-beleide van 'n hoof binne 'n hulpbron aanvra.
Die toestemming cloudasset.assets.searchAllResources
stel in staat om alle hulpbronne van 'n organisasie, gids of projek op te lys. IAM-verwante hulpbronne (soos rolle) ingesluit.
Die toestemming cloudasset.assets.analyzeMove
kan nuttig wees om ook beleide te verkry wat 'n hulpbron soos 'n projek beïnvloed.
Ek neem aan die toestemming cloudasset.assets.queryIamPolicy
kan ook toegang gee om toestemmings van principals te vind
As jy nie toegang tot IAM-inligting kan verkry nie met die vorige metodes en jy is in 'n Red Team. Jy kan die hulpmiddel https://github.com/carlospolop/bf_my_gcp_perms gebruik om jou huidige toestemmings te brute-force.
Let egter daarop dat die diens cloudresourcemanager.googleapis.com
geaktiveer moet wees.
Op die volgende bladsy kan jy kyk hoe om IAM-toestemmings te misbruik om voorregte te verhoog:
GCP - IAM PrivescAs jy hoë voorregte het, kan jy:
Nuwe SA's (of gebruikers as in Workspace) skep
Principals wat deur jouself beheer word, meer toestemmings gee
Meer voorregte aan kwesbare SA's gee (SSRF in vm, kwesbare Cloud Function…)
…
Vir 'n inleiding oor wat Organisasiebeleide is, kyk:
GCP - Basic InformationDie IAM-beleide dui die toestemmings aan wat principals oor hulpbronne het via rolle, wat granular toestemmings toegeken word. Organisasiebeleide beperk hoe daardie dienste gebruik kan word of watter funksies gedeaktiveer is. Dit help om die minste voorregte van elke hulpbron in die GCP-omgewing te verbeter.
In die volgende bladsy kan jy kyk hoe om org beleidstoestemmings te misbruik om voorregte te verhoog:
GCP - Orgpolicy PrivescLeer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)