AWS - SageMaker Enum
Reading time: 8 minutes
tip
Вивчайте та практикуйте AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
Огляд сервісу
Amazon SageMaker — керована AWS платформа машинного навчання, яка об'єднує notebooks, training infrastructure, orchestration, registries та managed endpoints. Компрометація ресурсів SageMaker зазвичай надає:
- Довготривалі IAM execution roles зі значним доступом до S3, ECR, Secrets Manager або KMS.
- Доступ до конфіденційних наборів даних, що зберігаються в S3, EFS або у feature stores.
- Мережеві опорні точки всередині VPCs (Studio apps, training jobs, endpoints).
- Привілейовані presigned URLs, що обходять автентифікацію в консолі.
Розуміння того, як зібрано SageMaker, є ключовим перед тим, як pivot, persist або exfiltrate дані.
Основні компоненти
- Studio Domains & Spaces: Web IDE (JupyterLab, Code Editor, RStudio). Кожен domain має спільну файлову систему EFS та роль виконання за замовчуванням.
- Notebook Instances: Керовані EC2 інстанси для автономних notebooks; використовують окремі ролі виконання.
- Training / Processing / Transform Jobs: Ефемерні контейнери, які завантажують код з ECR та дані з S3.
- Pipelines & Experiments: Оркестровані робочі потоки, які описують усі кроки, вхідні та вихідні дані.
- Models & Endpoints: Запаковані артефакти, розгорнуті для inference через HTTPS endpoints.
- Feature Store & Data Wrangler: Керовані сервіси для підготовки даних та управління ознаками.
- Autopilot & JumpStart: Автоматизований ML та відібраний каталог моделей.
- MLflow Tracking Servers: Керований MLflow UI/API з presigned access tokens.
Кожен ресурс посилається на execution role, S3-локації, образи контейнерів та опціональну VPC/KMS конфігурацію — зафіксуйте всі вони під час enumeration.
Облікові та глобальні метадані
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 scripts (часто містять bootstrap credentials або додатковий код для push/pull).
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 reveals:
- Роль виконання (
RoleArn), прямий доступ до інтернету або режим лише VPC. - Розташування S3 у
DefaultCodeRepository,DirectInternetAccess,RootAccess. - Скрипти життєвого циклу для credentials або persistence hooks.
Навчання, обробка, трансформація та пакетні завдання
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 бакети, префікси та KMS ключі.ResourceConfig.VolumeKmsKeyId,VpcConfig,EnableNetworkIsolation– визначають мережеву або шифрувальну конфігурацію.HyperParametersможуть 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 описують кожен крок, пов'язані ролі, образи контейнерів та змінні середовища. Компоненти Trial часто містять URI артефактів навчання, S3 логи та метрики, які натякають на потік чутливих даних.
Моделі, конфігурації кінцевих точок та розгорнуті кінцеві точки
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. - Налаштування захоплення даних endpoint (S3 bucket, KMS) для можливого log exfil.
- Мульти-модельні endpoints, що використовують
S3DataSourceабоModelPackage(перевірити на міжакаунтне пакування). - Мережеві конфігурації та 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
Висновки з безпеки:
- Онлайн feature stores реплікують дані в Kinesis; перевірте
OnlineStoreConfig.SecurityConfig.KmsKeyIdта VPC. - Data Wrangler flows часто вбудовують облікові дані JDBC/Redshift або приватні endpoints.
- Clarify/Model Monitor jobs експортують дані в S3, які можуть бути доступні світові (world-readable) або між акаунтами (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 store experiments and artefacts; presigned URLs can expose everything.
- Autopilot jobs spin multiple training jobs—enumerate outputs for hidden data.
- JumpStart reference architectures may deploy privileged roles into the account.
IAM & Networking Considerations
- Enumerate IAM policies attached to all execution roles (Studio, notebooks, training jobs, pipelines, endpoints).
- Check network contexts: subnets, security groups, VPC endpoints. Many organisations isolate training jobs but forget to restrict outbound traffic.
- Review S3 bucket policies referenced in
ModelDataUrl,DataCaptureConfig,InputDataConfigfor external access.
Privilege Escalation
Persistence
Post-Exploitation
AWS - SageMaker Post-Exploitation
Unauthorized Access
AWS - SageMaker Unauthenticated Enum
References
- AWS SageMaker Documentation
- AWS CLI SageMaker Reference
- SageMaker Studio Architecture
- SageMaker Security Best Practices
tip
Вивчайте та практикуйте AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
HackTricks Cloud