From 80a672f70b06feefaeadc4259a067026a11b6471 Mon Sep 17 00:00:00 2001 From: Translator Date: Sat, 15 Nov 2025 11:48:46 +0000 Subject: [PATCH] Translated ['', 'src/pentesting-cloud/gcp-security/gcp-privilege-escalat --- .../gcp-misc-perms-privesc.md | 19 ++++++++------ .../gcp-orgpolicy-privesc.md | 25 ++++++++++++++++++- 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-misc-perms-privesc.md b/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-misc-perms-privesc.md index f59fa61a9..0a76a99ef 100644 --- a/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-misc-perms-privesc.md +++ b/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-misc-perms-privesc.md @@ -1,25 +1,30 @@ -# GCP - Generic Permissions Privesc +# GCP - Ruhusa za Kawaida Privesc {{#include ../../../banners/hacktricks-training.md}} -## Generic Interesting Permissions +## Ruhusa za Kawaida Zinazovutia ### \*.setIamPolicy -Ikiwa unamiliki mtumiaji ambaye ana ruhusa ya **`setIamPolicy`** katika rasilimali, unaweza **kuinua mamlaka katika rasilimali hiyo** kwa sababu utaweza kubadilisha sera ya IAM ya rasilimali hiyo na kukupa mamlaka zaidi juu yake.\ -Ruhusa hii pia inaweza kuruhusu **kuinuka kwa wakuu wengine** ikiwa rasilimali inaruhusu kutekeleza msimbo na iam.ServiceAccounts.actAs si muhimu. +Ikiwa una mtumiaji aliye na ruhusa ya **`setIamPolicy`** kwenye rasilimali, unaweza **escalate privileges in that resource** kwa sababu utaweza kubadilisha sera ya IAM ya rasilimali hiyo na kujipa ruhusa zaidi juu yake.\ +Ruhusa hii pia inaweza kuruhusu **escalate to other principals** ikiwa rasilimali inaruhusu kutekeleza code na `iam.ServiceAccounts.actAs` si lazima. - _cloudfunctions.functions.setIamPolicy_ - Badilisha sera ya Cloud Function ili kujiruhusu kuitisha. -Kuna aina kumi za rasilimali zenye aina hii ya ruhusa, unaweza kuziona zote katika [https://cloud.google.com/iam/docs/permissions-reference](https://cloud.google.com/iam/docs/permissions-reference) ukitafuta setIamPolicy. +Kuna aina nyingi za rasilimali zenye ruhusa ya aina hii; unaweza kuzipata zote kwenye [https://cloud.google.com/iam/docs/permissions-reference] ukitafuta setIamPolicy. ### \*.create, \*.update -Ruhusa hizi zinaweza kuwa muhimu sana kujaribu kuinua mamlaka katika rasilimali kwa **kuunda mpya au kuboresha mpya**. Aina hizi za ruhusa ni muhimu hasa ikiwa pia una ruhusa ya **iam.serviceAccounts.actAs** juu ya Akaunti ya Huduma na rasilimali unayo .create/.update juu yake inaweza kuambatisha akaunti ya huduma. +Ruhusa hizi zinaweza kuwa muhimu sana kujaribu kupandisha ruhusa katika rasilimali kwa **kuunda rasilimali mpya au kusasisha rasilimali mpya**. Aina hizi za ruhusa zinakuwa muhimu hasa ikiwa pia una ruhusa **iam.serviceAccounts.actAs** juu ya Service Account na rasilimali unayo .create/.update juu yake inaweza kuambatanisha Service Account. ### \*ServiceAccount\* -Ruhusa hii kwa kawaida itakuruhusu **kufikia au kubadilisha Akaunti ya Huduma katika rasilimali fulani** (e.g.: compute.instances.setServiceAccount). Hii **inaweza kupelekea njia ya kuinua mamlaka**, lakini itategemea kila kesi. +Ruhusa hii kwa kawaida itakuwezesha **kupata au kubadilisha Service Account katika rasilimali fulani** (mfano: compute.instances.setServiceAccount). Hii **could lead to a privilege escalation** vector, lakini itategemea kila kesi. + +### iam.ServiceAccounts.actAs + +Ruhusa hii itakuwezesha kuambatanisha Service Account kwa rasilimali inayoiunga mkono (mfano: Compute Engine VM, Cloud Function, Cloud Run, n.k.).\ +Ikiwa unaweza kuambatanisha Service Account ambayo ina ruhusa zaidi kuliko mtumiaji wako kwenye rasilimali inayoweza kutekeleza code, utaweza **escalate your privileges** kwa kutekeleza code ukiitumia Service Account hiyo. {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-orgpolicy-privesc.md b/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-orgpolicy-privesc.md index ad05142b2..b4c1eca5a 100644 --- a/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-orgpolicy-privesc.md +++ b/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-orgpolicy-privesc.md @@ -6,7 +6,7 @@ ### `orgpolicy.policy.set` -Mshambuliaji anayenufaika na **orgpolicy.policy.set** anaweza kubadilisha sera za shirika, ambayo itamruhusu kuondoa vizuizi fulani vinavyokwamisha operesheni maalum. Kwa mfano, kizuizi **appengine.disableCodeDownload** kawaida huzuia upakuaji wa msimbo wa chanzo wa App Engine. Hata hivyo, kwa kutumia **orgpolicy.policy.set**, mshambuliaji anaweza kuzima kizuizi hiki, hivyo kupata ufikiaji wa kupakua msimbo wa chanzo, licha ya kuwa awali umeprotected. +Mshambuliaji anayevutia/akitumia `orgpolicy.policy.set` anaweza kubadilisha sera za shirika, ambazo zitamruhusu kuondoa vikwazo fulani vinavyozuia shughuli maalum. Kwa mfano, kizuizi `appengine.disableCodeDownload` kwa kawaida kinazuia kupakuliwa kwa source code ya App Engine. Hata hivyo, kwa kutumia `orgpolicy.policy.set`, mshambuliaji anaweza kuzimisha kizuizi hiki, na hivyo kupata uwezo wa kupakua source code, ingawa ilikuwa imehifadhiwa hapo awali. ```bash # Get info gcloud resource-manager org-policies describe [--folder | --organization | --project ] @@ -16,6 +16,29 @@ gcloud resource-manager org-policies disable-enforce [--folder ``` A python script for this method can be found [here](https://github.com/RhinoSecurityLabs/GCP-IAM-Privilege-Escalation/blob/master/ExploitScripts/orgpolicy.policy.set.py). +### `orgpolicy.policy.set`, `iam.serviceAccounts.actAs` + +Kwa kawaida haiwezekani kuambatisha service account kutoka project tofauti kwenye resource kwa sababu kuna kikomo cha sera kinachotekelezwa kinachoitwa **`iam.disableCrossProjectServiceAccountUsage`** ambacho kinazuia kitendo hiki. + +Inawezekana kuthibitisha kama kikomo hiki kinatekelezwa kwa kuendesha amri ifuatayo: +```bash +gcloud resource-manager org-policies describe \ +constraints/iam.disableCrossProjectServiceAccountUsage \ +--project= \ +--effective + +booleanPolicy: +enforced: true +constraint: constraints/iam.disableCrossProjectServiceAccountUsage +``` +Hii inazuia mshambuliaji kutumia vibaya ruhusa **`iam.serviceAccounts.actAs`** kujifanya akaunti ya huduma kutoka kwenye mradi mwingine bila ruhusa za ziada za miundombinu, kama kuanzisha VM mpya kwa mfano, jambo ambalo lingeweza kusababisha kupandishwa kwa ruhusa. + +Hata hivyo, mshambuliaji aliye na ruhusa **`orgpolicy.policy.set`** anaweza kupita kizuizi hiki kwa kuzima constraint **`iam.disableServiceAccountProjectWideAccess`**. Hii inamwezesha mshambuliaji kuambatisha akaunti ya huduma kutoka kwenye mradi mwingine kwa rasilimali katika mradi wake mwenyewe, na kwa ufanisi kupandisha ruhusa zake. +```bash +gcloud resource-manager org-policies disable-enforce \ +iam.disableCrossProjectServiceAccountUsage \ +--project= +``` ## Marejeo - [https://rhinosecuritylabs.com/cloud-security/privilege-escalation-google-cloud-platform-part-2/](https://rhinosecuritylabs.com/cloud-security/privilege-escalation-google-cloud-platform-part-2/)