AWS - SageMaker Enumeracija

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Pregled servisa

Amazon SageMaker je AWS-ova upravljana platforma za mašinsko učenje koja objedinjuje notebooks, training infrastrukturu, orkestraciju, registre i managed endpoints. Kompromitovanje SageMaker resursa obično omogućava:

  • Dugotrajne IAM execution roles sa širokim pristupom S3, ECR, Secrets Manager ili KMS.
  • Pristup osetljivim skupovima podataka smeštenim u S3, EFS ili unutar feature store-ova.
  • Mrežne čvorište unutar VPC-a (Studio apps, training jobs, endpoints).
  • High-privilege presigned URLs koji zaobilaze console authentication.

Razumevanje kako je SageMaker sastavljen ključno je pre nego što pivot, persist, ili exfiltrate podatke.

Osnovne komponente

  • Studio Domains & Spaces: Web IDE (JupyterLab, Code Editor, RStudio). Svaki domain ima zajednički EFS fajl sistem i podrazumevanu execution role.
  • Notebook Instances: Managed EC2 instances za standalone notebooks; koriste zasebne execution roles.
  • Training / Processing / Transform Jobs: Privremeni kontejneri koji povlače kod iz ECR i podatke iz S3.
  • Pipelines & Experiments: Orkestrirani radni tokovi koji opisuju sve korake, ulaze i izlaze.
  • Models & Endpoints: Paketirani artefakti deploy-ovani za inference putem HTTPS endpoints.
  • Feature Store & Data Wrangler: Managed servisi za pripremu podataka i upravljanje feature-ima.
  • Autopilot & JumpStart: Automated ML i kuratovani katalog modela.
  • MLflow Tracking Servers: Managed MLflow UI/API sa presigned access token-ima.

Svaki resurs referencira execution role, S3 lokacije, container image-e i opcionu VPC/KMS konfiguraciju — zabeležite sve njih tokom enumeracije.

Račun i globalni metapodaci

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

Zabeležite svaku cross-account trust (execution roles ili S3 buckets sa external principals) i osnovna ograničenja kao što su service control policies ili SCPs.

Studio domeni, aplikacije i deljeni prostori

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

Šta zabeležiti:

  • DomainArn, AppSecurityGroupIds, SubnetIds, DefaultUserSettings.ExecutionRole.
  • Montirani EFS (HomeEfsFileSystemId) i S3 home direktorijumi.
  • Lifecycle skripte (često sadrže bootstrap credentials ili dodatni push/pull kod).

Tip

Presigned Studio URLs mogu zaobići autentifikaciju ako su dodeljeni široko.

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

Metapodaci notebook-a otkrivaju:

  • Uloga izvršenja (RoleArn), direktan pristup internetu naspram režima samo VPC.
  • S3 lokacije u DefaultCodeRepository, DirectInternetAccess, RootAccess.
  • Lifecycle skripte za kredencijale ili hook-ove za perzistenciju.

Trening, Procesiranje, Transformacija i Batch poslovi

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

Detaljno proverite:

  • AlgorithmSpecification.TrainingImage / AppSpecification.ImageUri – koje ECR images su deploy-ovane.
  • InputDataConfig & OutputDataConfig – S3 bucket-e, prefikse i KMS ključeve.
  • ResourceConfig.VolumeKmsKeyId, VpcConfig, EnableNetworkIsolation – određuju mrežnu ili enkripcijsku postavku.
  • 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

Definicije pipeline-a detaljno opisuju svaki korak, pridružene role, container images i varijable okruženja. Trial komponente često sadrže URI-je artefakata za trening, S3 logove i metrike koje nagoveštavaju tok osetljivih podataka.

Modeli, konfiguracije endpoint-a i postavljeni endpointi

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

Fokus oblasti:

  • S3 URIs artefakta modela (PrimaryContainer.ModelDataUrl) i slike inference kontejnera.
  • Konfiguracija prikupljanja podataka endpointa (S3 bucket, KMS) za mogući log exfil.
  • Multi-model endpointi koristeći S3DataSource ili ModelPackage (proveriti cross-account packaging).
  • Mrežne konfiguracije i security groups povezane sa endpointima.

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

Bezbednosni zaključci:

  • Online feature stores replikuju podatke u Kinesis; proverite OnlineStoreConfig.SecurityConfig.KmsKeyId i VPC.
  • Data Wrangler flows često ugrađuju JDBC/Redshift kredencijale ili privatne endpoint-e.
  • Clarify/Model Monitor jobs izvoze podatke u S3 koji mogu biti javno čitljivi ili dostupni iz drugih naloga.

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 čuvaju eksperimente i artefakte; presigned URLs mogu izložiti sve.
  • Autopilot jobs pokreću više training jobs — proverite izlaze radi skrivenih podataka.
  • JumpStart reference architectures mogu dodeliti privilegovane uloge u nalogu.

IAM & Mrežna razmatranja

  • Proverite IAM politike pridružene svim ulogama za izvršavanje (Studio, notebooks, training jobs, pipelines, endpoints).
  • Proverite mrežne kontekste: subnets, security groups, VPC endpoints. Mnoge organizacije izoluju training jobs, ali zaborave da ograniče izlazni saobraćaj.
  • Pregledajte politike S3 bucket-a navedene u ModelDataUrl, DataCaptureConfig, InputDataConfig zbog eksternog pristupa.

Privilege Escalation

AWS - Sagemaker Privesc

Persistence

Aws Sagemaker Persistence

Post-Exploitation

AWS - SageMaker Post-Exploitation

Unauthorized Access

AWS - SageMaker Unauthenticated Enum

References

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks