GCP - Orgpolicy Privesc

Tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks

orgpolicy

orgpolicy.policy.set

Un atacante que aproveche orgpolicy.policy.set puede manipular las pol铆ticas organizacionales, lo que le permitir谩 eliminar ciertas restricciones que impiden operaciones espec铆ficas. Por ejemplo, la restricci贸n appengine.disableCodeDownload normalmente bloquea la descarga del c贸digo fuente de App Engine. Sin embargo, usando orgpolicy.policy.set, un atacante puede desactivar esta restricci贸n, obteniendo as铆 acceso para descargar el c贸digo fuente, a pesar de que inicialmente estaba protegido.

Obtener informaci贸n de org policy y desactivar la aplicaci贸n ```bash # Get info gcloud resource-manager org-policies describe [--folder | --organization | --project ]

Disable

gcloud resource-manager org-policies disable-enforce [鈥揻older | 鈥搊rganization | 鈥損roject ]

</details>

Un script en python para este m茅todo se puede encontrar [here](https://github.com/RhinoSecurityLabs/GCP-IAM-Privilege-Escalation/blob/master/ExploitScripts/orgpolicy.policy.set.py).

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

Generalmente no es posible adjuntar una cuenta de servicio de un proyecto distinto a un recurso porque existe una restricci贸n de pol铆tica aplicada llamada **`iam.disableCrossProjectServiceAccountUsage`** que impide esta acci贸n.

Es posible verificar si esta restricci贸n est谩 aplicada ejecutando el siguiente comando:

<details>
<summary>Verificar restricci贸n de uso de cuentas de servicio entre proyectos</summary>
```bash
gcloud resource-manager org-policies describe \
constraints/iam.disableCrossProjectServiceAccountUsage \
--project=<project-id> \
--effective

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

Esto evita que un atacante abuse del permiso iam.serviceAccounts.actAs para suplantar una cuenta de servicio de otro proyecto sin los permisos adicionales de infraestructura necesarios para, por ejemplo, iniciar una nueva VM, lo que podr铆a conducir a una escalada de privilegios.

Sin embargo, un atacante con el permiso orgpolicy.policy.set puede eludir esta restricci贸n deshabilitando la restricci贸n iam.disableServiceAccountProjectWideAccess. Esto permite al atacante adjuntar una cuenta de servicio de otro proyecto a un recurso en su propio proyecto, escalando efectivamente sus privilegios.

Deshabilitar la restricci贸n de cuentas de servicio entre proyectos ```bash gcloud resource-manager org-policies disable-enforce \ iam.disableCrossProjectServiceAccountUsage \ --project= ```

Referencias

Tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks