AWS MWAA Ευπάθεια Wildcard στον λογαριασμό του ρόλου εκτέλεσης

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

Η Ευπάθεια

Ο ρόλος εκτέλεσης του MWAA (ο IAM ρόλος που χρησιμοποιούν οι Airflow workers για πρόσβαση σε AWS resources) απαιτεί την παρακάτω υποχρεωτική policy για να λειτουργήσει:

{
"Effect": "Allow",
"Action": [
"sqs:ChangeMessageVisibility",
"sqs:DeleteMessage",
"sqs:GetQueueAttributes",
"sqs:GetQueueUrl",
"sqs:ReceiveMessage",
"sqs:SendMessage"
],
"Resource": "arn:aws:sqs:us-east-1:*:airflow-celery-*"
}

Ο wildcard (*) στη θέση του account ID επιτρέπει στο role να αλληλεπιδρά με οποιαδήποτε SQS queue σε οποιονδήποτε AWS account που ξεκινάει με airflow-celery-. Αυτό είναι απαραίτητο επειδή το AWS προμηθεύει τις εσωτερικές ουρές του MWAA σε ξεχωριστό AWS-managed account. Δεν υπάρχει περιορισμός στη δημιουργία ουρών με το πρόθεμα airflow-celery-.

Δεν μπορεί να διορθωθεί: Η αφαίρεση του wildcard πριν από την ανάπτυξη καταστρέφει πλήρως το MWAA - ο scheduler δεν μπορεί να τοποθετήσει εργασίες στην ουρά για τους workers.

Τεκμηρίωση που επαληθεύει την ευπάθεια και αναγνωρίζει το διάνυσμα: AWS Documentation

Εκμετάλλευση

Όλα τα Airflow DAGs τρέχουν με τα δικαιώματα του execution role. Τα DAGs είναι Python scripts που μπορούν να εκτελέσουν αυθαίρετο κώδικα - μπορούν να χρησιμοποιήσουν yum ή curl για να εγκαταστήσουν εργαλεία, να κατεβάσουν κακόβουλα scripts ή να εισάγουν οποιαδήποτε Python βιβλιοθήκη. Τα DAGs τραβιούνται από έναν εκχωρημένο φάκελο στο S3 και τρέχουν αυτόματα κατά προγραμματισμό — όλα όσα χρειάζεται ένας attacker είναι η δυνατότητα να κάνει PUT σε εκείνο το bucket path.

Οποιοσδήποτε μπορεί να γράψει DAGs (συνήθως οι περισσότεροι χρήστες σε MWAA περιβάλλοντα) μπορεί να καταχραστεί αυτό το δικαίωμα:

  1. Data Exfiltration: Δημιούργησε μια ουρά με όνομα airflow-celery-exfil σε εξωτερικό account, γράψε ένα DAG που στέλνει ευαίσθητα δεδομένα σε αυτή μέσω boto3

  2. Command & Control: Ελέγχει/αντλεί εντολές από μια εξωτερική ουρά, τις εκτελεί και επιστρέφει αποτελέσματα — δημιουργώντας ένα μόνιμο backdoor μέσω των SQS APIs

  3. Cross-Account Attacks: Εισάγει κακόβουλα μηνύματα στις ουρές άλλων οργανισμών εάν ακολουθούν το ίδιο μοτίβο ονοματοδοσίας

Όλες οι επιθέσεις παρακάμπτουν τους ελέγχους δικτύου καθώς χρησιμοποιούν AWS APIs, όχι άμεσες συνδέσεις στο internet.

Επιπτώσεις

Αυτή είναι μια αρχιτεκτονική αδυναμία στο MWAA χωρίς μετριασμό μέσω IAM. Κάθε MWAA deployment που ακολουθεί την τεκμηρίωση της AWS έχει αυτή την ευπάθεια.

Παράκαμψη Ελέγχων Δικτύου: Αυτές οι επιθέσεις λειτουργούν ακόμη και σε ιδιωτικά VPCs χωρίς πρόσβαση στο internet. Οι κλήσεις προς τα SQS APIs χρησιμοποιούν το εσωτερικό δίκτυο της AWS και VPC endpoints, παρακάμπτοντας πλήρως τους παραδοσιακούς ελέγχους ασφάλειας δικτύου, firewalls και το egress monitoring. Οι οργανισμοί δεν μπορούν να ανιχνεύσουν ή να μπλοκάρουν αυτή την οδό εξαγωγής δεδομένων μέσω ελέγχων σε επίπεδο δικτύου.

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks