Files
hacktricks-cloud/src/pentesting-cloud/aws-security/aws-services/aws-sagemaker-enum
2025-10-23 10:55:10 +00:00
..
2025-10-23 10:55:10 +00:00

AWS - SageMaker Enum

{{#include ../../../../banners/hacktricks-training.md}}

सेवा अवलोकन

Amazon SageMaker AWS का managed machine-learning प्लेटफ़ॉर्म है जो notebooks, training infrastructure, orchestration, registries, और managed endpoints को एक साथ जोड़ता है। SageMaker resources के समझौते से आम तौर पर निम्न तक पहुँच मिल सकती है:

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

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

मुख्य निर्माण खंड

  • Studio Domains & Spaces: Web IDE (JupyterLab, Code Editor, RStudio)। प्रत्येक domain के पास साझा EFS फ़ाइल सिस्टम और डिफ़ॉल्ट execution role होता है।
  • Notebook Instances: स्टैंडअलोन notebooks के लिए मैनेज्ड EC2 instances; अलग execution roles का उपयोग करते हैं।
  • Training / Processing / Transform Jobs: अस्थायी containers जो ECR से code और S3 से data खींचते हैं।
  • Pipelines & Experiments: Orchestrated workflows जो सभी steps, inputs, और outputs का वर्णन करते हैं।
  • Models & Endpoints: Packaged artefacts जिन्हें inference के लिए HTTPS endpoints के माध्यम से deploy किया जाता है।
  • Feature Store & Data Wrangler: डेटा तैयारी और 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, और वैकल्पिक VPC/KMS configuration को reference करता है — enumeration के दौरान इन सभी को capture करें।

खाता और वैश्विक मेटाडेटा

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 होम डायरेक्टरीज़.
  • Lifecycle स्क्रिप्ट्स (अक्सर 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

Notebook metadata में निम्न बातें प्रकट होती हैं:

  • Execution role (RoleArn), direct internet access बनाम VPC-only मोड।
  • S3 स्थान DefaultCodeRepository, DirectInternetAccess, RootAccess में।
  • Credentials या persistence hooks के लिए lifecycle scripts।

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 इमेजेस तैनात हैं।
  • InputDataConfig & OutputDataConfig S3 buckets, prefixes, और KMS keys।
  • ResourceConfig.VolumeKmsKeyId, VpcConfig, EnableNetworkIsolation नेटवर्क या एन्क्रिप्शन की स्थिति निर्धारित करते हैं।
  • HyperParameters में environment secrets या connection strings leak हो सकते हैं।

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

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

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

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

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 कॉन्फ़िगरेशन (S3 bucket, KMS) संभावित log exfil के लिए।
  • Multi-model endpoints जो S3DataSource या ModelPackage का उपयोग करते हैं (cross-account packaging की जांच करें)।
  • Network configs और 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

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

  • Online feature stores Kinesis पर डेटा replicate करते हैं; OnlineStoreConfig.SecurityConfig.KmsKeyId और VPC की जाँच करें।
  • Data Wrangler flows अक्सर JDBC/Redshift क्रेडेंशियल्स या private endpoints में एम्बेड होते हैं।
  • Clarify/Model Monitor jobs डेटा S3 पर export करते हैं जो world-readable या cross-account accessible हो सकता है।

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

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

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

Privilege Escalation

{{#ref}} ../../aws-privilege-escalation/aws-sagemaker-privesc/README.md {{#endref}}

Persistence

{{#ref}} ../../aws-persistence/aws-sagemaker-persistence/README.md {{#endref}}

Post-Exploitation

{{#ref}} ../../aws-post-exploitation/aws-sagemaker-post-exploitation/README.md {{#endref}}

Unauthorized Access

{{#ref}} ../../aws-unauthenticated-enum-access/aws-sagemaker-unauthenticated-enum/README.md {{#endref}}

संदर्भ

{{#include ../../../../banners/hacktricks-training.md}}