AWS - SageMaker Enum

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

Επισκόπηση Υπηρεσίας

Το Amazon SageMaker είναι η διαχειριζόμενη πλατφόρμα μηχανικής μάθησης της AWS που συγκεντρώνει notebooks, training infrastructure, orchestration, registries και managed endpoints. Μια παραβίαση πόρων του SageMaker συνήθως παρέχει:

  • Μακροχρόνιοι IAM execution roles με ευρεία πρόσβαση σε S3, ECR, Secrets Manager ή KMS.
  • Πρόσβαση σε ευαίσθητα σύνολα δεδομένων αποθηκευμένα σε S3, EFS ή μέσα σε feature stores.
  • Network footholds εντός VPCs (Studio apps, training jobs, endpoints).
  • High-privilege presigned URLs που παρακάμπτουν το console authentication.

Η κατανόηση του πώς είναι δομημένο το SageMaker είναι κρίσιμη πριν κάνετε pivot, persist, ή exfiltrate δεδομένα.

Κύρια Συστατικά

  • Studio Domains & Spaces: Web IDE (JupyterLab, Code Editor, RStudio). Κάθε domain διαθέτει ένα κοινό σύστημα αρχείων EFS και προεπιλεγμένο execution role.
  • Notebook Instances: Managed EC2 instances για standalone notebooks· χρησιμοποιούν ξεχωριστά execution roles.
  • Training / Processing / Transform Jobs: Προσωρινά containers που τραβούν κώδικα από ECR και δεδομένα από S3.
  • Pipelines & Experiments: Orchestrated workflows που περιγράφουν όλα τα βήματα, τα inputs και τα outputs.
  • Models & Endpoints: Συσκευασμένα artefacts αναπτυγμένα για inference μέσω HTTPS endpoints.
  • Feature Store & Data Wrangler: Διαχειριζόμενες υπηρεσίες για προετοιμασία δεδομένων και διαχείριση χαρακτηριστικών.
  • Autopilot & JumpStart: Αυτοματοποιημένο ML και επιμελημένος κατάλογος μοντέλων.
  • MLflow Tracking Servers: Διαχειριζόμενο MLflow UI/API με presigned access tokens.

Κάθε resource αναφέρει ένα execution role, τοποθεσίες S3, container images, και προαιρετική VPC/KMS διαμόρφωση — καταγράψτε όλα αυτά κατά τη διάρκεια της 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

Σημειώστε οποιαδήποτε cross-account trust (execution roles ή S3 buckets με external principals) και βασικούς περιορισμούς, όπως service control policies ή SCPs.

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

Τι να καταγράψετε:

  • DomainArn, AppSecurityGroupIds, SubnetIds, DefaultUserSettings.ExecutionRole.
  • Προσαρτημένο EFS (HomeEfsFileSystemId) και S3 home directories.
  • Lifecycle scripts (συχνά περιέχουν bootstrap credentials ή push/pull extra code).

Tip

Οι Presigned Studio URLs μπορούν να παρακάμψουν την αυθεντικοποίηση εάν χορηγηθούν ευρέως.

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

Τα metadata του notebook αποκαλύπτουν:

  • Το role εκτέλεσης (RoleArn), άμεση πρόσβαση στο Internet έναντι λειτουργίας μόνο σε VPC.
  • Τοποθεσίες S3 στα DefaultCodeRepository, DirectInternetAccess, RootAccess.
  • Σενάρια lifecycle για credentials ή persistence hooks.

Training, Processing, 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

Εξετάστε:

  • AlgorithmSpecification.TrainingImage / AppSpecification.ImageUri – ποια ECR images έχουν αναπτυχθεί.
  • InputDataConfig & OutputDataConfig – S3 buckets, prefixes και KMS keys.
  • ResourceConfig.VolumeKmsKeyId, VpcConfig, EnableNetworkIsolation – καθορίζουν τη δικτυακή ή κρυπτογραφική διαμόρφωση.
  • HyperParameters may leak environment secrets or 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

Οι ορισμοί των pipeline αναλύουν κάθε βήμα, τους σχετιζόμενους ρόλους, τις εικόνες κοντέινερ και τις μεταβλητές περιβάλλοντος. Τα trial components συχνά περιέχουν URIs artefact εκπαίδευσης, S3 logs και μετρήσεις που υποδεικνύουν τη ροή ευαίσθητων δεδομένων.

Μοντέλα, Διαμορφώσεις Endpoint & Αναπτυγμένα Endpoints

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
  • S3 URIs των αντικειμένων του μοντέλου (PrimaryContainer.ModelDataUrl) και εικόνες κοντέινερ για inference.
  • Διαμόρφωση data capture του Endpoint (S3 bucket, KMS) για πιθανή log exfil.
  • Multi-model endpoints που χρησιμοποιούν S3DataSource ή ModelPackage (έλεγχος για cross-account packaging).
  • Διαμορφώσεις δικτύου και security groups συνδεδεμένα με 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

Security takeaways:

  • Οι online feature stores αναπαράγουν δεδομένα στο Kinesis; ελέγξτε OnlineStoreConfig.SecurityConfig.KmsKeyId και το VPC.
  • Οι ροές του Data Wrangler συχνά ενσωματώνουν διαπιστευτήρια JDBC/Redshift ή ιδιωτικά endpoints.
  • Οι εργασίες Clarify/Model Monitor εξάγουν δεδομένα σε S3, τα οποία μπορεί να είναι δημόσια αναγνώσιμα ή προσβάσιμα από άλλους λογαριασμούς.

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 διακομιστές παρακολούθησης αποθηκεύουν πειράματα και artefacts· οι presigned URLs μπορούν να εκθέσουν τα πάντα.
  • Τα Autopilot jobs εκκινούν πολλαπλά training jobs — απαριθμήστε τα outputs για κρυμμένα δεδομένα.
  • Οι JumpStart reference architectures ενδέχεται να αναπτύξουν privileged roles στον λογαριασμό.

IAM & Δικτυακά Θέματα προς Εξέταση

  • Απαριθμήστε τις IAM policies που είναι συνημμένες σε όλους τους ρόλους εκτέλεσης (Studio, notebooks, training jobs, pipelines, endpoints).
  • Ελέγξτε τα συμφραζόμενα δικτύου: subnets, security groups, VPC endpoints. Πολλές οργανώσεις απομονώνουν training jobs αλλά ξεχνούν να περιορίσουν την εξερχόμενη κυκλοφορία.
  • Εξετάστε τις S3 bucket policies που αναφέρονται σε ModelDataUrl, DataCaptureConfig, InputDataConfig για εξωτερική πρόσβαση.

Privilege Escalation

AWS - Sagemaker Privesc

Persistence

Aws Sagemaker Persistence

Post-Exploitation

AWS - SageMaker Post-Exploitation

Unauthorized Access

AWS - SageMaker Unauthenticated Enum

Αναφορές

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks