AWS - SageMaker Enum
Reading time: 8 minutes
tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Dienstübersicht
Amazon SageMaker ist AWS' verwaltete Machine-Learning-Plattform, die Notebooks, Trainingsinfrastruktur, Orchestrierung, Registries und verwaltete Endpunkte zusammenführt. Eine Kompromittierung von SageMaker-Ressourcen liefert typischerweise:
- Längerlebige IAM-Ausführungsrollen mit umfangreichem Zugriff auf S3, ECR, Secrets Manager oder KMS.
- Zugriff auf sensible Datensätze, die in S3, EFS oder in Feature Stores gespeichert sind.
- Netzwerk-Fußfeste innerhalb von VPCs (Studio-Apps, Training-Jobs, Endpunkte).
- Hochprivilegierte presigned URLs, die die Console-Authentifizierung umgehen.
Zu verstehen, wie SageMaker aufgebaut ist, ist entscheidend, bevor Sie pivot, persist oder exfiltrate data.
Kernbausteine
- Studio Domains & Spaces: Web-IDE (JupyterLab, Code Editor, RStudio). Jede Domain hat ein gemeinsames EFS-Dateisystem und eine standardmäßige Ausführungsrolle.
- Notebook Instances: Managed EC2-Instanzen für eigenständige Notebooks; verwenden separate Ausführungsrollen.
- Training / Processing / Transform Jobs: Ephemere Container, die Code aus ECR und Daten aus S3 ziehen.
- Pipelines & Experiments: Orchestrierte Workflows, die alle Schritte, Eingaben und Ausgaben beschreiben.
- Models & Endpoints: Verpackte Artefakte, die für Inferenz über HTTPS-Endpunkte bereitgestellt werden.
- Feature Store & Data Wrangler: Managed Services für Datenaufbereitung und Feature-Management.
- Autopilot & JumpStart: Automatisiertes ML und kuratierter Modellkatalog.
- MLflow Tracking Servers: Managed MLflow UI/API mit presigned Zugriffstokens.
Jede Ressource verweist auf eine Ausführungsrolle, S3-Standorte, Container-Images und optionale VPC/KMS-Konfiguration — erfasse alle während der enumeration.
Account & globale Metadaten
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
Notiere alle Cross-Account-Trusts (execution roles oder S3 buckets mit external principals) und grundlegende Beschränkungen wie service control policies oder SCPs.
Studio Domains, Apps & Shared Spaces
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
Was aufgezeichnet werden sollte:
DomainArn,AppSecurityGroupIds,SubnetIds,DefaultUserSettings.ExecutionRole.- Gemountete EFS (
HomeEfsFileSystemId) und S3-Home-Verzeichnisse. - Lifecycle-Skripte (enthalten oft Bootstrap-Zugangsdaten oder zusätzlichen Code für push/pull).
tip
Presigned Studio URLs können die Authentifizierung umgehen, wenn sie weitreichend vergeben werden.
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
Notebook-Metadaten zeigen:
- Ausführungsrolle (
RoleArn), direkter Internetzugang vs. VPC-only-Modus. - S3-Standorte in
DefaultCodeRepository,DirectInternetAccess,RootAccess. - Lifecycle-Skripte für credentials oder persistence hooks.
Training-, Processing-, Transform- und 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
Überprüfe:
AlgorithmSpecification.TrainingImage/AppSpecification.ImageUri– welche ECR images eingesetzt werden.InputDataConfig&OutputDataConfig– S3-Buckets, Präfixe und KMS-Schlüssel.ResourceConfig.VolumeKmsKeyId,VpcConfig,EnableNetworkIsolation– die Netzwerk- oder Verschlüsselungskonfiguration bestimmen.HyperParameterskönnen environment secrets oder connection strings leak.
Pipelines, Experimente & 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
Pipeline-Definitionen beschreiben jeden Schritt, die zugehörigen Rollen, Container-Images und Umgebungsvariablen. Trial-Komponenten enthalten häufig Training-Artefakt-URIs, S3-Logs und Metriken, die auf einen sensiblen Datenfluss hinweisen.
Modelle, Endpoint-Konfigurationen & bereitgestellte Endpunkte
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
Fokusbereiche:
- Model-Artefakt S3 URIs (
PrimaryContainer.ModelDataUrl) und inference container images. - Endpoint data capture configuration (S3 bucket, KMS) für mögliche log exfil.
- Multi-model endpoints using
S3DataSourceorModelPackage(prüfen auf cross-account packaging). - Netzwerkkonfigurationen und security groups, die an Endpoints angehängt sind.
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
Sicherheitszusammenfassung:
- Online feature stores replizieren Daten zu Kinesis; prüfe
OnlineStoreConfig.SecurityConfig.KmsKeyIdund VPC. - Data Wrangler flows enthalten oft JDBC-/Redshift-Zugangsdaten oder private Endpunkte.
- Clarify/Model Monitor-Jobs exportieren Daten nach S3, die möglicherweise world-readable oder kontoübergreifend zugänglich sind.
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 speichern Experimente und Artefakte; presigned URLs können alles offenlegen.
- Autopilot-Jobs starten mehrere training jobs — prüfen Sie die Ausgaben auf versteckte Daten.
- JumpStart-Referenzarchitekturen können privilegierte Rollen im Account bereitstellen.
IAM & Netzwerküberlegungen
- Erfassen Sie IAM-Policies, die an alle Ausführungsrollen angehängt sind (Studio, notebooks, training jobs, pipelines, endpoints).
- Prüfen Sie Netzwerk-Kontexte: subnets, security groups, VPC endpoints. Viele Organisationen isolieren training jobs, vergessen aber, ausgehenden Traffic einzuschränken.
- Überprüfen Sie S3-Bucket-Policies, die in
ModelDataUrl,DataCaptureConfig,InputDataConfigreferenziert werden, auf externen Zugriff.
Privilege Escalation
Persistence
Post-Exploitation
AWS - SageMaker Post-Exploitation
Unauthorized Access
AWS - SageMaker Unauthenticated Enum
Referenzen
- AWS SageMaker Documentation
- AWS CLI SageMaker Reference
- SageMaker Studio Architecture
- SageMaker Security Best Practices
tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
HackTricks Cloud