AWS - IAM Post Exploitation
IAM
Para más información sobre el acceso IAM:
AWS - IAM, Identity Center & SSO EnumProblema del Diputado Confundido
Si permites que una cuenta externa (A) acceda a un rol en tu cuenta, probablemente tendrás 0 visibilidad sobre quién puede exactamente acceder a esa cuenta externa. Este es un problema, porque si otra cuenta externa (B) puede acceder a la cuenta externa (A), es posible que B también pueda acceder a tu cuenta.
Por lo tanto, al permitir que una cuenta externa acceda a un rol en tu cuenta, es posible especificar un ExternalId
. Esta es una cadena "secreta" que la cuenta externa (A) necesita especificar para asumir el rol en tu organización. Como la cuenta externa B no conocerá esta cadena, incluso si tiene acceso a A, no podrá acceder a tu rol.
Sin embargo, ten en cuenta que este ExternalId
"secreto" no es un secreto, cualquiera que pueda leer la política de asunción de rol IAM podrá verlo. Pero mientras la cuenta externa A lo conozca, pero la cuenta externa B no lo conozca, previene que B abuse de A para acceder a tu rol.
Ejemplo:
Para que un atacante explote un diputado confundido, necesitará averiguar de alguna manera si los principales de la cuenta actual pueden suplantar roles en otras cuentas.
Confianzas inesperadas
Comodín como principal
Esta política permite a todos los AWS asumir el rol.
Servicio como principal
Esta política permite a cualquier cuenta configurar su apigateway para llamar a esta Lambda.
S3 como principal
Si un bucket de S3 se da como principal, porque los buckets de S3 no tienen un ID de cuenta, si eliminaste tu bucket y el atacante lo creó en su propia cuenta, entonces podrían abusar de esto.
No soportado
Una forma común de evitar problemas de Confused Deputy es el uso de una condición con AWS:SourceArn
para verificar el ARN de origen. Sin embargo, algunos servicios pueden no soportar eso (como CloudTrail según algunas fuentes).
Referencias
Last updated