AWS MWAA Execution Role Account Wildcard Vulnerability

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez 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 :

{
"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 & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks