AWS MWAA Luka typu wildcard w koncie roli wykonawczej
Tip
Ucz się & ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Wspieraj HackTricks
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
Luka
Rola wykonawcza MWAA (rola IAM, której używają Airflow workers do uzyskiwania dostępu do zasobów AWS) wymaga tej obowiązkowej polityki, aby działać:
{
"Effect": "Allow",
"Action": [
"sqs:ChangeMessageVisibility",
"sqs:DeleteMessage",
"sqs:GetQueueAttributes",
"sqs:GetQueueUrl",
"sqs:ReceiveMessage",
"sqs:SendMessage"
],
"Resource": "arn:aws:sqs:us-east-1:*:airflow-celery-*"
}
Dziki znak (*) w pozycji identyfikatora konta pozwala roli na interakcję z dowolną kolejką SQS w dowolnym koncie AWS, która zaczyna się od airflow-celery-. Jest to wymagane, ponieważ AWS tworzy wewnętrzne kolejki MWAA w oddzielnym koncie zarządzanym przez AWS. Nie ma ograniczeń dotyczących tworzenia kolejek z prefiksem airflow-celery-.
Nie do naprawienia: Usunięcie znaku wieloznacznego przed wdrożeniem całkowicie psuje MWAA — scheduler nie może umieszczać zadań w kolejce dla workerów.
Dokumentacja potwierdzająca podatność i uznająca wektor: AWS Documentation
Eksploatacja
Wszystkie Airflow DAGs uruchamiane są z uprawnieniami roli wykonawczej. DAGi są skryptami Python, które mogą wykonywać dowolny kod — mogą użyć yum lub curl do instalacji narzędzi, pobrania złośliwych skryptów lub importu dowolnej biblioteki Python. DAGi są pobierane z przypisanego folderu S3 i uruchamiane automatycznie zgodnie z harmonogramem; wszystko, czego potrzebuje atakujący, to możliwość wykonania PUT do tej ścieżki w bucketcie.
Każdy, kto może pisać DAGi (zazwyczaj większość użytkowników w środowiskach MWAA), może nadużyć tego uprawnienia:
-
Data Exfiltration: Utwórz kolejkę o nazwie
airflow-celery-exfilw zewnętrznym koncie, napisz DAG, który wyśle do niej wrażliwe dane za pomocąboto3 -
Command & Control: Pobierać polecenia z zewnętrznej kolejki, wykonywać je, zwracać wyniki — tworząc trwały backdoor przez SQS APIs
-
Cross-Account Attacks: Wstrzyknąć złośliwe wiadomości do kolejek innych organizacji, jeśli stosują wzorzec nazewnictwa
Wszystkie ataki omijają kontrole sieciowe, ponieważ korzystają z AWS APIs, a nie bezpośrednich połączeń internetowych.
Wpływ
To błąd architektoniczny w MWAA, którego nie da się złagodzić za pomocą IAM. Każde wdrożenie MWAA zgodne z dokumentacją AWS ma tę podatność.
Omijanie kontroli sieciowej: Te ataki działają nawet w prywatnych VPC bez dostępu do internetu. Wywołania SQS API używają wewnętrznej sieci AWS i VPC endpoints, całkowicie omijając tradycyjne kontrole bezpieczeństwa sieci, firewalle i monitorowanie ruchu wychodzącego. Organizacje nie mogą wykryć ani zablokować tej ścieżki data exfiltration za pomocą kontroli na poziomie sieci.
Tip
Ucz się & ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Wspieraj HackTricks
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
HackTricks Cloud

