mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-07-28 22:51:09 -07:00
Translated ['src/pentesting-cloud/aws-security/aws-post-exploitation/aws
This commit is contained in:
+44
@@ -0,0 +1,44 @@
|
||||
# AWS MWAA Wrażliwość konta Execution Role związana z wildcard
|
||||
|
||||
## Wrażliwość
|
||||
|
||||
Execution role MWAA (rola IAM, której Airflow workers używają do dostępu do zasobów AWS) wymaga tej obowiązkowej polityki, aby działać:
|
||||
```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-*"
|
||||
}
|
||||
```
|
||||
Dziki znak (`*`) w pozycji ID 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, zarządzanym przez AWS, koncie. Nie ma ograniczeń dotyczących tworzenia kolejek z prefiksem `airflow-celery-`.
|
||||
|
||||
**Nie można naprawić:** Usunięcie dzikiego znaku przed wdrożeniem całkowicie niszczy MWAA — scheduler nie może wystawiać zadań dla workerów.
|
||||
|
||||
Dokumentacja potwierdzająca podatność i uznająca wektor: [AWS Documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html)
|
||||
|
||||
## Exploitation
|
||||
|
||||
Wszystkie Airflow DAGs działają z uprawnieniami execution role. DAGs są skryptami Python, które mogą wykonać dowolny kod — mogą używać `yum` lub `curl` do instalowania narzędzi, pobierania złośliwych skryptów lub importowania dowolnej biblioteki Python. DAGs są pobierane z przypisanego folderu S3 i uruchamiane automatycznie zgodnie z harmonogramem; wystarczy, że atakujący ma możliwość PUT do tej ścieżki w bucketcie.
|
||||
|
||||
Każdy, kto może pisać DAGs (zwykle większość użytkowników w środowiskach MWAA), może nadużyć tego uprawnienia:
|
||||
|
||||
1. **Data Exfiltration**: Utwórz kolejkę o nazwie `airflow-celery-exfil` w zewnętrznym koncie, napisz DAG, który wyśle do niej wrażliwe dane przez `boto3`
|
||||
|
||||
2. **Command & Control**: Pobieraj polecenia z zewnętrznej kolejki, wykonuj je, zwracaj wyniki — tworząc trwały backdoor przez SQS APIs
|
||||
|
||||
3. **Cross-Account Attacks**: Wstrzykuj złośliwe komunikaty do kolejek innych organizacji, jeśli stosują wzorzec nazewnictwa
|
||||
|
||||
Wszystkie ataki omijają kontrole sieciowe, ponieważ używają AWS APIs, a nie bezpośrednich połączeń internetowych.
|
||||
|
||||
## Impact
|
||||
|
||||
To jest wada architektoniczna w MWAA bez możliwości złagodzenia przez IAM. Każde wdrożenie MWAA zgodne z AWS documentation ma tę podatność.
|
||||
|
||||
**Network Control Bypass:** Te ataki działają nawet w prywatnych VPC bez dostępu do internetu. Wywołania SQS API używają wewnętrznej sieci AWS i endpointów VPC, całkowicie omijając tradycyjne mechanizmy bezpieczeństwa sieci, firewalle i monitorowanie egressu. Organizacje nie mogą wykryć ani zablokować tej ścieżki data exfiltration na poziomie sieciowym.
|
||||
Reference in New Issue
Block a user