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..03a4f638a --- /dev/null +++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-mwaa-post-exploitation/README.md @@ -0,0 +1,44 @@ +# AWS MWAA Execution Role Account Wildcard Schwachstelle + +## Die Schwachstelle + +Die Execution Role von MWAA (die IAM-Rolle, die Airflow-Worker verwenden, um auf AWS-Ressourcen zuzugreifen) benötigt diese erforderliche Policy, um zu funktionieren: +```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-*" +} +``` +Das Wildcard-Zeichen (`*`) an der Stelle der Account-ID erlaubt der Rolle, mit jeder SQS-Queue in jedem AWS-Account zu interagieren, die mit `airflow-celery-` beginnt. Das ist erforderlich, weil AWS die internen Queues von MWAA in einem separaten, von AWS verwalteten Account bereitstellt. Es gibt keine Beschränkung, Queues mit dem Präfix `airflow-celery-` anzulegen. + +**Kann nicht behoben werden:** Entfernen des Wildcards vor der Bereitstellung bricht MWAA komplett - der scheduler kann keine Tasks für workers in die Queue stellen. + +Dokumentation zur Verifizierung der Vuln und Anerkennung des Vectorr: [AWS Documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html) + +## Ausnutzung + +Alle Airflow DAGs laufen mit den Berechtigungen der execution role. DAGs sind Python-Skripte, die beliebigen Code ausführen können - sie können `yum` oder `curl` verwenden, um Tools zu installieren, bösartige Skripte herunterzuladen oder beliebige Python-Bibliotheken zu importieren. DAGs werden aus einem zugewiesenen S3-Ordner gezogen und automatisch nach Zeitplan ausgeführt; alles, was ein Angreifer benötigt, ist die Fähigkeit, PUTs zu diesem Bucket-Pfad durchzuführen. + +Jeder, der DAGs schreiben kann (typischerweise die meisten Nutzer in MWAA-Umgebungen), kann diese Berechtigung missbrauchen: + +1. **Data Exfiltration**: Erstelle eine Queue namens `airflow-celery-exfil` in einem externen Account und schreibe ein DAG, das sensible Daten per `boto3` dorthin sendet. + +2. **Command & Control**: Befrage Befehle aus einer externen Queue, führe sie aus und liefere Ergebnisse zurück — so entsteht eine persistente Backdoor über die SQS-APIs. + +3. **Cross-Account Attacks**: Injiziere bösartige Nachrichten in die Queues anderer Organisationen, sofern sie dem Namensmuster folgen. + +Alle Angriffe umgehen Netzwerk-Kontrollen, da sie AWS-APIs nutzen und keine direkten Internetverbindungen benötigen. + +## Auswirkungen + +Dies ist ein architektonischer Fehler in MWAA ohne IAM-basierte Abhilfemaßnahme. Jede MWAA-Bereitstellung, die der AWS-Dokumentation folgt, ist von dieser Verwundbarkeit betroffen. + +**Network Control Bypass:** Diese Angriffe funktionieren sogar in privaten VPCs ohne Internetzugang. Die SQS-API-Aufrufe nutzen das interne Netzwerk von AWS und VPC-Endpunkte und umgehen damit vollständig traditionelle Netzwerksicherheitskontrollen, Firewalls und Egress-Monitoring. Organisationen können diesen data exfiltration path nicht durch netzwerkbasierte Kontrollen erkennen oder blockieren.