GCP - Federation Abuse
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Per dare accesso alle Github Actions da un repo Github a un service account GCP, sono necessari i seguenti passaggi:
Crea il Service Account per accedere dalle github actions con i permessi desiderati:
Genera un nuovo pool di identità di workload:
Genera un nuovo provider OIDC del pool di identità del workload che fida le azioni di github (per nome org/repo in questo scenario):
Infine, consenti al principale del fornitore di utilizzare un principale di servizio:
Nota come nel membro precedente stiamo specificando il org-name/repo-name
come condizioni per poter accedere all'account di servizio (altri parametri che lo rendono più restrittivo come il branch potrebbero essere utilizzati).
Tuttavia è anche possibile consentire a tutti github di accedere all'account di servizio creando un provider come il seguente utilizzando un carattere jolly:
In questo caso chiunque potrebbe accedere all'account di servizio da github actions, quindi è importante sempre controllare come è definito il membro. Dovrebbe sempre essere qualcosa del genere:
attribute.{custom_attribute}
:principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/attribute.{custom_attribute}/{value}
Ricorda di cambiare ${providerId}
e ${saId}
con i rispettivi valori:
Impara e pratica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)