Vulnerabilidad de comodín en la cuenta del rol de ejecución de AWS MWAA

Tip

Aprende y practica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks

La vulnerabilidad

El rol de ejecución de MWAA (el IAM role que los Airflow workers usan para acceder a los recursos de AWS) requiere esta política obligatoria para funcionar:

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

El comodín (*) en la posición del ID de cuenta permite que el rol interactúe con cualquier cola SQS en cualquier cuenta de AWS que empiece con airflow-celery-. Esto es necesario porque AWS provisiona las colas internas de MWAA en una cuenta gestionada por AWS separada. No existe restricción para crear colas con el prefijo airflow-celery-.

No puede ser corregido: Eliminar el comodín antes del despliegue rompe MWAA por completo: el scheduler no puede encolar tareas para los workers.

Documentación que verifica la vulnerabilidad y reconoce el vector: AWS Documentation

Explotación

Todos los Airflow DAGs se ejecutan con los permisos del rol de ejecución. Los DAGs son scripts Python que pueden ejecutar código arbitrario: pueden usar yum o curl para instalar herramientas, descargar scripts maliciosos o importar cualquier librería de Python. Los DAGs se obtienen desde una carpeta asignada en S3 y se ejecutan automáticamente según el schedule; todo lo que un atacante necesita es la capacidad de hacer PUT en esa ruta del bucket.

Cualquiera que pueda escribir DAGs (típicamente la mayoría de usuarios en entornos MWAA) puede abusar de este permiso:

  1. Exfiltración de datos: Crear una cola llamada airflow-celery-exfil en una cuenta externa, escribir un DAG que envíe datos sensibles a ella vía boto3

  2. Command & Control: Poll de comandos desde una cola externa, ejecutarlos, devolver resultados — creando una backdoor persistente a través de las SQS APIs

  3. Cross-Account Attacks: Inyectar mensajes maliciosos en las colas de otras organizaciones si siguen el patrón de nombres

Todos los ataques evaden los controles de red puesto que usan las AWS APIs, no conexiones directas a internet.

Impacto

Esta es una falla arquitectónica en MWAA sin mitigación basada en IAM. Cada despliegue de MWAA que siga la documentación de AWS tiene esta vulnerabilidad.

Evasión de controles de red: Estos ataques funcionan incluso en VPCs privadas sin acceso a internet. Las llamadas a la API de SQS usan la red interna de AWS y los VPC endpoints, evadiendo completamente los controles tradicionales de seguridad de red, firewalls y el monitoreo de salida. Las organizaciones no pueden detectar ni bloquear esta vía de exfiltración de datos mediante controles a nivel de red.

Tip

Aprende y practica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks