AWS - SageMaker Enum

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin

Service Overview

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:

  • 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ı bypass eden yüksek ayrıcalıklı presigned URL’ler.

SageMaker’ın nasıl yapılandırıldığını anlamak, pivot, persist veya exfiltrate etmeden önce kritik öneme sahiptir.

Core Building Blocks

  • 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: 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 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.

Account & Global Metadata

REGION=us-east-1
# Portfolio status, used when provisioning Studio resources
aws sagemaker get-sagemaker-servicecatalog-portfolio-status --region $REGION

# List execution roles used by models (extend to other resources as needed)
aws sagemaker list-models --region $REGION --query 'Models[].ExecutionRoleArn' --output text | tr '	' '
' | sort -u

# 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 harici principal’lara sahip S3 bucket’ları) ve service control policies veya SCPs gibi temel kısıtlamaları not edin.

Studio Domain’leri, Uygulamalar ve Paylaşılan Alanlar

aws sagemaker list-domains --region $REGION
aws sagemaker describe-domain --domain-id <domain-id> --region $REGION
aws sagemaker list-user-profiles --domain-id-equals <domain-id> --region $REGION
aws sagemaker describe-user-profile --domain-id <domain-id> --user-profile-name <profile> --region $REGION

# Enumerate apps (JupyterServer, KernelGateway, RStudioServerPro, CodeEditor, Canvas, etc.)
aws sagemaker list-apps --domain-id-equals <domain-id> --region $REGION
aws sagemaker describe-app --domain-id <domain-id> --user-profile-name <profile> --app-type JupyterServer --app-name default --region $REGION

# Shared collaborative spaces
aws sagemaker list-spaces --domain-id-equals <domain-id> --region $REGION
aws sagemaker describe-space --domain-id <domain-id> --space-name <space> --region $REGION

# Studio lifecycle configurations (shell scripts at start/stop)
aws sagemaker list-studio-lifecycle-configs --region $REGION
aws sagemaker describe-studio-lifecycle-config --studio-lifecycle-config-name <name> --region $REGION

Ne kaydedilmeli:

  • DomainArn, AppSecurityGroupIds, SubnetIds, DefaultUserSettings.ExecutionRole.
  • 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ğrulamayı atlayabilir.

Notebook Instances & Lifecycle Configs

aws sagemaker list-notebook-instances --region $REGION
aws sagemaker describe-notebook-instance --notebook-instance-name <name> --region $REGION
aws sagemaker list-notebook-instance-lifecycle-configs --region $REGION
aws sagemaker describe-notebook-instance-lifecycle-config --notebook-instance-lifecycle-config-name <cfg> --region $REGION

Notebook meta verisi şunları ortaya çıkarır:

  • Execution role (RoleArn), doğrudan internet erişimi veya VPC-only modu.
  • S3 konumları DefaultCodeRepository, DirectInternetAccess, RootAccess içinde.
  • Kimlik bilgileri veya kalıcılık hook’ları için yaşam döngüsü betikleri.

Eğitim, İşleme, Dönüştürme & Toplu İşler

aws sagemaker list-training-jobs --region $REGION
aws sagemaker describe-training-job --training-job-name <job> --region $REGION

aws sagemaker list-processing-jobs --region $REGION
aws sagemaker describe-processing-job --processing-job-name <job> --region $REGION

aws sagemaker list-transform-jobs --region $REGION
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ı 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

aws sagemaker list-pipelines --region $REGION
aws sagemaker list-pipeline-executions --pipeline-name <pipeline> --region $REGION
aws sagemaker describe-pipeline --pipeline-name <pipeline> --region $REGION

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 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ı & Dağıtılan Endpoint’ler

aws sagemaker list-models --region $REGION
aws sagemaker describe-model --model-name <name> --region $REGION

aws sagemaker list-endpoint-configs --region $REGION
aws sagemaker describe-endpoint-config --endpoint-config-name <cfg> --region $REGION

aws sagemaker list-endpoints --region $REGION
aws sagemaker describe-endpoint --endpoint-name <endpoint> --region $REGION

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’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

aws sagemaker list-feature-groups --region $REGION
aws sagemaker describe-feature-group --feature-group-name <feature-group> --region $REGION

aws sagemaker list-data-wrangler-flows --region $REGION
aws sagemaker describe-data-wrangler-flow --flow-name <flow> --region $REGION

aws sagemaker list-model-quality-job-definitions --region $REGION
aws sagemaker list-model-monitoring-schedule --region $REGION

Güvenlik çıkarımları:

  • 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

aws sagemaker list-mlflow-tracking-servers --region $REGION
aws sagemaker describe-mlflow-tracking-server --tracking-server-name <name> --region $REGION

aws sagemaker list-auto-ml-jobs --region $REGION
aws sagemaker describe-auto-ml-job --auto-ml-job-name <name> --region $REGION

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ş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 ve Ağ ile İlgili Hususlar

  • 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

AWS - Sagemaker Privesc

Persistence

Aws Sagemaker Persistence

Post-Exploitation

AWS - SageMaker Post-Exploitation

Unauthorized Access

AWS - SageMaker Unauthenticated Enum

Kaynaklar

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin