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-services/aws-sagemake
This commit is contained in:
@@ -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 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)
|
||||
|
||||
Reference in New Issue
Block a user