Translated ['src/pentesting-cloud/aws-security/aws-unauthenticated-enum-

This commit is contained in:
Translator
2025-10-14 02:10:44 +00:00
parent 27e51ab991
commit 3290999940
226 changed files with 11008 additions and 7692 deletions

View File

@@ -1,40 +0,0 @@
# AWS - DocumentDB Enum
{{#include ../../../banners/hacktricks-training.md}}
## DocumentDB
Amazon DocumentDB, що пропонує сумісність з MongoDB, представлений як **швидка, надійна та повністю керована служба бази даних**. Розроблений для простоти в розгортанні, експлуатації та масштабуванні, він дозволяє **безперешкодну міграцію та експлуатацію баз даних, сумісних з MongoDB, у хмарі**. Користувачі можуть використовувати цю службу для виконання свого існуючого коду додатків і використовувати знайомі драйвери та інструменти, що забезпечує плавний перехід та експлуатацію, подібну до роботи з MongoDB.
### Enumeration
```bash
aws docdb describe-db-clusters # Get username from "MasterUsername", get also the endpoint from "Endpoint"
aws docdb describe-db-instances #Get hostnames from here
# Parameter groups
aws docdb describe-db-cluster-parameter-groups
aws docdb describe-db-cluster-parameters --db-cluster-parameter-group-name <param_group_name>
# Snapshots
aws docdb describe-db-cluster-snapshots
aws --region us-east-1 --profile ad docdb describe-db-cluster-snapshot-attributes --db-cluster-snapshot-identifier <snap_id>
```
### NoSQL Injection
Оскільки DocumentDB є сумісною з MongoDB базою даних, ви можете уявити, що вона також вразлива до поширених атак NoSQL injection:
{{#ref}}
https://book.hacktricks.wiki/en/pentesting-web/nosql-injection.html
{{#endref}}
### DocumentDB
{{#ref}}
../aws-unauthenticated-enum-access/aws-documentdb-enum.md
{{#endref}}
## References
- [https://aws.amazon.com/blogs/database/analyze-amazon-documentdb-workloads-with-performance-insights/](https://aws.amazon.com/blogs/database/analyze-amazon-documentdb-workloads-with-performance-insights/)
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -0,0 +1,40 @@
# AWS - DocumentDB Enum
{{#include ../../../../banners/hacktricks-training.md}}
## DocumentDB
Amazon DocumentDB, що забезпечує сумісність з MongoDB, представлений як **швидкий, надійний та повністю керований сервіс баз даних**. Розроблений для простоти розгортання, експлуатації та масштабування, він дозволяє **безшовну міграцію та експлуатацію баз даних, сумісних з MongoDB, у хмарі**. Користувачі можуть використовувати цей сервіс для виконання свого існуючого коду застосунків та застосовувати знайомі драйвери й інструменти, забезпечуючи плавний перехід і роботу, подібну до роботи з MongoDB.
### Enumeration
```bash
aws docdb describe-db-clusters # Get username from "MasterUsername", get also the endpoint from "Endpoint"
aws docdb describe-db-instances #Get hostnames from here
# Parameter groups
aws docdb describe-db-cluster-parameter-groups
aws docdb describe-db-cluster-parameters --db-cluster-parameter-group-name <param_group_name>
# Snapshots
aws docdb describe-db-cluster-snapshots
aws --region us-east-1 --profile ad docdb describe-db-cluster-snapshot-attributes --db-cluster-snapshot-identifier <snap_id>
```
### NoSQL Injection
Оскільки DocumentDB сумісна з MongoDB, можна припустити, що вона також вразлива до поширених NoSQL injection атак:
{{#ref}}
https://book.hacktricks.wiki/en/pentesting-web/nosql-injection.html
{{#endref}}
### DocumentDB
{{#ref}}
../../aws-unauthenticated-enum-access/aws-documentdb-enum/README.md
{{#endref}}
## Посилання
- [https://aws.amazon.com/blogs/database/analyze-amazon-documentdb-workloads-with-performance-insights/](https://aws.amazon.com/blogs/database/analyze-amazon-documentdb-workloads-with-performance-insights/)
{{#include ../../../../banners/hacktricks-training.md}}

View File

@@ -0,0 +1,200 @@
# AWS - SageMaker Enum
{{#include ../../../../banners/hacktricks-training.md}}
## Огляд сервісу
Amazon SageMaker — керований AWS сервіс для машинного навчання, який поєднує блокноти, інфраструктуру для тренування, оркестрацію, реєстри та керовані endpoints. Компрометація ресурсів SageMaker зазвичай забезпечує:
- Тривалі IAM execution roles з широким доступом до S3, ECR, Secrets Manager або KMS.
- Доступ до конфіденційних наборів даних, що зберігаються в S3, EFS або всередині feature stores.
- Мережеві плацдарми всередині VPC (Studio apps, training jobs, endpoints).
- Високопривілейовані presigned URLs, які обходять аутентифікацію консолі.
Розуміння того, як зібраний SageMaker, — ключовий крок перед тим, як виконувати pivot, persist або здійснювати ексфільтрацію даних.
## Core Building Blocks
- **Studio Domains & Spaces**: Web IDE (JupyterLab, Code Editor, RStudio). Кожен domain має спільну файлову систему EFS і роль виконання за замовчуванням.
- **Notebook Instances**: Керовані EC2 інстанси для автономних notebook; використовують окремі execution roles.
- **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 токенами доступу.
Кожен ресурс посилається на execution role, S3 локації, образи контейнерів та опціональні VPC/KMS налаштування — фіксуйте всі ці деталі під час енумерації.
## Обліковий запис та глобальні метадані
```bash
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
```
Зверніть увагу на будь-яку довіру між акаунтами (execution roles or S3 buckets with external principals) та базові обмеження, такі як service control policies або SCPs.
## Studio Domains, Apps & Shared Spaces
```bash
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
```bash
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
```
Метадані ноутбука виявляють:
- Роль виконання (`RoleArn`), прямий доступ до Інтернету або режим лише VPC.
- Розташування S3 у `DefaultCodeRepository`, `DirectInternetAccess`, `RootAccess`.
- Скрипти життєвого циклу для облікових даних або хуків персистентності.
## Навчання, обробка, трансформація та пакетні завдання
```bash
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 образи розгорнуті.
- `InputDataConfig` & `OutputDataConfig` S3 бакети, префікси та KMS ключі.
- `ResourceConfig.VolumeKmsKeyId`, `VpcConfig`, `EnableNetworkIsolation` визначають мережеву чи шифрувальну конфігурацію.
- `HyperParameters` можуть leak секрети середовища або рядки підключення.
## Пайплайни, експерименти та випробування
```bash
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 деталізує кожен крок, пов'язані ролі, container images і environment variables. Trial components часто містять training artefact URIs, S3 logs і metrics, які натякають на потік чутливих даних.
## Моделі, конфігурації Endpoint та розгорнуті Endpoint-и
```bash
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 URI артефактів моделі (`PrimaryContainer.ModelDataUrl`) та образи контейнерів для inference.
- Endpoint data capture configuration (S3 bucket, KMS) для можливої ексфільтрації логів.
- Multi-model endpoints, що використовують `S3DataSource` або `ModelPackage` (перевірити на cross-account packaging).
- Network configs та security groups, прикріплені до endpoints.
## Feature Store, Data Wrangler & Clarify
```bash
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 або приватні кінцеві точки.
- Clarify/Model Monitor jobs експортують дані в S3, які можуть бути доступні для читання всім або доступні з інших акаунтів.
## MLflow Tracking Servers, Autopilot & JumpStart
```bash
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 зберігають експерименти та артефакти; попередньо підписані URL-адреси можуть розкрити все.
- Завдання Autopilot запускають кілька навчальних завдань — перераховуйте результати на наявність прихованих даних.
- Референсні архітектури JumpStart можуть розгортати привілейовані ролі в обліковому записі.
## IAM & Мережеві міркування
- Перелічіть IAM-політики, приєднані до всіх ролей виконання (Studio, notebooks, training jobs, pipelines, endpoints).
- Перевірте мережеві контексти: subnets, security groups, VPC endpoints. Багато організацій ізолюють training jobs, але забувають обмежити вихідний трафік.
- Перегляньте політики S3 bucket, на які посилаються в `ModelDataUrl`, `DataCaptureConfig`, `InputDataConfig`, щодо зовнішнього доступу.
## Підвищення привілеїв
{{#ref}}
../../aws-privilege-escalation/aws-sagemaker-privesc/README.md
{{#endref}}
## Персистентність
{{#ref}}
../../aws-persistence/aws-sagemaker-persistence/README.md
{{#endref}}
## Постексплуатація
{{#ref}}
../../aws-post-exploitation/aws-sagemaker-post-exploitation/README.md
{{#endref}}
## Несанкціонований доступ
{{#ref}}
../aws-sagemaker-unauthorized-access/README.md
{{#endref}}
## Посилання
- [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)
- [SageMaker Studio Architecture](https://docs.aws.amazon.com/sagemaker/latest/dg/gs-studio.html)
- [SageMaker Security Best Practices](https://docs.aws.amazon.com/sagemaker/latest/dg/security.html)
{{#include ../../../../banners/hacktricks-training.md}}