AWS - SageMaker Enum

Reading time: 9 minutes

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें

Service Overview

Amazon SageMaker is AWS' managed machine-learning platform that glues together notebooks, training infrastructure, orchestration, registries, and managed endpoints. SageMaker resources के compromise से आमतौर पर निम्न मिलते हैं:

  • Long-lived IAM execution roles जिनके पास व्यापक S3, ECR, Secrets Manager या KMS access होता है।
  • S3, EFS या feature stores में stored संवेदनशील datasets तक पहुँच।
  • VPCs के अंदर network footholds (Studio apps, training jobs, endpoints)।
  • High-privilege presigned URLs जो console authentication को bypass करते हैं।

SageMaker कैसे assembled है यह समझना महत्वपूर्ण है—उससे पहले कि आप pivot, persist, या exfiltrate डेटा करें।

Core Building Blocks

  • Studio Domains & Spaces: Web IDE (JupyterLab, Code Editor, RStudio). प्रत्येक domain के पास shared EFS file system और default execution role होता है।
  • Notebook Instances: Managed EC2 instances standalone notebooks के लिए; अलग execution roles का उपयोग करते हैं।
  • Training / Processing / Transform Jobs: Ephemeral containers जो ECR से code और S3 से data pull करते हैं।
  • Pipelines & Experiments: Orchestrated workflows जो सभी steps, inputs, और outputs को describe करते हैं।
  • Models & Endpoints: Packaged artefacts जिन्हें inference के लिए HTTPS endpoints के माध्यम से deploy किया जाता है।
  • Feature Store & Data Wrangler: Managed services data preparation और feature management के लिए।
  • Autopilot & JumpStart: Automated ML और curated model catalogue।
  • MLflow Tracking Servers: Managed MLflow UI/API presigned access tokens के साथ।

हर resource एक execution role, S3 locations, container images, और optional VPC/KMS configuration को reference करता है—enumeration के दौरान इन सबको capture करें।

Account & Global Metadata

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

किसी भी cross-account trust (execution roles या S3 buckets जिनमें external principals हों) और बेसलाइन प्रतिबंधों जैसे service control policies या 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

क्या रिकॉर्ड करने के लिए:

  • DomainArn, AppSecurityGroupIds, SubnetIds, DefaultUserSettings.ExecutionRole.
  • माउंटेड EFS (HomeEfsFileSystemId) और S3 होम डायरेक्टरीज़।
  • Lifecycle स्क्रिप्ट्स (अक्सर bootstrap credentials या push/pull extra code होते हैं)।

tip

Presigned Studio URLs व्यापक रूप से दिए जाने पर प्रमाणीकरण को बाइपास कर सकते हैं।

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

Notebook मेटाडेटा प्रकट करता है:

  • निष्पादन भूमिका (RoleArn), डायरेक्ट इंटरनेट एक्सेस बनाम केवल VPC मोड।
  • S3 स्थान DefaultCodeRepository, DirectInternetAccess, RootAccess में।
  • Lifecycle scripts जो credentials या 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

जांचें:

  • AlgorithmSpecification.TrainingImage / AppSpecification.ImageUri – कौन से ECR images deploy किए गए हैं।
  • InputDataConfig & OutputDataConfig – S3 buckets, prefixes, and KMS keys.
  • ResourceConfig.VolumeKmsKeyId, VpcConfig, EnableNetworkIsolation – नेटवर्क या एन्क्रिप्शन की स्थिति निर्धारित करते हैं।
  • HyperParameters environment secrets या connection strings को leak कर सकते हैं।

पाइपलाइन्स, एक्सपेरिमेंट्स और ट्रायल्स

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

Pipeline परिभाषाएँ प्रत्येक चरण, संबंधित भूमिकाएँ, कंटेनर इमेजेस और environment variables का विस्तृत वर्णन देती हैं। Trial कंपोनेंट्स अक्सर training artefact URIs, S3 logs और ऐसे मैट्रिक्स होते हैं जो संवेदनशील डेटा के प्रवाह का संकेत देते हैं।

मॉडल, एंडपॉइंट कॉन्फ़िगरेशन और डिप्लॉय किए गए एंडपॉइंट्स

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

मुख्य फोकस क्षेत्र:

  • Model artefact S3 URIs (PrimaryContainer.ModelDataUrl) और inference container images।
  • Endpoint data capture configuration (S3 bucket, KMS) संभावित log exfil के लिए।
  • Multi-model endpoints जो S3DataSource या ModelPackage का उपयोग करते हैं (cross-account packaging की जांच करें)।
  • Endpoints से जुड़े Network configs और security groups।

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

सुरक्षा निष्कर्ष:

  • Online feature stores Kinesis पर डेटा replicate करते हैं; OnlineStoreConfig.SecurityConfig.KmsKeyId और VPC की जाँच करें।
  • Data Wrangler flows अक्सर JDBC/Redshift credentials या private endpoints को embed करते हैं।
  • Clarify/Model Monitor jobs अक्सर S3 पर डेटा export करते हैं, जो सार्वजनिक रूप से पढ़ने योग्य या cross-account पहुँच योग्य हो सकता है।

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
  • MLflow tracking servers experiments और artefacts स्टोर करते हैं; presigned URLs सब कुछ उजागर कर सकते हैं.
  • Autopilot jobs कई training jobs चलाते हैं—छिपे हुए डेटा के लिए outputs enumerate करें.
  • JumpStart reference architectures खाते में privileged roles deploy कर सकती हैं.

IAM और नेटवर्किंग विचार

  • सभी execution roles (Studio, notebooks, training jobs, pipelines, endpoints) से जुड़ी IAM policies को enumerate करें.
  • नेटवर्क संदर्भों की जाँच करें: subnets, security groups, VPC endpoints. कई संगठन training jobs को अलग करते हैं लेकिन outbound traffic को restrict करना भूल जाते हैं.
  • बाहरी एक्सेस के लिए ModelDataUrl, DataCaptureConfig, InputDataConfig में संदर्भित S3 bucket policies की समीक्षा करें.

Privilege Escalation

AWS - Sagemaker Privesc

Persistence

Aws Sagemaker Persistence

Post-Exploitation

AWS - SageMaker Post-Exploitation

Unauthorized Access

AWS - SageMaker Unauthenticated Enum

संदर्भ

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें