From 86a4244547ec49a9ccf371d242aefbea0ab195e5 Mon Sep 17 00:00:00 2001 From: Translator Date: Thu, 23 Oct 2025 21:53:18 +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..49577e651 --- /dev/null +++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-mwaa-post-exploitation/README.md @@ -0,0 +1,44 @@ +# Vulnerabilità Wildcard dell'Account Execution Role di AWS MWAA + +## La vulnerabilità + +L'execution role di MWAA (the IAM role that Airflow workers use to access AWS resources) richiede questa policy obbligatoria per funzionare: +```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-*" +} +``` +Il wildcard (`*`) nella posizione dell'account ID permette al ruolo di interagire con **any SQS queue in any AWS account** che iniziano con `airflow-celery-`. Questo è necessario perché AWS provisiona le queue interne di MWAA in un account separato gestito da AWS. Non ci sono restrizioni sulla creazione di queue con il prefisso `airflow-celery-`. + +**Non correggibile:** Rimuovere il wildcard prima del deployment rompe completamente MWAA - lo scheduler non può mettere in coda i task per i worker. + +Documentation Verifying Vuln and Acknowledging Vectorr: [AWS Documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html) + +## Sfruttamento + +Tutti gli Airflow DAGs vengono eseguiti con i permessi del ruolo di esecuzione. I DAGs sono script Python che possono eseguire codice arbitrario - possono usare `yum` o `curl` per installare tool, scaricare script dannosi o importare qualsiasi libreria Python. I DAGs vengono prelevati da una cartella S3 assegnata e vengono eseguiti automaticamente secondo schedule; tutto ciò di cui un attacker ha bisogno è la capacità di PUT su quel percorso del bucket. + +Chiunque possa scrivere DAGs (tipicamente la maggior parte degli utenti negli ambienti MWAA) può abusare di questo permesso: + +1. **Data Exfiltration**: Creare una queue chiamata `airflow-celery-exfil` in un account esterno, scrivere un DAG che invia dati sensibili a essa tramite `boto3` + +2. **Command & Control**: Pollare comandi da una queue esterna, eseguirli, ritornare risultati - creando una backdoor persistente tramite SQS APIs + +3. **Cross-Account Attacks**: Iniettare messaggi dannosi nelle queue di altre organizzazioni se seguono il pattern di naming + +Tutti gli attacchi bypassano i controlli di rete poiché usano AWS APIs, non connessioni internet dirette. + +## Impatto + +Si tratta di un difetto architetturale in MWAA senza mitigazione basata su IAM. Ogni deployment MWAA che segue la AWS documentation ha questa vulnerabilità. + +**Network Control Bypass:** Questi attacchi funzionano anche in VPC private senza accesso a internet. Le chiamate SQS API usano la rete interna di AWS e i VPC endpoints, bypassando completamente i tradizionali controlli di sicurezza di rete, firewall e il monitoraggio dell'egress. Le organizzazioni non possono rilevare o bloccare questo percorso di data exfiltration tramite controlli a livello di rete.