From bf534a0f7fb7dfb0b5cd75ad77347668f690eea8 Mon Sep 17 00:00:00 2001 From: Translator Date: Thu, 23 Oct 2025 21:53:25 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/aws-security/aws-post-exploitation/aws --- .../aws-mwaa-post-exploitation/README.md | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/pentesting-cloud/aws-security/aws-post-exploitation/aws-mwaa-post-exploitation/README.md diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-mwaa-post-exploitation/README.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-mwaa-post-exploitation/README.md new file mode 100644 index 000000000..5dbb0ae27 --- /dev/null +++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-mwaa-post-exploitation/README.md @@ -0,0 +1,44 @@ +# Vulnerabilidade de curinga na conta do AWS MWAA Execution Role + +## A Vulnerabilidade + +O execution role do MWAA (a IAM role que os workers do Airflow usam para acessar recursos da AWS) requer a seguinte policy obrigatória para funcionar: +```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-*" +} +``` +O curinga (`*`) na posição do ID da conta permite que a role interaja com **any SQS queue in any AWS account** que comece com `airflow-celery-`. Isso é necessário porque a AWS provisiona as filas internas do MWAA em uma conta gerenciada separada pela AWS. Não há restrição para criar filas com o prefixo `airflow-celery-`. + +**Cannot be fixed:** Remover o curinga pre-deployment quebra o MWAA completamente - o scheduler can't queue tasks for workers. + +Documentação verificando a Vuln e reconhecendo o Vectorr: [AWS Documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html) + +## Exploitation + +Todos os Airflow DAGs run com as permissões da execution role. DAGs são scripts Python que podem executar código arbitrário - eles podem usar `yum` or `curl` para instalar ferramentas, baixar scripts maliciosos, ou importar qualquer biblioteca Python. DAGs são pulled de uma pasta S3 atribuída e run on schedule automaticamente; tudo o que um atacante precisa é da habilidade de PUT nesse caminho do bucket. + +Anyone who can write DAGs (typically most users in MWAA environments) can abuse this permission: + +1. **Data Exfiltration**: Criar uma fila chamada `airflow-celery-exfil` em uma conta externa, escrever um DAG que envie dados sensíveis para ela via `boto3` + +2. **Command & Control**: Poll commands from an external queue, execute them, return results - criando uma backdoor persistente através das SQS APIs + +3. **Cross-Account Attacks**: Inject malicious messages into other organizations' queues if they follow the naming pattern + +Todos os ataques bypass network controls já que usam AWS APIs, não conexões diretas com a internet. + +## Impact + +Esta é uma falha arquitetural no MWAA sem mitigação baseada em IAM. Every MWAA deployment following AWS documentation has this vulnerability. + +**Network Control Bypass:** Esses ataques funcionam mesmo em VPCs privadas sem acesso à internet. As chamadas da SQS API usam a rede interna da AWS e VPC endpoints, contornando completamente os controles tradicionais de segurança de rede, firewalls, egress monitoring. Organizations cannot detect or block this data exfiltration path through network-level controls.