Vulnérabilité AWS : Les utilisateurs risquent une prise de contrôle de leur compte
Selon des rapports récentsdes chercheurs en cybersécurité ont récemment découvert une vulnérabilité d'AWS dans le kit de développement du nuage (CDK). Cette vulnérabilité, si elle est exploitée, pourrait entraîner des attaques de prise de contrôle de compte dans certains scénarios. Dans cet article, nous allons nous plonger dans les détails d'une exploitation possible, de la découverte initiale, et plus encore. C'est parti !
Vulnérabilité d'AWS: Découverte initiale et détails
Le CDK d'Amazon Web Services (AWS) est un cadre de développement logiciel open-source utilisé pour définir des ressources d'application à l'aide de langages de programmation via CloudFormation. Les langages de programmation utilisés sont les suivants :
- Python.
- TypeScript.
- JavaScript.
Avant d'entrer dans les détails, il convient de noter que le problème a été identifié par Aqua, une société spécialisée dans la sécurité informatique, sur la base de ses conclusions antérieures. Ces conclusions décrivaient en détail les ressources fantômes dans AWS. En outre, elles ont également mis en lumière la façon dont les conventions de dénomination prédéfinies pour les buckets AWS Simple Storage Service (S3) peuvent être utilisées à des fins militaires.
La prévalence d'un tel scénario permettrait aux acteurs de la menace d'orchestrer des attaques de type Bucket Monopoly qui, si elles réussissent, permettraient d'accéder à des informations sensibles. En ce qui concerne la vulnérabilité AWS dans le CDK, il est important de savoir que de tels environnements peuvent être créés via le bootstrapping.
Au cours du processus de démarrage, diverses ressources AWS sont fournies à l'environnement. Ces ressources sont les suivantes
- Un seau AWS S3.
- Dépôt Amazon Elastic Container Registry (Amazon ECR).
- Rôles de gestion des identités et des accès (IAM) d'AWS.
Risque de sécurité lié à l'attribution de noms aux buckets S3
Pour bien comprendre la vulnérabilité d'AWSil faut savoir que certains des rôles IAM créés dans le cadre du processus de démarrage accordent différents types d'autorisations. Ces permissions incluent le téléchargement et la suppression des actifs associés aux buckets S3. En outre, ils peuvent également inclure le déploiement de la pile de permission avec l'accès administratif.
Les experts en cybersécurité ont déclaré que le modèle de dénomination des rôles IAM créés par AWS CDK suit la même structure :
"cdk-{Qualifier}-{Description}-{Account-ID}-{Region}"
Les détails de chaque champ de cette structure sont mentionnés ci-dessous :
Champ d'application | Détail |
Qualification | Unique en son genre.
Chaîne de neuf caractères dont la valeur par défaut est "hnb659fds". Peut être personnalisé au cours du processus d'amorçage. |
Description | Description de la ressource. |
Identifiant du compte | ID du compte AWS de l'environnement |
Région | La région AWS de l'environnement |
En outre, le seau S3 créé au cours du processus de démarrage suit le modèle de dénomination :
"cdk-{Qualifier}-assets-{Account-ID}-{Region}".
Pour en savoir plus sur cette vulnérabilité vulnérabilité AWSAqua a déclaré que :
"Étant donné que de nombreux utilisateurs exécutent la commande cdk bootstrap sans personnaliser le qualificateur, le modèle de dénomination du seau S3 du seau de mise à disposition devient prévisible. Cela s'explique par le fait que la valeur par défaut du qualificateur du nom du seau est définie sur 'hnb659fds', ce qui permet d'anticiper plus facilement le nom du seau."
Il convient de mentionner que plusieurs instances découvertes sur GitHub utilisaient le qualificatif par défaut. Pour les acteurs de la menace, cela signifie qu'il suffit de déterminer l'identifiant du compte AWS et la région dans laquelle le CDK est déployé pour deviner le nom d'un seau.
Ceci vulnérabilité AWS permet aux acteurs de la menace d'orchestrer le squattage des noms de baquets S3. Cette technique, également appelée Bucket Sniping, permet de s'assurer que les pirates sont sur le point d'exploiter avec succès la vulnérabilité AWS car elle leur permet de revendiquer le CDK bucket d'un autre utilisateur.
Conséquences de la vulnérabilité d'AWS Exploit
En ce qui concerne les conséquences d'une éventuelle exploitation, cette vulnérabilité d'AWS ouvre la voie à un déni de service (DoS) partiel. Cela se produit lorsqu'un utilisateur tente de démarrer le CDK avec le même identifiant de compte et la même région.
L'intensité des conséquences de la vulnérabilité AWS augmente lorsque le CDK compromis a la permission de lire et d'écrire des données depuis et vers le seau S3 contrôlé par l'attaquant.
De tels privilèges permettraient à un acteur de la menace d'altérer les modèles CloudFormation. Cela signifie que les pirates peuvent mener des actions malveillantes au sein du compte compromis. En ce qui concerne les modèles CloudFormation, les experts ont déclaré ce qui suit :
"Le rôle de déploiement du service CloudFormation, qui est le rôle CloudFormationExecutionRole dans le CDK, dispose par défaut de privilèges administratifs dans le compte. Cela signifie que tout modèle CloudFormation écrit dans le seau S3 de l'attaquant par le CDK de la victime serait déployé ultérieurement avec des privilèges administratifs dans le compte de la victime. Cela permettrait à l'attaquant de créer des ressources privilégiées."
Chaîne d'attaque de la vulnérabilité de prise de contrôle d'un compte AWS
En ce qui concerne la chaîne d'attaque de cette vulnérabilité AWS l'acteur de la menace doit créer un seau dont le nom correspond à celui d'un seau déjà existant. Pour ce faire, les utilisateurs doivent lancer le processus d'amorçage du CDK, puis supprimer le seau S3. Ce serait l'actif utilisé pour initier la vulnérabilité AWS AWS.
La création d'un seau dupliqué amènerait le CDK à lui faire confiance, ce qui permettrait aux acteurs de la menace d'y écrire des modèles CloudFormation. Mais il y a certaines conditions préalables qu'un pirate doit remplir pour que cela réussisse. Il s'agit notamment de :
-
- Réclamer le seau avec le nom prévisible et autoriser l'accès public
- Création d'une fonction Lambda pour injecter un rôle d'administrateur malveillant ou une porte dérobée dans un fichier modèle CloudFormation donné..
Une fois que toutes ces conditions sont remplies, la vulnérabilité AWS peut prendre le contrôle complet du compte ciblé. Pour ce faire, l'utilisateur doit déployer le CDK à l'aide de la commande "cdk deploy". Ce faisant, il enverra le modèle dans le seau dupliqué qui a été créé par le pirate au cours de la phase initiale de l'attaque.
En outre, il injecterait également un rôle d'administrateur utilisé pour acquérir le contrôle. Il convient de noter que le rôle d'administrateur serait injecté à l'aide de la fonction Lambda de l'attaquant. Cette fonction ouvre une porte dérobée sur le fichier modèle CloudFormation écrit par le CKD de la victime dans le seau S3 compromis.
Une fois cette chaîne d'événements terminée, le compte de la victime lira et déploiera les ressources du seau de l'attaquant, ce qui permettra à ce dernier de créer un nouveau rôle d'administrateur. Des experts en cybersécurité ont expliqué cette méthode d'attaque :
"Nous avons pu créer un rôle d'administrateur dans un compte cible si quelqu'un supprime le seau S3 de staging CDK qui a été créé pendant le processus d'amorçage et essaie ensuite d'utiliser CDK à nouveau. Cependant, nous devrions prendre en compte la probabilité que quelqu'un supprime le seau S3 de CDK après qu'il ait été amorcé."
Protocoles de sécurité Atténuation des risques
Compte tenu des conséquences possibles de cette vulnérabilité d'AWS l'exploitation de cette vulnérabilité, l'apprentissage des mesures de sécurité qui peuvent être adoptées pour atténuer les risques. Ces protocoles de sécurité sont les suivants
- Mise à jour vers la version 2.149.0 du CDK, qui intègre des mesures de sécurité renforcées selon lesquelles seuls les buckets S3 appartenant au compte de l'utilisateur sont fiables. Cela empêche le CDK d'envoyer des données dans un répertoire qui n'appartient pas au compte de l'utilisateur.
- Utilisation d'un qualificatif personnalisé au lieu du qualificatif par défaut "hnb659fds" en personnalisant les ressources d'amorçage comme indiqué dans la documentation AWS mise à jour.
Il convient de mentionner que les utilisateurs qui ont démarré avec une version plus ancienne risquent toujours d'être victimes de la vulnérabilité AWS d'AWS. Pour réduire ce risque, ces utilisateurs doivent passer à la version 2.149.0 ou à une version plus récente et réexécuter la commande "cdk bootstrap et réexécuter la commande "cdk bootstrap". Ces utilisateurs peuvent également appliquer une politique IAM similaire au correctif AWS.
Conclusion
Ceci vulnérabilité d'AWS souligne l'importance de maintenir des configurations sécurisées et des versions logicielles à jour. En suivant les protocoles recommandés, tels que la mise à jour vers la version CDK v2.149.0 et la personnalisation des paramètres par défaut, les utilisateurs peuvent réduire de manière significative le risque d'attaques par prise de contrôle de compte et protéger les ressources sensibles d'AWS. Cette vulnérabilité et les scénarios d'attaque possibles imposent désormais l'utilisation de mesures de cybersécurité proactives qui peuvent contribuer à atténuer les risques et à améliorer la posture de sécurité.
Les sources de cet article comprennent des articles dans The Hacker News et Aqua.