AWS - SageMaker Enum
Tip
Aprende y practica AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Consulta los subscription plans!
- Únete al 💬 Discord group o al telegram group o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud github repos.
Descripción del servicio
Amazon SageMaker es la plataforma gestionada de machine-learning de AWS que conecta notebooks, infraestructura de entrenamiento, orquestación, registries y endpoints gestionados. Una compromisión de recursos de SageMaker normalmente proporciona:
- Long-lived IAM execution roles con amplio acceso a S3, ECR, Secrets Manager o KMS.
- Acceso a datasets sensibles almacenados en S3, EFS o dentro de feature stores.
- Footholds de red dentro de VPCs (Studio apps, training jobs, endpoints).
- High-privilege presigned URLs que evitan la autenticación del console.
Entender cómo está ensamblado SageMaker es clave antes de pivot, persist, or exfiltrate data.
Componentes principales
- Studio Domains & Spaces: Web IDE (JupyterLab, Code Editor, RStudio). Cada domain tiene un sistema de archivos EFS compartido y un default execution role.
- Notebook Instances: Instancias EC2 gestionadas para notebooks independientes; usan execution roles separados.
- Training / Processing / Transform Jobs: Contenedores efímeros que tiran código desde ECR y datos desde S3.
- Pipelines & Experiments: Workflows orquestados que describen todos los pasos, inputs y outputs.
- Models & Endpoints: Artefactos empaquetados desplegados para inference vía endpoints HTTPS.
- Feature Store & Data Wrangler: Servicios gestionados para preparación de datos y gestión de features.
- Autopilot & JumpStart: ML automatizado y catálogo curado de modelos.
- MLflow Tracking Servers: UI/API de MLflow gestionada con presigned access tokens.
Cada recurso referencia un execution role, ubicaciones S3, container images y configuración opcional VPC/KMS — captura todos ellos durante la enumeration.
Account & Global Metadata
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
Anota cualquier relación de confianza entre cuentas (roles de ejecución o S3 buckets con entidades externas) y restricciones básicas como service control policies o SCPs.
Dominios de Studio, Apps y Espacios Compartidos
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
Qué registrar:
DomainArn,AppSecurityGroupIds,SubnetIds,DefaultUserSettings.ExecutionRole.- EFS montado (
HomeEfsFileSystemId) y directorios home de S3. - Lifecycle scripts (a menudo contienen credenciales de bootstrap o código adicional push/pull).
Tip
Presigned Studio URLs can bypass authentication if granted broadly.
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
Los metadatos del notebook revelan:
- Role de ejecución (RoleArn), acceso directo a internet vs. modo solo VPC.
- Ubicaciones S3 en DefaultCodeRepository, DirectInternetAccess, RootAccess.
- Scripts de lifecycle para credenciales o hooks de persistencia.
Entrenamiento, Procesamiento, Transform & Batch Jobs
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
Examinar:
AlgorithmSpecification.TrainingImage/AppSpecification.ImageUri– qué imágenes ECR están desplegadas.InputDataConfig&OutputDataConfig– S3 buckets, prefijos y claves KMS.ResourceConfig.VolumeKmsKeyId,VpcConfig,EnableNetworkIsolation– determinan la postura de red o de cifrado.HyperParameterspueden leak secretos de entorno o cadenas de conexión.
Pipelines, Experimentos y Ensayos
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
Las definiciones de pipeline detallan cada paso, los roles asociados, las imágenes de contenedor y las variables de entorno. Los componentes de Trial suelen contener URIs de artefactos de entrenamiento, registros de S3 y métricas que sugieren el flujo de datos sensibles.
Modelos, Configuraciones de Endpoint y Endpoints Desplegados
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
Áreas de enfoque:
- URIs de artefactos del modelo en S3 (
PrimaryContainer.ModelDataUrl) y las imágenes de contenedor de inferencia. - Configuración de captura de datos del endpoint (S3 bucket, KMS) para posible exfiltración de logs.
- Endpoints multi-modelo que usan
S3DataSourceoModelPackage(verificar empaquetado entre cuentas). - Configuraciones de red y security groups adjuntos a los 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
Conclusiones de seguridad:
- Los feature stores en línea replican datos a Kinesis; verifique
OnlineStoreConfig.SecurityConfig.KmsKeyIdy la VPC. - Los flujos de Data Wrangler con frecuencia incrustan credenciales JDBC/Redshift o endpoints privados.
- Los trabajos de Clarify/Model Monitor exportan datos a S3 que podrían ser legibles públicamente o accesibles entre cuentas.
Servidores de Tracking de MLflow, 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
- Los servidores de tracking de MLflow almacenan experimentos y artefactos; las presigned URLs pueden exponerlo todo.
- Los trabajos de Autopilot ejecutan múltiples trabajos de entrenamiento — enumera las salidas en busca de datos ocultos.
- Las arquitecturas de referencia de JumpStart pueden desplegar roles privilegiados en la cuenta.
Consideraciones de IAM y redes
- Enumera las políticas de IAM adjuntas a todos los roles de ejecución (Studio, notebooks, training jobs, pipelines, endpoints).
- Revisa contextos de red: subredes, grupos de seguridad, endpoints de VPC. Muchas organizaciones aíslan los training jobs pero olvidan restringir el tráfico saliente.
- Revisa las políticas de buckets S3 referenciadas en
ModelDataUrl,DataCaptureConfig,InputDataConfigpara acceso externo.
Escalada de privilegios
Persistencia
Post-explotación
AWS - SageMaker Post-Exploitation
Acceso no autorizado
AWS - SageMaker Unauthenticated Enum
Referencias
- AWS SageMaker Documentation
- AWS CLI SageMaker Reference
- SageMaker Studio Architecture
- SageMaker Security Best Practices
Tip
Aprende y practica AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Consulta los subscription plans!
- Únete al 💬 Discord group o al telegram group o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud github repos.
HackTricks Cloud

