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
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
Уразливість
Роль виконання MWAA (IAM роль, яку використовують воркери Airflow для доступу до ресурсів AWS) потребує цієї обов'язкової політики для роботи:
{
"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 середовищах), може зловживати цим правом:
-
Data Exfiltration: Create a queue named
airflow-celery-exfilin an external account, write a DAG that sends sensitive data to it viaboto3 -
Command & Control: Poll commands from an external queue, execute them, return results - creating a persistent backdoor through SQS APIs
-
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
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
HackTricks Cloud