diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-mwaa-post-exploitation/README.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-mwaa-post-exploitation/README.md new file mode 100644 index 000000000..ecacea28d --- /dev/null +++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-mwaa-post-exploitation/README.md @@ -0,0 +1,44 @@ +# AWS MWAA Execution Role Hesabı Wildcard Açığı + +## Zafiyet + +MWAA'nın execution role'ü (Airflow çalışanlarının AWS kaynaklarına erişmek için kullandığı IAM rolü) çalışması için şu zorunlu policy'ye ihtiyaç duyar: +```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-*" +} +``` +Hesap kimliği konumundaki joker (`*`), role `airflow-celery-` ile başlayan herhangi bir AWS hesabındaki **herhangi bir SQS kuyruğu** ile etkileşim kurma yetkisi verir. Bu, AWS'in MWAA'nın dahili kuyruklarını ayrı bir AWS yönetimli hesapta sağlaması gerektiği için gereklidir. `airflow-celery-` önekiyle kuyruk oluşturulmasına dair herhangi bir kısıtlama yoktur. + +**Düzeltilemez:** Joker karakteri dağıtım öncesi kaldırmak MWAA'yı tamamen bozar - scheduler işçilerin görev kuyruğa koymasını sağlayamaz. + +Zafiyeti Doğrulayan ve Vektörü Kabul Eden Dokümantasyon: [AWS Documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html) + +## İstismar + +Tüm Airflow DAG'ları execution role'unun izinleriyle çalışır. DAG'lar Python betikleri olup rastgele kod çalıştırabilirler — araç kurmak, kötü amaçlı betikler indirmek veya herhangi bir Python kütüphanesini import etmek için `yum` veya `curl` kullanabilirler. DAG'lar atanmış bir S3 klasöründen çekilir ve zamanlamaya göre otomatik olarak çalıştırılır; saldırganın ihtiyaç duyduğu tek şey o bucket yoluna PUT yapabilme yetkisidir. + +DAG yazabilen herkes (genellikle MWAA ortamlarındaki çoğu kullanıcı), bu izni kötüye kullanabilir: + +1. **Data Exfiltration**: Harici bir hesapta `airflow-celery-exfil` adlı bir kuyruk oluşturun, hassas verileri buna `boto3` ile gönderen bir DAG yazın + +2. **Command & Control**: Harici bir kuyruktan komutları sorgulayın, bunları çalıştırın, sonuçları geri gönderin — SQS API'leri üzerinden kalıcı bir arka kapı oluşturur + +3. **Cross-Account Attacks**: İsimlendirme desenini takip eden diğer organizasyonların kuyruklarına kötü amaçlı mesajlar enjekte edin + +Tüm saldırılar, doğrudan internet bağlantısı yerine AWS API'lerini kullandıkları için ağ kontrollerini atlar. + +## Etki + +Bu, IAM tabanlı bir mitigasyon olmaksızın MWAA'da bir mimari kusurdur. AWS dokümantasyonunu izleyen her MWAA dağıtımı bu zafiyete sahiptir. + +**Ağ Kontrolü Atlama:** Bu saldırılar internet erişimi olmayan özel VPC'lerde bile çalışır. SQS API çağrıları AWS'in dahili ağı ve VPC endpoint'lerini kullanır; geleneksel ağ güvenlik kontrollerini, güvenlik duvarlarını ve çıkış trafiği izlemeyi tamamen atlar. Organizasyonlar bu veri çıkışı yolunu ağ düzeyindeki kontrollerle tespit edemez veya engelleyemez.