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
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
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.HyperParameterspeuvent 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
S3DataSourceouModelPackage(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.KmsKeyIdet 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,InputDataConfigpour lâaccĂšs externe.
Escalade de privilĂšges
Persistance
Post-exploitation
AWS - SageMaker Post-Exploitation
AccÚs non autorisé
AWS - SageMaker Unauthenticated Enum
Références
- AWS SageMaker Documentation
- AWS CLI SageMaker Reference
- SageMaker Studio Architecture
- SageMaker Security Best Practices
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
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
HackTricks Cloud

