AWS - SageMaker Enum

Reading time: 8 minutes

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir 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

bash
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

bash
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

bash
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

bash
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

bash
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

bash
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

bash
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

bash
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 et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks