AWS MWAA Execution Role Account Wildcard Vulnerability

Reading time: 4 minutes

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks

La vulnérabilité

Le rÎle d'exécution de MWAA (le rÎle IAM que les workers Airflow utilisent pour accéder aux ressources AWS) requiert la politique obligatoire suivante pour fonctionner :

json
{
"Effect": "Allow",
"Action": [
"sqs:ChangeMessageVisibility",
"sqs:DeleteMessage",
"sqs:GetQueueAttributes",
"sqs:GetQueueUrl",
"sqs:ReceiveMessage",
"sqs:SendMessage"
],
"Resource": "arn:aws:sqs:us-east-1:*:airflow-celery-*"
}

Le caractÚre générique (*) dans la position de l'ID de compte permet au rÎle d'interagir avec n'importe quelle queue SQS dans n'importe quel compte AWS qui commence par airflow-celery-. Cela est nécessaire car AWS provisionne les queues internes de MWAA dans un compte géré séparément par AWS. Il n'y a aucune restriction pour créer des queues avec le préfixe airflow-celery-.

Ne peut pas ĂȘtre corrigĂ© : Supprimer le caractĂšre gĂ©nĂ©rique avant le dĂ©ploiement casse complĂštement MWAA — le scheduler ne peut plus mettre les tĂąches en queue pour les workers.

Documentation vérifiant la vuln et reconnaissant le vecteur : AWS Documentation

Exploitation

Tous les Airflow DAGs s'exĂ©cutent avec les permissions du rĂŽle d'exĂ©cution. Les DAGs sont des scripts Python capables d'exĂ©cuter du code arbitraire — ils peuvent utiliser yum ou curl pour installer des outils, tĂ©lĂ©charger des scripts malveillants, ou importer n'importe quelle librairie Python. Les DAGs sont rĂ©cupĂ©rĂ©s depuis un dossier S3 assignĂ© et exĂ©cutĂ©s automatiquement selon la planification ; tout ce dont un attaquant a besoin est la capacitĂ© de PUT sur ce chemin de bucket.

Quiconque peut écrire des DAGs (typiquement la plupart des utilisateurs dans des environnements MWAA) peut abuser de cette permission :

  1. Exfiltration de données : Créer une queue nommée airflow-celery-exfil dans un compte externe, écrire un DAG qui envoie des données sensibles vers celle-ci via boto3

  2. Command & Control : RĂ©cupĂ©rer des commandes depuis une queue externe, les exĂ©cuter, renvoyer les rĂ©sultats — crĂ©ant une porte dĂ©robĂ©e persistante via les SQS APIs

  3. Attaques cross-account : Injecter des messages malveillants dans les queues d'autres organisations si elles suivent le schéma de nommage

Toutes les attaques contournent les contrÎles réseau puisqu'elles utilisent les APIs AWS, et non des connexions Internet directes.

Impact

C'est une faille architecturale dans MWAA sans atténuation basée sur IAM. Chaque déploiement MWAA suivant la documentation AWS présente cette vulnérabilité.

Bypass des contrĂŽles rĂ©seau : Ces attaques fonctionnent mĂȘme dans des VPC privĂ©s sans accĂšs Internet. Les appels SQS utilisent le rĂ©seau interne d'AWS et les VPC endpoints, contournant complĂštement les contrĂŽles de sĂ©curitĂ© rĂ©seau traditionnels, les firewalls et la surveillance de l'egress. Les organisations ne peuvent pas dĂ©tecter ni bloquer cette voie d'exfiltration de donnĂ©es via des contrĂŽles au niveau rĂ©seau.

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks