GCP - Orgpolicy Privesc

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks

orgpolicy

orgpolicy.policy.set

Un attaquant disposant de orgpolicy.policy.set peut manipuler les policies organisationnelles, ce qui lui permettra de supprimer certaines restrictions empĂȘchant certaines opĂ©rations. Par exemple, la contrainte appengine.disableCodeDownload bloque gĂ©nĂ©ralement le tĂ©lĂ©chargement du code source App Engine. Cependant, en utilisant orgpolicy.policy.set, un attaquant peut dĂ©sactiver cette contrainte, obtenant ainsi l’accĂšs au tĂ©lĂ©chargement du code source, malgrĂ© sa protection initiale.

Récupérer les informations d'orgpolicy et désactiver l'application des contraintes ```bash # Get info gcloud resource-manager org-policies describe [--folder | --organization | --project ]

Disable

gcloud resource-manager org-policies disable-enforce [–folder | –organization | –project ]

</details>

Un script python pour cette mĂ©thode peut ĂȘtre trouvĂ© [ici](https://github.com/RhinoSecurityLabs/GCP-IAM-Privilege-Escalation/blob/master/ExploitScripts/orgpolicy.policy.set.py).

### `orgpolicy.policy.set`, `iam.serviceAccounts.actAs`

Habituellement, il n'est pas possible d'attacher un service account provenant d'un projet diffĂ©rent Ă  une ressource parce qu'une contrainte de politique est appliquĂ©e nommĂ©e **`iam.disableCrossProjectServiceAccountUsage`** qui empĂȘche cette action.

Il est possible de vérifier si cette contrainte est appliquée en exécutant la commande suivante :

<details>
<summary>Vérifier la contrainte de service account inter-projets</summary>
```bash
gcloud resource-manager org-policies describe \
constraints/iam.disableCrossProjectServiceAccountUsage \
--project=<project-id> \
--effective

booleanPolicy:
enforced: true
constraint: constraints/iam.disableCrossProjectServiceAccountUsage

Cela empĂȘche un attaquant d’abuser de la permission iam.serviceAccounts.actAs pour usurper un compte de service d’un autre projet sans disposer des permissions d’infrastructure nĂ©cessaires pour, par exemple, dĂ©marrer une nouvelle VM, ce qui pourrait conduire Ă  une Ă©lĂ©vation de privilĂšges.

Cependant, un attaquant disposant de la permission orgpolicy.policy.set peut contourner cette restriction en dĂ©sactivant la contrainte iam.disableServiceAccountProjectWideAccess. Cela permet Ă  l’attaquant d’attacher un compte de service d’un autre projet Ă  une ressource dans son propre projet, augmentant ainsi effectivement ses privilĂšges.

Disable cross-project service account constraint ```bash gcloud resource-manager org-policies disable-enforce \ iam.disableCrossProjectServiceAccountUsage \ --project= ```

Références

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks