GCP - Federation Abuse
Last updated
Last updated
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Para dar acesso ao Github Actions de um repositório Github a uma conta de serviço GCP, os seguintes passos são necessários:
Crie a Conta de Serviço para acessar a partir das ações do github com as permissões desejadas:
Gerar um novo pool de identidade de carga de trabalho:
Gere um novo provedor OIDC de pool de identidade de carga de trabalho que confie nas ações do github (por nome de org/repo neste cenário):
Finalmente, permita que o principal do provedor use um principal de serviço:
Note como no membro anterior estamos especificando o org-name/repo-name
como condições para poder acessar a conta de serviço (outros parâmetros que tornam mais restritivo como o branch também poderiam ser usados).
No entanto, também é possível permitir que todos do github acessem a conta de serviço criando um provedor como o seguinte usando um curinga:
Neste caso, qualquer um poderia acessar a conta de serviço a partir das ações do github, então é importante sempre verificar como o membro está definido. Deve ser sempre algo como:
attribute.{custom_attribute}
:principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/attribute.{custom_attribute}/{value}
Lembre-se de mudar ${providerId}
e ${saId}
para seus respectivos valores:
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)