GCP - Orgpolicy Privesc
Tip
Apprenez et pratiquez le hacking AWS :
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP :HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d’abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.
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 et pratiquez le hacking AWS :
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP :HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d’abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.
HackTricks Cloud

