Translated ['src/pentesting-cloud/aws-security/aws-unauthenticated-enum-

This commit is contained in:
Translator
2025-10-14 01:28:55 +00:00
parent a51dbe2c5e
commit cc460cddc7
199 changed files with 8325 additions and 4968 deletions

View File

@@ -0,0 +1,202 @@
# AWS - SageMaker Enum
{{#include ../../../../banners/hacktricks-training.md}}
## Descripción del servicio
Amazon SageMaker es la plataforma de aprendizaje automático gestionada de AWS que integra notebooks, infraestructura de entrenamiento, orquestación, registros y endpoints gestionados. Un compromiso de recursos de SageMaker normalmente proporciona:
- Roles de ejecución IAM de larga duración con amplio acceso a S3, ECR, Secrets Manager o KMS.
- Acceso a conjuntos de datos sensibles almacenados en S3, EFS o dentro de feature stores.
- Puntos de apoyo en la red dentro de VPCs (apps de Studio, training jobs, endpoints).
- URLs prefirmadas de alto privilegio que eluden la autenticación de la consola.
Comprender cómo está ensamblado SageMaker es clave antes de pivot, persist o exfiltrate datos.
## Componentes principales
- **Studio Domains & Spaces**: IDE web (JupyterLab, Code Editor, RStudio). Cada dominio tiene un sistema de archivos EFS compartido y un rol de ejecución predeterminado.
- **Notebook Instances**: Instancias EC2 gestionadas para notebooks independientes; usan roles de ejecución separados.
- **Training / Processing / Transform Jobs**: Contenedores efímeros que extraen código de ECR y datos de S3.
- **Pipelines & Experiments**: Flujos de trabajo orquestados que describen todos los pasos, entradas y salidas.
- **Models & Endpoints**: Artefactos empaquetados desplegados para inferencia a través de endpoints HTTPS.
- **Feature Store & Data Wrangler**: Servicios gestionados para la preparación de datos y la gestión de features.
- **Autopilot & JumpStart**: ML automatizado y catálogo de modelos curado.
- **MLflow Tracking Servers**: UI/API de MLflow gestionados con tokens de acceso prefirmados.
Cada recurso referencia un rol de ejecución, ubicaciones S3, imágenes de contenedor y configuración opcional de VPC/KMS—captura todos ellos durante la enumeración.
## Cuenta y metadatos globales
```bash
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 cualquier cross-account trust (execution roles o S3 buckets con external principals) y las restricciones de línea de base, como service control policies o SCPs.
## Studio Domains, Apps & Shared Spaces
```bash
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 en S3.
- Lifecycle scripts (a menudo contienen credenciales bootstrap o código adicional push/pull).
> [!TIP]
> Presigned Studio URLs pueden eludir la autenticación si se conceden ampliamente.
## Notebook Instances & Lifecycle Configs
```bash
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:
- Rol de ejecución (`RoleArn`), acceso directo a Internet vs. modo solo VPC.
- Ubicaciones S3 en `DefaultCodeRepository`, `DirectInternetAccess`, `RootAccess`.
- Lifecycle scripts para credentials o persistence hooks.
## Training, Processing, Transform & Batch Jobs
```bash
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.
- `HyperParameters` pueden leak secretos del entorno o cadenas de conexión.
## Pipelines, Experiments & Trials
```bash
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 a menudo contienen URIs de artefactos de entrenamiento, logs de S3 y métricas que sugieren el flujo de datos sensibles.
## Modelos, Configuraciones de Endpoint y Endpoints Desplegados
```bash
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 de 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-model que usan `S3DataSource` o `ModelPackage` (verificar empaquetado entre cuentas).
- Configuraciones de red y grupos de seguridad adjuntos a endpoints.
## Feature Store, Data Wrangler & Clarify
```bash
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:
- Online feature stores replican datos a Kinesis; revisa `OnlineStoreConfig.SecurityConfig.KmsKeyId` y VPC.
- Los flujos de Data Wrangler suelen incrustar 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 desde otras cuentas.
## MLflow Tracking Servers, Autopilot & JumpStart
```bash
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 exponer todo.
- Los jobs de Autopilot inician múltiples training jobs — enumera los outputs 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 el contexto de red: subnets, security groups, VPC endpoints. Muchas organizaciones aíslan los training jobs pero olvidan restringir el tráfico saliente.
- Revisa las políticas de los buckets S3 referenciadas en `ModelDataUrl`, `DataCaptureConfig`, `InputDataConfig` para acceso externo.
## Escalada de privilegios
{{#ref}}
../../aws-privilege-escalation/aws-sagemaker-privesc/README.md
{{#endref}}
## Persistencia
{{#ref}}
../../aws-persistence/aws-sagemaker-persistence/README.md
{{#endref}}
## Post-explotación
{{#ref}}
../../aws-post-exploitation/aws-sagemaker-post-exploitation/README.md
{{#endref}}
## Acceso no autorizado
{{#ref}}
../aws-sagemaker-unauthorized-access/README.md
{{#endref}}
## Referencias
- [AWS SageMaker Documentation](https://docs.aws.amazon.com/sagemaker/latest/dg/whatis.html)
- [AWS CLI SageMaker Reference](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/index.html)
- [SageMaker Studio Architecture](https://docs.aws.amazon.com/sagemaker/latest/dg/gs-studio.html)
- [SageMaker Security Best Practices](https://docs.aws.amazon.com/sagemaker/latest/dg/security.html)
{{#include ../../../../banners/hacktricks-training.md}}