Translated ['src/pentesting-cloud/aws-security/aws-services/aws-sagemake

This commit is contained in:
Translator
2025-10-23 11:00:11 +00:00
parent db5b82d4e9
commit b39a8db1dd
@@ -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 <sagemaker-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 <domain-id> --region $REGION
@@ -60,14 +60,14 @@ aws sagemaker describe-space --domain-id <domain-id> --space-name <space> --regi
aws sagemaker list-studio-lifecycle-configs --region $REGION
aws sagemaker describe-studio-lifecycle-config --studio-lifecycle-config-name <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 <job> --region $REGION
@@ -95,10 +95,10 @@ aws sagemaker describe-transform-job --transform-job-name <job> --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 <experiment> --region $REGION
aws sagemaker list-trial-components --trial-name <trial> --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 <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 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)