AWS MWAA Ausführungsrollen-Account-Wildcard-Schwachstelle
Tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Die Schwachstelle
Die Ausführungsrolle von MWAA (die IAM-Rolle, die Airflow-Worker verwenden, um auf AWS-Ressourcen zuzugreifen) benötigt diese zwingende Richtlinie, um zu funktionieren:
{
"Effect": "Allow",
"Action": [
"sqs:ChangeMessageVisibility",
"sqs:DeleteMessage",
"sqs:GetQueueAttributes",
"sqs:GetQueueUrl",
"sqs:ReceiveMessage",
"sqs:SendMessage"
],
"Resource": "arn:aws:sqs:us-east-1:*:airflow-celery-*"
}
Der Platzhalter (*) anstelle der account ID ermöglicht es 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 Einschränkung beim Anlegen von Queues mit dem airflow-celery- Präfix.
Kann nicht behoben werden: Das Entfernen des Platzhalters vor der Bereitstellung würde MWAA komplett zerstören – der Scheduler kann dann keine Tasks für die Worker in die Queue stellen.
Dokumentation zur Bestätigung der Schwachstelle und Anerkennung des Vektors: AWS Documentation
Ausnutzung
Alle Airflow DAGs laufen mit den Berechtigungen der Ausführungsrolle. 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, per PUT in diesen Bucket-Pfad zu schreiben.
Jeder, der DAGs schreiben kann (typischerweise die meisten Nutzer in MWAA-Umgebungen), kann diese Berechtigung missbrauchen:
-
Data Exfiltration: Erstelle eine Queue namens
airflow-celery-exfilin einem externen Account und schreibe ein DAG, das sensible Daten viaboto3dorthin sendet. -
Command & Control: Befehle aus einer externen Queue abfragen, ausführen, Ergebnisse zurücksenden – dadurch wird über die SQS-APIs eine persistente Backdoor geschaffen.
-
Cross-Account Attacks: Bösartige Nachrichten in Queues anderer Organisationen injizieren, sofern diese dem Namensmuster folgen.
Alle Angriffe umgehen Netzwerk-Kontrollen, da sie AWS-APIs nutzen und keine direkten Internetverbindungen.
Auswirkungen
Dies ist ein architektonischer Fehler in MWAA ohne IAM-basierte Gegenmaßnahme. Jede MWAA-Bereitstellung, die der AWS-Dokumentation folgt, hat diese Schwachstelle.
Umgehung von Netzwerk-Kontrollen: Diese Angriffe funktionieren sogar in privaten VPCs ohne Internetzugang. Die SQS-API-Aufrufe verwenden das interne Netzwerk von AWS und VPC endpoints und umgehen damit vollständig traditionelle Netzwerksicherheitskontrollen, Firewalls und Egress-Monitoring. Organisationen können diesen data exfiltration-Pfad auf Netzwerkebene nicht erkennen oder blockieren.
Tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
HackTricks Cloud

