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