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
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
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 describeDisable
gcloud resource-manager org-policies disable-enforce
</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
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
HackTricks Cloud

