AWS - IAM Post Exploitation
IAM
Para obtener más información sobre el acceso IAM:
pageAWS - IAM, Identity Center & SSO EnumProblema del Delegado Confundido
Si permites que una cuenta externa (A) acceda a un rol en tu cuenta, probablemente no tendrás visibilidad sobre quién puede acceder exactamente a esa cuenta externa. Esto 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) debe especificar para asumir el rol en tu organización. Como la cuenta externa B no conocerá esta cadena, incluso si tiene acceso sobre A, no podrá acceder a tu rol.
Sin embargo, ten en cuenta que este ExternalId
"secreto" no es realmente un secreto, cualquiera que pueda leer la política de asumir roles de IAM podrá verlo. Pero siempre y cuando la cuenta externa A lo conozca, y la cuenta externa B no lo conozca, evita que B abuse de A para acceder a tu rol.
Ejemplo:
Para que un atacante explote a un subalterno confundido, necesitará encontrar de alguna manera si los principios de la cuenta actual pueden hacerse pasar por 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 se proporciona un bucket de S3 como principal, dado que los buckets de S3 no tienen un ID de cuenta, si borraste tu bucket y el atacante lo creó en su propia cuenta, entonces podrían abusar de esto.
No compatible
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 podrían no admitir eso (como CloudTrail según algunas fuentes).
Referencias
Última actualización