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 का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें, PRs को HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में सबमिट करके।
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
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
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 मेटाडेटा प्रकट करता है:
- निष्पादन भूमिका (
RoleArn), डायरेक्ट इंटरनेट एक्सेस बनाम केवल VPC मोड। - S3 स्थान
DefaultCodeRepository,DirectInternetAccess,RootAccessमें। - Lifecycle scripts जो 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 deploy किए गए हैं।InputDataConfig&OutputDataConfig– S3 buckets, prefixes, and KMS keys.ResourceConfig.VolumeKmsKeyId,VpcConfig,EnableNetworkIsolation– नेटवर्क या एन्क्रिप्शन की स्थिति निर्धारित करते हैं।HyperParametersenvironment 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
Pipeline परिभाषाएँ प्रत्येक चरण, संबंधित भूमिकाएँ, कंटेनर इमेजेस और environment variables का विस्तृत वर्णन देती हैं। Trial कंपोनेंट्स अक्सर 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 configuration (S3 bucket, KMS) संभावित log exfil के लिए।
- Multi-model endpoints जो
S3DataSourceयाModelPackageका उपयोग करते हैं (cross-account packaging की जांच करें)। - Endpoints से जुड़े Network configs और security groups।
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 credentials या private endpoints को embed करते हैं।
- Clarify/Model Monitor jobs अक्सर S3 पर डेटा export करते हैं, जो सार्वजनिक रूप से पढ़ने योग्य या cross-account पहुँच योग्य हो सकता है।
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 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
Persistence
Post-Exploitation
AWS - SageMaker Post-Exploitation
Unauthorized Access
AWS - SageMaker Unauthenticated Enum
संदर्भ
- AWS SageMaker Documentation
- AWS CLI SageMaker Reference
- SageMaker Studio Architecture
- SageMaker Security Best Practices
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 का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें, PRs को HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में सबमिट करके।
HackTricks Cloud