mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-28 05:33:10 -08:00
Translated ['src/pentesting-cloud/aws-security/aws-post-exploitation/aws
This commit is contained in:
@@ -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.
|
||||
Reference in New Issue
Block a user