AWS - SageMaker Enum

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks

Aperçu du service

Amazon SageMaker est la plateforme de machine learning gĂ©rĂ©e d’AWS qui relie notebooks, infrastructure de training, orchestration, registries et endpoints managĂ©s. Une compromission des ressources SageMaker fournit typiquement :

  • RĂŽles d’exĂ©cution IAM Ă  longue durĂ©e de vie avec un large accĂšs Ă  S3, ECR, Secrets Manager ou KMS.
  • AccĂšs Ă  des jeux de donnĂ©es sensibles stockĂ©s dans S3, EFS, ou dans des feature stores.
  • Points d’ancrage rĂ©seau Ă  l’intĂ©rieur des VPCs (Studio apps, training jobs, endpoints).
  • Presigned URLs Ă  haut niveau de privilĂšges qui contournent l’authentification console.

Comprendre comment SageMaker est assemblé est clé avant de pivot, persist, or exfiltrate data.

Composants principaux

  • Studio Domains & Spaces: Web IDE (JupyterLab, Code Editor, RStudio). Chaque domain dispose d’un systĂšme de fichiers EFS partagĂ© et d’un rĂŽle d’exĂ©cution par dĂ©faut.
  • Notebook Instances: Instances EC2 managĂ©es pour notebooks autonomes ; utilisent des rĂŽles d’exĂ©cution sĂ©parĂ©s.
  • Training / Processing / Transform Jobs: Conteneurs Ă©phĂ©mĂšres qui rĂ©cupĂšrent le code depuis ECR et les donnĂ©es depuis S3.
  • Pipelines & Experiments: Workflows orchestrĂ©s dĂ©crivant toutes les Ă©tapes, entrĂ©es et sorties.
  • Models & Endpoints: Artefacts packagĂ©s dĂ©ployĂ©s pour l’infĂ©rence via des endpoints HTTPS.
  • Feature Store & Data Wrangler: Services managĂ©s pour la prĂ©paration des donnĂ©es et la gestion des features.
  • Autopilot & JumpStart: ML automatisĂ© et catalogue de modĂšles curated.
  • MLflow Tracking Servers: UI/API MLflow managĂ©e avec tokens d’accĂšs presigned.

Chaque ressource rĂ©fĂ©rence un rĂŽle d’exĂ©cution, des emplacements S3, des images de conteneur et une configuration optionnelle VPC/KMS — capturez-les tous pendant enumeration.

Compte et métadonnées globales

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

Notez toute cross-account trust (execution roles ou S3 buckets avec external principals) et les restrictions de base telles que service control policies ou SCPs.

Domaines Studio, Applications & Espaces partagés

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

À enregistrer :

  • DomainArn, AppSecurityGroupIds, SubnetIds, DefaultUserSettings.ExecutionRole.
  • EFS montĂ©s (HomeEfsFileSystemId) et rĂ©pertoires home S3.
  • Scripts de lifecycle (contiennent souvent des identifiants bootstrap ou effectuent des opĂ©rations push/pull de code supplĂ©mentaire).

Tip

Presigned Studio URLs peuvent contourner l’authentification si elles sont accordĂ©es de maniĂšre trop large.

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

Les métadonnées du Notebook révÚlent :

  • RĂŽle d’exĂ©cution (RoleArn), accĂšs direct Ă  Internet vs. mode VPC-only.
  • Emplacements S3 dans DefaultCodeRepository, DirectInternetAccess, RootAccess.
  • Scripts de lifecycle pour credentials ou hooks de persistance.

TĂąches Training, Processing, Transform & Batch

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

Examinez :

  • AlgorithmSpecification.TrainingImage / AppSpecification.ImageUri – quelles images ECR sont dĂ©ployĂ©es.
  • InputDataConfig & OutputDataConfig – buckets S3, prĂ©fixes et clĂ©s KMS.
  • ResourceConfig.VolumeKmsKeyId, VpcConfig, EnableNetworkIsolation – dĂ©terminent la posture rĂ©seau ou de chiffrement.
  • HyperParameters peuvent leak des secrets d’environnement ou des connection strings.

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

Les dĂ©finitions de pipeline dĂ©taillent chaque Ă©tape, les rĂŽles associĂ©s, les images de conteneurs et les variables d’environnement. Les composants d’essai contiennent souvent des URI d’artefacts d’entraĂźnement, des logs S3 et des mĂ©triques qui suggĂšrent un flux de donnĂ©es sensibles.

ModÚles, configurations de points de terminaison et points de terminaison déployés

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

Points d’attention :

  • URI S3 des artefacts de modĂšle (PrimaryContainer.ModelDataUrl) et images de conteneur d’infĂ©rence.
  • Configuration de capture de donnĂ©es des endpoints (S3 bucket, KMS) pour une Ă©ventuelle exfiltration de logs.
  • Endpoints multi-modĂšles utilisant S3DataSource ou ModelPackage (vĂ©rifier le packaging inter-compte).
  • Configurations rĂ©seau et groupes de sĂ©curitĂ© attachĂ©s aux endpoints.

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

Points clés de sécurité :

  • Online feature stores rĂ©pliquent des donnĂ©es vers Kinesis ; vĂ©rifiez OnlineStoreConfig.SecurityConfig.KmsKeyId et la VPC.
  • Data Wrangler flows intĂšgrent souvent des identifiants JDBC/Redshift ou des endpoints privĂ©s.
  • Clarify/Model Monitor jobs exportent des donnĂ©es vers S3 qui peuvent ĂȘtre lisibles publiquement ou accessibles entre comptes.

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 servers stockent des experiments et des artefacts ; les URLs prĂ©-signĂ©es (presigned URLs) peuvent tout exposer.
  • Les jobs Autopilot lancent plusieurs training jobs — Ă©numĂ©rez les sorties pour dĂ©tecter des donnĂ©es cachĂ©es.
  • Les reference architectures JumpStart peuvent dĂ©ployer des rĂŽles privilĂ©giĂ©s dans le compte.

Considérations IAM & Réseau

  • ÉnumĂ©rez les politiques IAM attachĂ©es Ă  tous les rĂŽles d’exĂ©cution (Studio, notebooks, training jobs, pipelines, endpoints).
  • VĂ©rifiez les contextes rĂ©seau : subnets, security groups, VPC endpoints. De nombreuses organisations isolent les training jobs mais oublient de restreindre le trafic sortant.
  • Passez en revue les politiques de bucket S3 rĂ©fĂ©rencĂ©es dans ModelDataUrl, DataCaptureConfig, InputDataConfig pour l’accĂšs externe.

Escalade de privilĂšges

AWS - Sagemaker Privesc

Persistance

Aws Sagemaker Persistence

Post-exploitation

AWS - SageMaker Post-Exploitation

AccÚs non autorisé

AWS - SageMaker Unauthenticated Enum

Références

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks