AWS - Cognito Unauthenticated Enum
Cognito non authentifié
Cognito est un service AWS qui permet aux développeurs de accorder à leurs utilisateurs d'application l'accès aux services AWS. Les développeurs accorderont des rôles IAM aux utilisateurs authentifiés dans leur application (potentiellement les gens pourront simplement s'inscrire) et ils peuvent également accorder un rôle IAM aux utilisateurs non authentifiés.
Pour des informations de base sur Cognito, consultez :
AWS - Cognito EnumModules Pacu pour les tests d'intrusion et l'énumération
Pacu, le framework d'exploitation AWS, inclut désormais les modules "cognito__enum" et "cognito__attack" qui automatisent l'énumération de tous les actifs Cognito dans un compte et signalent les configurations faibles, les attributs d'utilisateur utilisés pour le contrôle d'accès, etc., et automatisent également la création d'utilisateurs (y compris le support MFA) et l'élévation de privilèges basée sur des attributs personnalisés modifiables, des informations d'identification de pool d'identités utilisables, des rôles assumables dans les jetons d'identité, etc.
Pour une description des fonctions des modules, consultez la partie 2 du billet de blog. Pour les instructions d'installation, consultez la page principale de Pacu.
Utilisation
Exemple d'utilisation de l'attaque cognito__attack pour tenter la création d'utilisateur et tous les vecteurs de privilège contre un pool d'identités donné et un client de pool d'utilisateurs :
Exemple d'utilisation de cognito__enum pour rassembler tous les pools d'utilisateurs, les clients de pool d'utilisateurs, les pools d'identités, les utilisateurs, etc. visibles dans le compte AWS actuel :
ID de pool d'identité
Les pools d'identité peuvent accorder des rôles IAM aux utilisateurs non authentifiés qui connaissent simplement l'ID du pool d'identité (qui est assez courant à trouver), et un attaquant avec ces informations pourrait essayer d'accéder à ce rôle IAM et l'exploiter. De plus, des rôles IAM pourraient également être attribués à des utilisateurs authentifiés qui accèdent au pool d'identité. Si un attaquant peut enregistrer un utilisateur ou a déjà accès au fournisseur d'identité utilisé dans le pool d'identité, vous pourriez accéder au rôle IAM attribué aux utilisateurs authentifiés et en abuser.
Consultez comment faire cela ici.
ID de pool d'utilisateurs
Par défaut, Cognito permet de enregistrer un nouvel utilisateur. Pouvoir enregistrer un utilisateur pourrait vous donner accès à l'application sous-jacente ou au rôle d'accès IAM authentifié d'un pool d'identité qui accepte en tant que fournisseur d'identité le pool d'utilisateurs Cognito. Consultez comment faire cela ici.
Last updated