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)
Kwa utangulizi kuhusu nini akaunti ya huduma angalia:
Akaunti ya huduma kila wakati inahusishwa na mradi:
Kwa utangulizi kuhusu jinsi Watumiaji & Vikundi vinavyofanya kazi katika GCP angalia:
Kwa ruhusa serviceusage.services.enable
na serviceusage.services.use
inawezekana kuwezesha huduma katika mradi na kuzitumia.
Kumbuka kwamba kwa default, watumiaji wa Workspace wanapewa jukumu la Mundaji wa Mradi, ambalo linawapa ufikiaji wa kuunda miradi mipya. Wakati mtumiaji anaunda mradi, anapewa jukumu la mwenye
juu yake. Hivyo, anaweza kuwezesha huduma hizi juu ya mradi ili kuweza kuhesabu Workspace.
Hata hivyo, zingatia kwamba pia inahitajika kuwa na ruhusa za kutosha katika Workspace ili kuweza kuita API hizi.
Ikiwa unaweza kuwezesha huduma ya admin
na ikiwa mtumiaji wako ana ruhusa za kutosha katika workspace, unaweza kuhesabu vikundi vyote & watumiaji kwa mistari ifuatayo.
Hata kama inasema identity groups
, pia inarudisha watumiaji bila vikundi vyovyote:
Katika mifano ya awali, param --labels
inahitajika, hivyo thamani ya jumla inatumika (haitahitajika ikiwa umetumia API moja kwa moja kama PurplePanda anavyofanya hapa.
Hata na huduma ya admin ikiwa imewezeshwa, inawezekana ukapata kosa wakati wa kuorodhesha kwa sababu mtumiaji wako aliyeathirika wa workspace hana ruhusa za kutosha:
Angalia hii kwa taarifa za msingi kuhusu IAM.
Kutoka kwenye docs: Wakati rasilimali ya shirika inaundwa, watumiaji wote katika eneo lako wanapewa nafasi za Mundaji wa Akaunti ya Malipo na Mundaji wa Mradi kwa kawaida. Nafasi hizi za kawaida zinawaruhusu watumiaji wako kuanza kutumia Google Cloud mara moja, lakini hazikusudiwi kutumika katika operesheni ya kawaida ya rasilimali yako ya shirika.
Nafasi hizi zinatoa ruhusa:
billing.accounts.create
na resourcemanager.organizations.get
resourcemanager.organizations.get
na resourcemanager.projects.create
Zaidi ya hayo, wakati mtumiaji anaunda mradi, yeye anapewa umiliki wa mradi huo moja kwa moja kulingana na docs. Hivyo, kwa kawaida, mtumiaji ataweza kuunda mradi na kuendesha huduma yoyote juu yake (madini? Kuorodhesha workspace? ...)
Ruhusa ya juu katika Shirika la GCP ni nafasi ya Meneja wa Shirika.
Katika huduma nyingi utaweza kubadilisha ruhusa juu ya rasilimali kwa kutumia njia add-iam-policy-binding
au set-iam-policy
. Tofauti kuu ni kwamba add-iam-policy-binding
inaongeza uhusiano mpya wa nafasi kwenye sera ya IAM iliyopo wakati set-iam-policy
it afuta ruhusa zilizotolewa awali na kuweka tu zile zilizotajwa katika amri.
Kuna njia tofauti za kuangalia ruhusa zote za mtumiaji katika rasilimali tofauti (kama vile mashirika, folda, miradi...) kwa kutumia huduma hii.
Ruhusa cloudasset.assets.searchAllIamPolicies
inaweza kuomba sera zote za iam ndani ya rasilimali.
Ruhusa cloudasset.assets.analyzeIamPolicy
inaweza kuomba sera zote za iam za kiongozi ndani ya rasilimali.
Ruhusa cloudasset.assets.searchAllResources
inaruhusu kuorodhesha rasilimali zote za shirika, folda, au mradi. Rasilimali zinazohusiana na IAM (kama vile majukumu) zimejumuishwa.
Ruhusa cloudasset.assets.analyzeMove
inaweza kuwa na manufaa pia kupata sera zinazohusiana na rasilimali kama mradi.
Nadhani ruhusa cloudasset.assets.queryIamPolicy
inaweza pia kutoa ufikiaji wa kutafuta ruhusa za wakuu
Ikiwa huwezi kupata taarifa za IAM kwa kutumia mbinu zilizopita na uko katika Timu Nyekundu. Unaweza kutumia chombo https://github.com/carlospolop/bf_my_gcp_perms kujaribu nguvu ruhusa zako za sasa.
Hata hivyo, kumbuka kwamba huduma cloudresourcemanager.googleapis.com
inahitaji kuwezeshwa.
Katika ukurasa ufuatao unaweza kuangalia jinsi ya kutumia ruhusa za IAM kuboresha mamlaka:
Ikiwa una mamlaka ya juu unaweza:
Kuunda SAs mpya (au watumiaji ikiwa uko katika Workspace)
Kutoa wahusika wanaodhibitiwa na wewe ruhusa zaidi
Kutoa mamlaka zaidi kwa SAs zenye udhaifu (SSRF katika vm, vuln Cloud Function…)
…
Kwa utangulizi kuhusu nini Org Policies ni angalia:
Sera za IAM zinaonyesha ruhusa wahusika walizonazo juu ya rasilimali kupitia majukumu, ambayo yanapewa ruhusa za kina. Sera za shirika zinapunguza jinsi huduma hizo zinaweza kutumika au ni vipengele gani vilivyokatwa. Hii inasaidia kuboresha kiwango cha chini cha mamlaka ya kila rasilimali katika mazingira ya GCP.
Katika ukurasa ufuatao unaweza kuangalia jinsi ya kudhulumu ruhusa za sera za shirika ili kupandisha mamlaka:
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)