AWS - Federation Abuse
SAML
Para informações sobre SAML, consulte:
Para configurar uma Federação de Identidade através do SAML, basta fornecer um nome e o XML de metadados contendo toda a configuração do SAML (endpoints, certificado com chave pública)
OIDC - Abuso de Ações do Github
Para adicionar uma ação do github como provedor de identidade:
Para Tipo de Provedor, selecione OpenID Connect.
Para URL do Provedor, insira
https://token.actions.githubusercontent.com
Clique em Obter impressão digital para obter a impressão digital do provedor
Para Público-alvo, insira
sts.amazonaws.com
Crie uma nova função com as permissões necessárias para a ação do github e uma política de confiança que confie no provedor como:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::0123456789:oidc-provider/token.actions.githubusercontent.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "token.actions.githubusercontent.com:sub": [ "repo:ORG_OR_USER_NAME/REPOSITORY:pull_request", "repo:ORG_OR_USER_NAME/REPOSITORY:ref:refs/heads/main" ], "token.actions.githubusercontent.com:aud": "sts.amazonaws.com" } } } ] }
Abuso de OIDC - EKS
É possível gerar provedores OIDC em um cluster EKS simplesmente configurando a URL OIDC do cluster como um novo provedor de identidade Open ID. Esta é uma política padrão comum:
Esta política está indicando corretamente que apenas o cluster EKS com id 20C159CDF6F2349B68846BEC03BE031B
pode assumir a função. No entanto, não está indicando qual conta de serviço pode assumi-la, o que significa que qualquer conta de serviço com um token de identidade web poderá assumir a função.
Para especificar qual conta de serviço deve poder assumir a função, é necessário especificar uma condição onde o nome da conta de serviço é especificado, como:
Referências
Last updated