diff --git a/src/pentesting-cloud/aws-security/aws-services/aws-sagemaker-enum/README.md b/src/pentesting-cloud/aws-security/aws-services/aws-sagemaker-enum/README.md index a7eab9b01..fa9ab141d 100644 --- a/src/pentesting-cloud/aws-security/aws-services/aws-sagemaker-enum/README.md +++ b/src/pentesting-cloud/aws-security/aws-services/aws-sagemaker-enum/README.md @@ -2,31 +2,31 @@ {{#include ../../../../banners/hacktricks-training.md}} -## Hizmet Genel Bakışı +## Service Overview -Amazon SageMaker, notebook'ları, eğitim altyapısını, orkestrasyonu, registry'leri ve yönetilen endpoint'leri birleştiren AWS'in yönetilen makine öğrenimi platformudur. SageMaker kaynaklarının ele geçirilmesi tipik olarak şunları sağlar: +Amazon SageMaker, notebook'ları, training altyapısını, orkestrasyonu, registries'i ve yönetilen endpoints'i bir araya getiren AWS'in yönetilen bir makine öğrenimi platformudur. SageMaker kaynaklarının ele geçirilmesi tipik olarak şunları sağlar: -- Geniş S3, ECR, Secrets Manager veya KMS erişimine sahip uzun ömürlü IAM execution rolleri. +- Long-lived IAM execution roles with broad S3, ECR, Secrets Manager, or KMS access. - S3, EFS veya feature store'larda saklanan hassas veri setlerine erişim. - VPC'ler içinde network footholds (Studio apps, training jobs, endpoints). -- Konsol kimlik doğrulamasını atlayan yüksek ayrıcalıklı presigned URLs. +- Konsol kimlik doğrulamasını bypass eden yüksek ayrıcalıklı presigned URL'ler. -SageMaker'in nasıl bir araya getirildiğini anlamak, pivot, persist veya exfiltrate etmeden önce anahtardır. +SageMaker'ın nasıl yapılandırıldığını anlamak, pivot, persist veya exfiltrate etmeden önce kritik öneme sahiptir. -## Temel Yapı Taşları +## Core Building Blocks -- **Studio Domains & Spaces**: Web IDE (JupyterLab, Code Editor, RStudio). Her domain paylaşılan bir EFS dosya sistemi ve varsayılan execution rolüne sahiptir. -- **Notebook Instances**: Bağımsız notebook'lar için yönetilen EC2 instances; ayrı execution rolleri kullanırlar. -- **Training / Processing / Transform Jobs**: ECR'den kod çeken ve S3'ten veri çeken geçici container'lar. -- **Pipelines & Experiments**: Tüm adımları, girişleri ve çıkışları tanımlayan orkestre edilmiş iş akışları. -- **Models & Endpoints**: HTTPS endpoint'leri aracılığıyla inference için deploy edilmiş paketlenmiş artefaktlar. +- **Studio Domains & Spaces**: Web IDE (JupyterLab, Code Editor, RStudio). Her domain paylaşılan bir EFS dosya sistemi ve varsayılan execution role'a sahiptir. +- **Notebook Instances**: Tek başına notebook'lar için yönetilen EC2 instance'ları; ayrı execution rolleri kullanır. +- **Training / Processing / Transform Jobs**: ECR'den kod ve S3'ten veri çeken geçici container'lar. +- **Pipelines & Experiments**: Tüm adımları, girdileri ve çıktıları tanımlayan orkestre iş akışları. +- **Models & Endpoints**: HTTPS endpoints üzerinden çıkarım için dağıtılan paketlenmiş artefaktlar. - **Feature Store & Data Wrangler**: Veri hazırlama ve feature yönetimi için yönetilen servisler. -- **Autopilot & JumpStart**: Otomatik ML ve küratörlü model kataloğu. -- **MLflow Tracking Servers**: Presigned erişim token'larıyla yönetilen MLflow UI/API. +- **Autopilot & JumpStart**: Otomatikleştirilmiş ML ve küratörlü model kataloğu. +- **MLflow Tracking Servers**: Presigned access token'ları olan yönetilen MLflow UI/API. -Her kaynak execution rolü, S3 konumları, container görüntüleri ve isteğe bağlı VPC/KMS yapılandırmasına referans verir — bunların tamamını enumeration sırasında yakalayın. +Her kaynak bir execution role'a, S3 lokasyonlarına, container image'larına ve isteğe bağlı VPC/KMS yapılandırmasına referans verir — enumeration sırasında bunların tamamını yakalayın. -## Hesap & Global Metadata +## Account & Global Metadata ```bash REGION=us-east-1 # Portfolio status, used when provisioning Studio resources @@ -39,9 +39,9 @@ aws sagemaker list-models --region $REGION --query 'Models[].ExecutionRoleArn' - # Generic tag sweep across any SageMaker ARN you know aws sagemaker list-tags --resource-arn --region $REGION ``` -Herhangi bir hesaplar arası güven ilişkisini (execution roles veya S3 buckets with external principals gibi) ve service control policies veya SCPs gibi temel kısıtlamaları not edin. +Herhangi bir hesaplar arası güven ilişkisini (execution roles veya harici principal'lara sahip S3 bucket'ları) ve service control policies veya SCPs gibi temel kısıtlamaları not edin. -## Studio Domains, Apps & Shared Spaces +## Studio Domain'leri, Uygulamalar ve Paylaşılan Alanlar ```bash aws sagemaker list-domains --region $REGION aws sagemaker describe-domain --domain-id --region $REGION @@ -60,14 +60,14 @@ aws sagemaker describe-space --domain-id --space-name --regi aws sagemaker list-studio-lifecycle-configs --region $REGION aws sagemaker describe-studio-lifecycle-config --studio-lifecycle-config-name --region $REGION ``` -Kaydedilecekler: +Ne kaydedilmeli: - `DomainArn`, `AppSecurityGroupIds`, `SubnetIds`, `DefaultUserSettings.ExecutionRole`. -- Bağlı EFS (`HomeEfsFileSystemId`) ve S3 home dizinleri. -- Lifecycle scriptleri (çoğunlukla bootstrap kimlik bilgileri veya push/pull ek kod içerir). +- Mount edilmiş EFS (`HomeEfsFileSystemId`) ve S3 home dizinleri. +- Lifecycle scriptleri (çoğu zaman bootstrap kimlik bilgileri veya push/pull ile ekstra kod içerir). > [!TIP] -> Presigned Studio URLs, geniş yetki verilirse kimlik doğrulamasını atlayabilir. +> Presigned Studio URLs geniş yetki verilirse kimlik doğrulamayı atlayabilir. ## Notebook Instances & Lifecycle Configs ```bash @@ -78,11 +78,11 @@ aws sagemaker describe-notebook-instance-lifecycle-config --notebook-instance-li ``` Notebook meta verisi şunları ortaya çıkarır: -- Çalıştırma rolü (`RoleArn`), doğrudan internet erişimi veya yalnızca VPC modu. +- Execution role (`RoleArn`), doğrudan internet erişimi veya VPC-only modu. - S3 konumları `DefaultCodeRepository`, `DirectInternetAccess`, `RootAccess` içinde. -- credentials veya persistence hook'ları için lifecycle script'leri. +- Kimlik bilgileri veya kalıcılık hook'ları için yaşam döngüsü betikleri. -## Eğitim, İşleme, Dönüşüm ve Toplu İşler +## Eğitim, İşleme, Dönüştürme & Toplu İşler ```bash aws sagemaker list-training-jobs --region $REGION aws sagemaker describe-training-job --training-job-name --region $REGION @@ -95,10 +95,10 @@ aws sagemaker describe-transform-job --transform-job-name --region $REGION ``` İnceleyin: -- `AlgorithmSpecification.TrainingImage` / `AppSpecification.ImageUri` – hangi ECR imajlarının dağıtıldığını. -- `InputDataConfig` & `OutputDataConfig` – S3 bucket'ları, prefix'leri ve KMS anahtarları. -- `ResourceConfig.VolumeKmsKeyId`, `VpcConfig`, `EnableNetworkIsolation` – ağ veya şifreleme duruşunu belirleyin. -- `HyperParameters` ortam sırlarını veya bağlantı dizelerini leak edebilir. +- `AlgorithmSpecification.TrainingImage` / `AppSpecification.ImageUri` – hangi ECR imajlarının dağıtıldığını inceleyin. +- `InputDataConfig` & `OutputDataConfig` – S3 bucket'ları, prefix'leri ve KMS anahtarlarını inceleyin. +- `ResourceConfig.VolumeKmsKeyId`, `VpcConfig`, `EnableNetworkIsolation` – ağ veya şifreleme konfigürasyonunu belirleyin. +- `HyperParameters` ortam sırlarını veya bağlantı dizesi bilgilerini leak edebilir. ## Pipelines, Experiments & Trials ```bash @@ -110,9 +110,9 @@ aws sagemaker list-experiments --region $REGION aws sagemaker list-trials --experiment-name --region $REGION aws sagemaker list-trial-components --trial-name --region $REGION ``` -Pipeline tanımları her adımı, ilişkili rolleri, container image'larını ve ortam değişkenlerini ayrıntılı olarak belirtir. Trial bileşenleri sıklıkla eğitim artefakt URI'leri, S3 log'ları ve hassas veri akışına işaret eden metrikler içerir. +Pipeline tanımları her adımı, ilişkili rolleri, container imajlarını ve ortam değişkenlerini ayrıntılı olarak açıklar. Trial bileşenleri genellikle eğitim artefakt URI'leri, S3 logları ve hassas veri akışına işaret eden metrikler içerir. -## Modeller, Endpoint Yapılandırmaları & Konuşlandırılmış Endpoint'ler +## Modeller, Endpoint Yapılandırmaları & Dağıtılan Endpoint'ler ```bash aws sagemaker list-models --region $REGION aws sagemaker describe-model --model-name --region $REGION @@ -127,8 +127,8 @@ Odak alanları: - Model artefakt S3 URI'leri (`PrimaryContainer.ModelDataUrl`) ve inference container imajları. - Endpoint veri yakalama yapılandırması (S3 bucket, KMS) — olası log exfil için. -- Çoklu-model endpoint'ler `S3DataSource` veya `ModelPackage` kullanıyorsa (hesaplar arası paketleme için kontrol edin). -- Endpoint'lere bağlı ağ yapılandırmaları ve güvenlik grupları. +- Çoklu model endpoint'leri `S3DataSource` veya `ModelPackage` kullanıyor mu (cross-account packaging için kontrol edin). +- Endpoint'lere bağlı network konfigürasyonları ve security group'lar. ## Feature Store, Data Wrangler & Clarify ```bash @@ -143,9 +143,9 @@ aws sagemaker list-model-monitoring-schedule --region $REGION ``` Güvenlik çıkarımları: -- Online feature store'lar veriyi Kinesis'e çoğaltır; `OnlineStoreConfig.SecurityConfig.KmsKeyId` ve VPC'yi kontrol edin. -- Data Wrangler akışları genellikle JDBC/Redshift kimlik bilgilerini veya özel uç noktaları gömer. -- Clarify/Model Monitor işler S3'e veri aktarır; bu veriler herkese açık okunabilir veya hesaplar arası erişime açık olabilir. +- Online feature stores veriyi Kinesis'e kopyalar; `OnlineStoreConfig.SecurityConfig.KmsKeyId` ve VPC'yi kontrol edin. +- Data Wrangler flow'ları genellikle JDBC/Redshift kimlik bilgilerini veya özel endpoint'leri gömülü olarak içerir. +- Clarify/Model Monitor işleri veriyi S3'e aktarır; bu veriler herkese açık okunabilir veya farklı hesaplardan erişilebilir olabilir. ## MLflow Tracking Servers, Autopilot & JumpStart ```bash @@ -159,14 +159,14 @@ aws sagemaker list-jumpstart-models --region $REGION aws sagemaker list-jumpstart-script-resources --region $REGION ``` - MLflow tracking sunucuları deneyleri ve artefaktları depolar; presigned URLs her şeyi açığa çıkarabilir. -- Autopilot işler birden çok training job başlatır — gizli veri için çıktıları listeleyin. -- JumpStart referans mimarileri hesap içine ayrıcalıklı roller dağıtabilir. +- Autopilot işleri birden çok training job çalıştırır — gizli veriler için çıktıları listeleyin. +- JumpStart referans mimarileri hesaba ayrıcalıklı roller dağıtabilir. -## IAM & Ağ Hususları +## IAM ve Ağ ile İlgili Hususlar -- Tüm execution role'lere (Studio, notebooks, training jobs, pipelines, endpoints) eklenmiş IAM policy'lerini listeleyin. -- Ağ bağlamlarını kontrol edin: subnets, security groups, VPC endpoints. Birçok kuruluş training job'ları izole eder fakat outbound trafiği kısıtlamayı unutur. -- Harici erişim açısından `ModelDataUrl`, `DataCaptureConfig`, `InputDataConfig` içinde referans verilen S3 bucket policy'lerini gözden geçirin. +- Studio, notebooks, training jobs, pipelines, endpoints gibi tüm execution role'lara bağlı IAM policy'lerini listeleyin. +- Ağ bağlamlarını kontrol edin: subnets, security groups, VPC endpoints. Birçok kuruluş training jobs'ları izole eder ama outbound trafiği kısıtlamayı unutur. +- Dış erişim açısından `ModelDataUrl`, `DataCaptureConfig`, `InputDataConfig` içinde referans verilen S3 bucket policy'lerini gözden geçirin. ## Privilege Escalation @@ -192,7 +192,7 @@ aws sagemaker list-jumpstart-script-resources --region $REGION ../../aws-unauthenticated-enum-access/aws-sagemaker-unauthenticated-enum/README.md {{#endref}} -## Referanslar +## Kaynaklar - [AWS SageMaker Documentation](https://docs.aws.amazon.com/sagemaker/latest/dg/whatis.html) - [AWS CLI SageMaker Reference](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/index.html)