Translated ['src/pentesting-cloud/aws-security/aws-services/aws-sagemake

This commit is contained in:
Translator
2025-10-23 11:00:28 +00:00
parent 231c1090ec
commit aa26849598

View File

@@ -1,30 +1,30 @@
# AWS - SageMaker Enum
# AWS - SageMaker Enumeracija
{{#include ../../../../banners/hacktricks-training.md}}
## Pregled servisa
Amazon SageMaker je AWS' managed machine-learning platforma koja povezuje notebooks, training infrastructure, orchestration, registries i managed endpoints. Kompromitovanje SageMaker resursa obično obezbeđuje:
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 role sa širokim pristupom S3, ECR, Secrets Manager ili KMS.
- Pristup osetljivim dataset-ima smeštenim u S3, EFS ili unutar feature store-ova.
- Mrežne footholds unutar VPC-a (Studio apps, training jobs, endpoints).
- Visokoprivilegovane presigned URLs koje zaobilaze console authentication.
- 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 je ključno pre nego što pivot, persist, ili exfiltrate podatke.
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 deljeni EFS fajl sistem i podrazumevani execution role.
- **Notebook Instances**: Managed EC2 instance za standalone notebooks; koriste odvojene execution role.
- **Training / Processing / Transform Jobs**: Ephemeral kontejneri koji povlače kod iz ECR i podatke iz S3.
- **Pipelines & Experiments**: Orkestrirani workflows koji opisuju sve korake, input-e i output-e.
- **Models & Endpoints**: Paketirani artefakti deploy-ovani za inference preko HTTPS endpoints.
- **Feature Store & Data Wrangler**: Managed servisi za pripremu podataka i upravljanje feature-ovima.
- **Autopilot & JumpStart**: Automated ML i kurirani model catalogue.
- **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 images i opcionu VPC/KMS konfiguraciju — capture sve njih tokom enumeration.
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
```bash
@@ -39,7 +39,7 @@ aws sagemaker list-models --region $REGION --query 'Models[].ExecutionRoleArn' -
# Generic tag sweep across any SageMaker ARN you know
aws sagemaker list-tags --resource-arn <sagemaker-arn> --region $REGION
```
Zabeležite svako međunaložno poverenje (cross-account trust) — npr. execution roles ili S3 buckets sa eksternim principalima — i osnovna ograničenja, kao što su service control policies ili SCPs.
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
```bash
@@ -60,14 +60,14 @@ aws sagemaker describe-space --domain-id <domain-id> --space-name <space> --regi
aws sagemaker list-studio-lifecycle-configs --region $REGION
aws sagemaker describe-studio-lifecycle-config --studio-lifecycle-config-name <name> --region $REGION
```
What to record:
Šta zabeležiti:
- `DomainArn`, `AppSecurityGroupIds`, `SubnetIds`, `DefaultUserSettings.ExecutionRole`.
- Montirane EFS (`HomeEfsFileSystemId`) i S3 home direktorijumi.
- 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 široko dodeljeni.
> Presigned Studio URLs mogu zaobići autentifikaciju ako su dodeljeni široko.
## Notebook Instances & Lifecycle Configs
```bash
@@ -76,13 +76,13 @@ aws sagemaker describe-notebook-instance --notebook-instance-name <name> --regio
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 notebooka otkrivaju:
Metapodaci notebook-a otkrivaju:
- Izvršna uloga (`RoleArn`), direktan pristup internetu nasuprot VPC-only režimu.
- Uloga izvršenja (`RoleArn`), direktan pristup internetu naspram režima samo VPC.
- S3 lokacije u `DefaultCodeRepository`, `DirectInternetAccess`, `RootAccess`.
- Skripte životnog ciklusa za kredencijale ili hook-ove za perzistenciju.
- Lifecycle skripte za kredencijale ili hook-ove za perzistenciju.
## Trening, Obrada, Transform i Batch poslovi
## Trening, Procesiranje, Transformacija i Batch poslovi
```bash
aws sagemaker list-training-jobs --region $REGION
aws sagemaker describe-training-job --training-job-name <job> --region $REGION
@@ -93,10 +93,10 @@ aws sagemaker describe-processing-job --processing-job-name <job> --region $REGI
aws sagemaker list-transform-jobs --region $REGION
aws sagemaker describe-transform-job --transform-job-name <job> --region $REGION
```
Detaljno pregledajte:
Detaljno proverite:
- `AlgorithmSpecification.TrainingImage` / `AppSpecification.ImageUri` koje ECR slike su raspoređene.
- `InputDataConfig` & `OutputDataConfig` S3 bucket-i, prefiksi i KMS ključevi.
- `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.
@@ -110,9 +110,9 @@ 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 navode svaki korak, pridružene uloge, image kontejnera i promenljive okruženja. Trial komponente često sadrže URI-je artefakata za trening, S3 logove i metrike koje ukazuju na tok osetljivih podataka.
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 raspoređeni endpointi
## Modeli, konfiguracije endpoint-a i postavljeni endpointi
```bash
aws sagemaker list-models --region $REGION
aws sagemaker describe-model --model-name <name> --region $REGION
@@ -123,12 +123,12 @@ aws sagemaker describe-endpoint-config --endpoint-config-name <cfg> --region $RE
aws sagemaker list-endpoints --region $REGION
aws sagemaker describe-endpoint --endpoint-name <endpoint> --region $REGION
```
Ključne oblasti:
Fokus oblasti:
- S3 URI-ji artefakata modela (`PrimaryContainer.ModelDataUrl`) i slike kontejnera za inference.
- Konfiguracija Endpoint data capture (S3 bucket, KMS) za moguću log exfil.
- Multi-model endpoints koji koriste `S3DataSource` ili `ModelPackage` (proveriti cross-account packaging).
- Mrežne konfiguracije i security groups pridružene endpoint-ima.
- 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
```bash
@@ -144,7 +144,7 @@ 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 tokovi često sadrže JDBC/Redshift credentials ili privatne endpoint-e.
- 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
@@ -159,14 +159,14 @@ 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 — izlistajte njihove izlaze radi skrivenih podataka.
- JumpStart reference architectures mogu rasporediti privilegovane role u nalogu.
- Autopilot jobs pokreću više training jobs — proverite izlaze radi skrivenih podataka.
- JumpStart reference architectures mogu dodeliti privilegovane uloge u nalogu.
## IAM i mrežna razmatranja
## IAM & Mrežna razmatranja
- Nabrojte IAM politike prikačene uz sve izvršne role (Studio, notebooks, training jobs, pipelines, endpoints).
- Proverite mrežni kontekst: subnets, security groups, VPC endpoints. Mnoge organizacije izoluju training jobs, ali zaborave da ograniče izlazni saobraćaj.
- Pregledajte S3 bucket politike koje se referenciraju u `ModelDataUrl`, `DataCaptureConfig`, `InputDataConfig` zbog eksternog pristupa.
- 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
@@ -192,7 +192,7 @@ aws sagemaker list-jumpstart-script-resources --region $REGION
../../aws-unauthenticated-enum-access/aws-sagemaker-unauthenticated-enum/README.md
{{#endref}}
## Reference
## References
- [AWS SageMaker Documentation](https://docs.aws.amazon.com/sagemaker/latest/dg/whatis.html)
- [AWS CLI SageMaker Reference](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/index.html)