Trouver l’identifiant de compte AWS d’un bucket S3
- En 2021, Ben Bridts a présenté une méthode originale pour trouver l’identifiant de compte AWS d’un bucket S3 public.
- Cet article explique une technique permettant de trouver l’identifiant de compte pour des buckets S3 privés comme publics.
D’un bucket S3 à un identifiant de compte AWS
- Présentation d’une technique, à partir d’une sortie shell, pour découvrir l’identifiant de compte AWS auparavant inconnu d’un bucket nommé
bucket-alpha.
Comment cette technique fonctionne-t-elle exactement ?
- L’article analyse pourquoi la technique de Ben fonctionne en combinant trois éléments clés :
- la capacité d’appliquer des politiques IAM aux requêtes
- la capacité de déduire si une politique IAM a autorisé une requête ou non
- la capacité d’appliquer une correspondance par wildcard à la clé de condition
s3:ResourceAccount
La solution
- Une solution a été trouvée en utilisant un endpoint VPC pour S3 et en exploitant la différence de comportement dans CloudTrail lorsque les requêtes sont refusées.
Étape par étape
- Procédure détaillée lorsqu’on cherche à trouver l’identifiant de compte du bucket
bucket-alpha :
- déterminer la région du bucket
- déployer un VPC et un endpoint VPC dans la même région
- lancer une instance EC2 dans le VPC et vérifier l’utilisation de l’endpoint VPC pour S3
- modifier la politique de l’endpoint VPC pour déterminer si l’identifiant de compte du bucket cible commence par « 0 »
- envoyer une requête au bucket cible
- vérifier si la requête apparaît dans CloudTrail
- en fonction du résultat, modifier la politique de l’endpoint VPC pour découvrir davantage d’informations sur l’identifiant de compte
Résultats
- Un script a été écrit pour automatiser ce processus et retrouver de manière fiable l’identifiant de compte d’un bucket.
- Une recherche binaire est effectuée pour chaque chiffre afin de réduire le nombre de tests nécessaires.
Accélération
- La politique de l’endpoint VPC a été ajustée pour réduire le temps nécessaire à sa prise d’effet ainsi que l’attente individuelle des résultats dans CloudTrail.
- Cela permet de ramener le temps nécessaire pour trouver l’identifiant de compte à moins de 10 minutes.
Avis
- Ce billet de blog a été publié après échange avec l’équipe sécurité d’AWS.
- Une discussion intéressante a eu lieu sur la question de savoir si les identifiants de compte AWS doivent être considérés comme des informations sensibles.
- Cette technique pourrait s’appliquer à d’autres services que S3.
- Ces techniques sont possibles parce qu’il est possible d’utiliser une condition
StringLike pour s3:ResourceAccount.
- Il pourrait être utile que les événements refusés par les politiques d’endpoint VPC soient journalisés dans CloudTrail.
Remerciements
- La technique originale de Ben Bridt a inspiré ce travail.
- Remerciements à Chris Farris pour son aide et ses conseils.
L’avis de GN⁺
- Cette technique peut être très utile pour réaliser des audits de sécurité dans des environnements cloud, notamment pour vérifier la propriété de buckets AWS S3.
- La discussion sur la sensibilité des informations fournies par cette technique reflète le débat continu entre fournisseurs de services cloud et utilisateurs autour de la sécurité des données et de la vie privée.
- Parmi les autres outils offrant des fonctions similaires figure le service natif d’AWS, CloudTrail, qui sert à journaliser et surveiller l’ensemble des activités se produisant dans l’environnement AWS d’un utilisateur.
- Avant d’adopter cette technique, les utilisateurs doivent vérifier qu’elle est conforme aux politiques d’AWS et aux bonnes pratiques de sécurité.
- Les bénéfices de cette technique incluent des audits de sécurité efficaces et une vérification rapide de la propriété des données, mais il faut aussi prendre en compte des risques tels qu’une possible exposition d’informations personnelles.
1 commentaires
Commentaires sur Hacker News
role assumption), l’ID du compte utilisé comme point d’intégration est connu par l’autre partie, qui a elle-même ses dépendances et ses vulnérabilités.