AWS - SageMaker Enum
Reading time: 8 minutes
tip
Aprenda e pratique Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP:
HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
Visão Geral do Serviço
Amazon SageMaker é a plataforma gerenciada de machine learning da AWS que integra notebooks, infraestrutura de treinamento, orquestração, registries e endpoints gerenciados. Um comprometimento de recursos do SageMaker normalmente fornece:
- Roles de execução IAM de longa duração com amplo acesso a S3, ECR, Secrets Manager ou KMS.
- Acesso a datasets sensíveis armazenados em S3, EFS ou dentro de feature stores.
- Network footholds dentro de VPCs (Studio apps, training jobs, endpoints).
- High-privilege presigned URLs que bypassam a autenticação do console.
Entender como o SageMaker é montado é chave antes de pivot, persist, or exfiltrate data.
Core Building Blocks
- Studio Domains & Spaces: Web IDE (JupyterLab, Code Editor, RStudio). Cada domain tem um sistema de arquivos EFS compartilhado e execution role padrão.
- Notebook Instances: Instâncias EC2 gerenciadas para notebooks standalone; usam execution roles separadas.
- Training / Processing / Transform Jobs: Containers efêmeros que puxam código de ECR e dados de S3.
- Pipelines & Experiments: Workflows orquestrados que descrevem todos os passos, inputs e outputs.
- Models & Endpoints: Artefatos empacotados implantados para inferência via endpoints HTTPS.
- Feature Store & Data Wrangler: Serviços gerenciados para preparação de dados e gerenciamento de features.
- Autopilot & JumpStart: ML automatizado e catálogo de modelos curado.
- MLflow Tracking Servers: UI/API do MLflow gerenciada com presigned access tokens.
Every resource references an execution role, S3 locations, container images, and optional VPC/KMS configuration—capture all of them during 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
Anote qualquer confiança entre contas (cross-account) (execution roles ou S3 buckets com principals externos) e restrições básicas, como service control policies ou SCPs.
Domínios, Apps e Shared Spaces do Studio
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
O que registrar:
DomainArn,AppSecurityGroupIds,SubnetIds,DefaultUserSettings.ExecutionRole.- EFS montado (
HomeEfsFileSystemId) e diretórios home no S3. - Scripts de ciclo de vida (frequentemente contêm credenciais de bootstrap ou push/pull de código adicional).
tip
Presigned Studio URLs podem contornar a autenticação se forem concedidos amplamente.
Instâncias de Notebook e Configurações de Ciclo de Vida
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
Os metadados do notebook revelam:
- Função de execução (
RoleArn), acesso direto à Internet vs. modo apenas VPC. - Localizações S3 em
DefaultCodeRepository,DirectInternetAccess,RootAccess. - Scripts de ciclo de vida para credenciais ou ganchos de persistência.
Treinamento, Processamento, Transformação e Tarefas em Lote
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
Analise:
AlgorithmSpecification.TrainingImage/AppSpecification.ImageUri– quais imagens ECR estão implantadas.InputDataConfig&OutputDataConfig– S3 buckets, prefixes e KMS keys.ResourceConfig.VolumeKmsKeyId,VpcConfig,EnableNetworkIsolation– determinam a postura de rede ou de criptografia.HyperParameterspodem leak segredos de ambiente ou 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
As definições de pipeline detalham cada etapa, as funções associadas, as imagens de contêiner e as variáveis de ambiente. Componentes de trial frequentemente contêm URIs de artefatos de treinamento, logs do S3 e métricas que sugerem fluxo de dados sensíveis.
Modelos, Configurações de Endpoint & Endpoints Implantados
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 foco:
- URIs S3 dos artefatos de modelo (
PrimaryContainer.ModelDataUrl) e imagens de container de inferência. - Configuração de captura de dados de endpoint (S3 bucket, KMS) para possível exfiltração de logs.
- Endpoints multi-model usando
S3DataSourceouModelPackage(verificar empacotamento entre contas). - Configurações de rede e security groups associados aos 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
Pontos de segurança:
- Online feature stores replicam dados para Kinesis; verifique
OnlineStoreConfig.SecurityConfig.KmsKeyIde VPC. - Fluxos do Data Wrangler frequentemente incorporam credenciais JDBC/Redshift ou endpoints privados.
- Jobs do Clarify/Model Monitor exportam dados para S3 que podem ser legíveis publicamente ou acessíveis entre contas.
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 armazenam experimentos e artefatos; presigned URLs podem expor tudo.
- Autopilot jobs disparam múltiplos training jobs — enumere os outputs em busca de dados ocultos.
- JumpStart reference architectures podem implantar roles privilegiados na conta.
IAM & Networking Considerations
- Enumere políticas IAM anexadas a todos os roles de execução (Studio, notebooks, training jobs, pipelines, endpoints).
- Verifique contextos de rede: subnets, security groups, VPC endpoints. Muitas organizações isolam training jobs mas esquecem de restringir o tráfego de saída.
- Revise políticas de bucket S3 referenciadas em
ModelDataUrl,DataCaptureConfig,InputDataConfigpara acesso externo.
Privilege Escalation
Persistence
Post-Exploitation
AWS - SageMaker Post-Exploitation
Unauthorized Access
AWS - SageMaker Unauthenticated Enum
References
- AWS SageMaker Documentation
- AWS CLI SageMaker Reference
- SageMaker Studio Architecture
- SageMaker Security Best Practices
tip
Aprenda e pratique Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP:
HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
HackTricks Cloud