mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-07 21:30:47 -08:00
Translated ['src/pentesting-cloud/aws-security/aws-services/aws-sagemake
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user