GCP - Federation Abuse
Last updated
Last updated
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)
Para dar acceso a las Github Actions desde un repositorio de Github a una cuenta de servicio de GCP, se necesitan los siguientes pasos:
Crear la Cuenta de Servicio para acceder desde las acciones de github con los permisos deseados:
Generar un nuevo grupo de identidades de carga de trabajo:
Generar un nuevo proveedor OIDC de grupo de identidades de carga de trabajo que confíe en las acciones de github (por nombre de org/repo en este escenario):
Finalmente, permita que el principal del proveedor use un principal de servicio:
Nota cómo en el miembro anterior estamos especificando el org-name/repo-name
como condiciones para poder acceder a la cuenta de servicio (otros parámetros que la hacen más restrictiva como la rama también podrían ser utilizados).
Sin embargo, también es posible permitir que todos en github accedan a la cuenta de servicio creando un proveedor como el siguiente usando un comodín:
En este caso, cualquiera podría acceder a la cuenta de servicio desde las acciones de github, por lo que es importante siempre verificar cómo se define el miembro. Siempre debería ser algo como esto:
attribute.{custom_attribute}
:principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/attribute.{custom_attribute}/{value}
Recuerda cambiar ${providerId}
y ${saId}
por sus respectivos valores:
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)