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)
Afin de donner accès aux Actions Github d'un repo Github à un compte de service GCP, les étapes suivantes sont nécessaires :
Créer le compte de service pour accéder aux actions github avec les permissions souhaitées :
Générer un nouveau pool d'identité de charge de travail :
Générer un nouveau fournisseur OIDC de pool d'identité de charge de travail qui fait confiance aux actions github (par nom d'org/repo dans ce scénario) :
Enfin, permettre au principal du fournisseur d'utiliser un principal de service :
Notez comment dans le membre précédent, nous spécifions le org-name/repo-name
comme conditions pour pouvoir accéder au compte de service (d'autres paramètres qui le rendent plus restrictif comme la branche pourraient également être utilisés).
Cependant, il est également possible de permettre à tous les github d'accéder au compte de service en créant un fournisseur tel que le suivant en utilisant un caractère générique :
Dans ce cas, n'importe qui pourrait accéder au compte de service depuis les actions github, il est donc important de toujours vérifier comment le membre est défini. Cela devrait toujours être quelque chose comme ceci :
attribute.{custom_attribute}
:principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/attribute.{custom_attribute}/{value}
N'oubliez pas de changer ${providerId}
et ${saId}
pour leurs valeurs respectives :
Apprenez et pratiquez le hacking AWS :HackTricks Formation Expert Red Team AWS (ARTE) Apprenez et pratiquez le hacking GCP : HackTricks Formation Expert Red Team GCP (GRTE)