AWS - SageMaker Enum
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
- Vérifiez les plans d’abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.
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 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
- Vérifiez les plans d’abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.
HackTricks Cloud

