AWS - IAM Post Exploitation
IAM
Pour plus d'informations sur l'accès IAM :
pageAWS - IAM, Identity Center & SSO EnumProblème du député confus
Si vous autorisez un compte externe (A) à accéder à un rôle dans votre compte, vous aurez probablement 0 visibilité sur qui peut exactement accéder à ce compte externe. C'est un problème, car si un autre compte externe (B) peut accéder au compte externe (A), il est possible que B puisse également accéder à votre compte.
Par conséquent, lors de l'autorisation d'un compte externe à accéder à un rôle dans votre compte, il est possible de spécifier un ExternalId
. Il s'agit d'une chaîne "secrète" que le compte externe (A) doit spécifier pour assumer le rôle dans votre organisation. Comme le compte externe B ne connaîtra pas cette chaîne, même s'il a accès à A, il ne pourra pas accéder à votre rôle.
Cependant, notez que ce ExternalId
"secret" n'est pas un secret, toute personne pouvant lire la politique de rôle d'assumption IAM pourra le voir. Mais tant que le compte externe A le connaît, mais que le compte externe B ne le connaît pas, cela empêche B d'abuser de A pour accéder à votre rôle.
Exemple:
Pour qu'un attaquant exploite un deputy confus, il devra trouver un moyen de déterminer si les principaux du compte actuel peuvent se faire passer pour des rôles dans d'autres comptes.
Confiances inattendues
Jocker en tant que principal
Cette politique autorise tous les AWS à assumer le rôle.
Service en tant que principal
Cette politique permet à n'importe quel compte de configurer son apigateway pour appeler cette Lambda.
S3 en tant que principal
Si un compartiment S3 est donné en tant que principal, car les compartiments S3 n'ont pas d'ID de compte, si vous supprimez votre compartiment et que l'attaquant le recrée dans son propre compte, alors il pourrait en abuser.
Non pris en charge
Une façon courante d'éviter les problèmes de Confused Deputy est l'utilisation d'une condition avec AWS:SourceArn
pour vérifier l'ARN d'origine. Cependant, certains services pourraient ne pas prendre en charge cela (comme CloudTrail selon certaines sources).
Références
Dernière mise à jour