AWS - Federation Abuse
SAML
Para información sobre SAML por favor revisa:
Para configurar una Federación de Identidad a través de SAML solo necesitas proporcionar un nombre y el XML de metadatos que contiene toda la configuración de SAML (puntos finales, certificado con clave pública)
OIDC - Abuso de Github Actions
Para añadir una acción de Github como proveedor de identidad:
Para Tipo de proveedor, selecciona OpenID Connect.
Para URL del proveedor, ingresa
https://token.actions.githubusercontent.com
Haz clic en Obtener huella para obtener la huella del proveedor
Para Audiencia, ingresa
sts.amazonaws.com
Crea un nuevo rol con los permisos que la acción de Github necesita y una política de confianza que confíe en el proveedor 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
Es posible generar proveedores OIDC en un clúster de EKS simplemente configurando la URL de OIDC del clúster como un nuevo proveedor de identidad Open ID. Esta es una política predeterminada común:
Esta política indica correctamente que solo el clúster EKS con id 20C159CDF6F2349B68846BEC03BE031B
puede asumir el rol. Sin embargo, no indica qué cuenta de servicio puede asumirlo, lo que significa que CUALQUIER cuenta de servicio con un token de identidad web podrá asumir el rol.
Para especificar qué cuenta de servicio debería poder asumir el rol, es necesario especificar una condición donde se especifique el nombre de la cuenta de servicio, como por ejemplo:
Referencias
Last updated