AWS MWAA Уразливість з wildcard у обліковому записі ролі виконання

Reading time: 3 minutes

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks

Уразливість

Роль виконання MWAA (IAM роль, яку використовують воркери Airflow для доступу до ресурсів AWS) потребує цієї обов'язкової політики для роботи:

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-*"
}

The wildcard (*) in the account ID position allows the role to interact with any SQS queue in any AWS account that starts with airflow-celery-. Це потрібно, тому що AWS проводить внутрішні черги MWAA в окремому AWS-managed account. Немає обмежень на створення черг з префіксом airflow-celery-.

Неможливо виправити: Видалення wildcard до деплойменту повністю ламає MWAA — scheduler не зможе ставити задачі в чергу для workers.

Documentation Verifying Vuln and Acknowledging Vectorr: AWS Documentation

Експлуатація

Всі Airflow DAGs виконуються з правами execution role. DAGs — це Python-скрипти, які можуть виконувати довільний код — вони можуть використовувати yum або curl для встановлення інструментів, завантажувати шкідливі скрипти або імпортувати будь-яку Python-бібліотеку. DAGs витягуються з призначеної папки в S3 і виконуються за розкладом автоматично; все, що потрібно атакувальнику — можливість робити PUT у цей шлях бакета.

Кожен, хто може записувати DAGs (зазвичай більшість користувачів у MWAA середовищах), може зловживати цим правом:

  1. Data Exfiltration: Create a queue named airflow-celery-exfil in an external account, write a DAG that sends sensitive data to it via boto3

  2. Command & Control: Poll commands from an external queue, execute them, return results - creating a persistent backdoor through SQS APIs

  3. Cross-Account Attacks: Inject malicious messages into other organizations' queues if they follow the naming pattern

Всі атаки обходять мережеві контролі, оскільки використовують AWS APIs, а не прямі інтернет-з'єднання.

Вплив

Це архітектурний недолік у MWAA без можливості пом'якшення через IAM. Кожен MWAA деплоймент, який слідує документації AWS, має цю вразливість.

Network Control Bypass: These attacks work even in private VPCs with no internet access. The SQS API calls use AWS's internal network and VPC endpoints, completely bypassing traditional network security controls, firewalls, and egress monitoring. Organizations cannot detect or block this data exfiltration path through network-level controls.

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks