mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-12 13:05:19 -08:00
Translated ['src/banners/hacktricks-training.md', 'src/pentesting-ci-cd/
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# AWS - IAM, Центр ідентифікації та SSO Enum
|
||||
# AWS - IAM, Identity Center & SSO Enum
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
../aws-basic-information/
|
||||
{{#endref}}
|
||||
|
||||
### Перерахування
|
||||
### Enumeration
|
||||
|
||||
Основні дозволи, які потрібні:
|
||||
|
||||
@@ -90,7 +90,7 @@ aws iam list-virtual-mfa-devices
|
||||
```
|
||||
### Permissions Brute Force
|
||||
|
||||
Якщо вас цікавлять ваші власні дозволи, але у вас немає доступу для запиту IAM, ви завжди можете їх брутфорсити.
|
||||
Якщо вас цікавлять ваші власні дозволи, але у вас немає доступу для запиту IAM, ви завжди можете їх перебрати.
|
||||
|
||||
#### bf-aws-permissions
|
||||
|
||||
@@ -114,7 +114,7 @@ python3 aws_permissions_checker.py --profile <AWS_PROFILE> [--arn <USER_ARN>]
|
||||
python3 aws-Perms2ManagedPolicies.py --profile myadmin --permissions-file example-permissions.txt
|
||||
```
|
||||
> [!WARNING]
|
||||
> Можливо "знати", чи надані вам дозволи через керовану роль AWS, якщо ви бачите, що **у вас є дозволи на сервіси, які не використовуються**, наприклад.
|
||||
> Можливо "знати", чи дозволи, які у вас є, надані керованою роллю AWS, якщо ви бачите, що **у вас є дозволи на сервіси, які не використовуються**, наприклад.
|
||||
|
||||
#### Cloudtrail2IAM
|
||||
|
||||
@@ -126,16 +126,16 @@ pip install -r requirements.txt
|
||||
python3 cloudtrail2IAM.py --prefix PREFIX --bucket_name BUCKET_NAME --profile PROFILE [--filter-name FILTER_NAME] [--threads THREADS]
|
||||
```
|
||||
> [!WARNING]
|
||||
> Якщо ви знайдете .tfstate (файли стану Terraform) або файли CloudFormation (це зазвичай файли yaml, розташовані в бакеті з префіксом cf-templates), ви також можете їх прочитати, щоб знайти конфігурацію aws і дізнатися, які дозволи були надані кому.
|
||||
> Якщо ви знайдете .tfstate (файли стану Terraform) або файли CloudFormation (це зазвичай файли yaml, розташовані в кошику з префіксом cf-templates), ви також можете їх прочитати, щоб знайти конфігурацію aws і дізнатися, які дозволи були надані кому.
|
||||
|
||||
#### enumerate-iam
|
||||
|
||||
Щоб використовувати інструмент [**https://github.com/andresriancho/enumerate-iam**](https://github.com/andresriancho/enumerate-iam), спочатку потрібно завантажити всі API AWS кінцеві точки, з яких скрипт **`generate_bruteforce_tests.py`** отримає всі **"list\_", "describe\_", і "get\_" кінцеві точки.** І, нарешті, він спробує **доступитися до них** з наданими обліковими даними і **вказати, чи спрацювало**.
|
||||
Щоб використовувати інструмент [**https://github.com/andresriancho/enumerate-iam**](https://github.com/andresriancho/enumerate-iam), спочатку потрібно завантажити всі API AWS кінцеві точки, з яких скрипт **`generate_bruteforce_tests.py`** отримає всі **"list\_", "describe\_", і "get\_" кінцеві точки.** І нарешті, він спробує **доступитися до них** з наданими обліковими даними і **вказати, чи спрацювало**.
|
||||
|
||||
(На моєму досвіді **інструмент зависає в деякий момент**, [**перевірте це виправлення**](https://github.com/andresriancho/enumerate-iam/pull/15/commits/77ad5b41216e3b5f1511d0c385da8cd5984c2d3c), щоб спробувати це виправити).
|
||||
(На мою думку, **інструмент зависає в деякий момент**, [**перегляньте це виправлення**](https://github.com/andresriancho/enumerate-iam/pull/15/commits/77ad5b41216e3b5f1511d0c385da8cd5984c2d3c), щоб спробувати виправити це).
|
||||
|
||||
> [!WARNING]
|
||||
> На моєму досвіді цей інструмент схожий на попередній, але працює гірше і перевіряє менше дозволів.
|
||||
> На мою думку, цей інструмент схожий на попередній, але працює гірше і перевіряє менше дозволів.
|
||||
```bash
|
||||
# Install tool
|
||||
git clone git@github.com:andresriancho/enumerate-iam.git
|
||||
@@ -154,7 +154,7 @@ python3 enumerate-iam.py --access-key ACCESS_KEY --secret-key SECRET_KEY [--sess
|
||||
```
|
||||
#### weirdAAL
|
||||
|
||||
Ви також можете використовувати інструмент [**weirdAAL**](https://github.com/carnal0wnage/weirdAAL/wiki). Цей інструмент перевірить **декілька загальних операцій на декількох загальних сервісах** (перевірить деякі дозволи на перерахування, а також деякі дозволи на підвищення привілеїв). Але він перевірить лише закодовані перевірки (єдиний спосіб перевірити більше - це написати більше тестів).
|
||||
Ви також можете використовувати інструмент [**weirdAAL**](https://github.com/carnal0wnage/weirdAAL/wiki). Цей інструмент перевірить **декілька загальних операцій на декількох загальних сервісах** (перевірить деякі дозволи на перерахування, а також деякі дозволи на підвищення привілеїв). Але він перевірить лише закодовані перевірки (єдиний спосіб перевірити більше речей - це написати більше тестів).
|
||||
```bash
|
||||
# Install
|
||||
git clone https://github.com/carnal0wnage/weirdAAL.git
|
||||
@@ -178,7 +178,7 @@ python3 weirdAAL.py -m recon_all -t MyTarget # Check all permissions
|
||||
# [+] elbv2 Actions allowed are [+]
|
||||
# ['DescribeLoadBalancers', 'DescribeAccountLimits', 'DescribeTargetGroups']
|
||||
```
|
||||
#### Ускладнення інструментів для BF дозволів
|
||||
#### Інструменти зміцнення для BF дозволів
|
||||
|
||||
{{#tabs }}
|
||||
{{#tab name="CloudSploit" }}
|
||||
@@ -208,7 +208,7 @@ steampipe dashboard
|
||||
|
||||
#### \<YourTool>
|
||||
|
||||
Жоден з попередніх інструментів не здатний перевірити майже всі дозволи, тому якщо ви знаєте кращий інструмент, надішліть PR!
|
||||
Жоден з попередніх інструментів не здатний перевірити всі дозволи, тому якщо ви знаєте кращий інструмент, надішліть PR!
|
||||
|
||||
### Неавтентифікований доступ
|
||||
|
||||
@@ -230,7 +230,7 @@ steampipe dashboard
|
||||
../aws-post-exploitation/aws-iam-post-exploitation.md
|
||||
{{#endref}}
|
||||
|
||||
### IAM Постійність
|
||||
### IAM Персистентність
|
||||
|
||||
{{#ref}}
|
||||
../aws-persistence/aws-iam-persistence.md
|
||||
@@ -255,18 +255,18 @@ sso_account_id = <account_numbre>
|
||||
sso_role_name = AdministratorAccess
|
||||
sso_region = us-east-1
|
||||
```
|
||||
### Enumeration
|
||||
### Перерахування
|
||||
|
||||
Основні елементи Центру ідентичності:
|
||||
Основні елементи Identity Center:
|
||||
|
||||
- Користувачі та групи
|
||||
- Набори дозволів: Мають прикріплені політики
|
||||
- Набори дозволів: мають прикріплені політики
|
||||
- Облікові записи AWS
|
||||
|
||||
Потім створюються відносини, щоб користувачі/групи мали Набори дозволів над Обліковим записом AWS.
|
||||
|
||||
> [!NOTE]
|
||||
> Зверніть увагу, що є 3 способи прикріплення політик до Набору дозволів. Прикріплення керованих політик AWS, політик, керованих замовником (ці політики потрібно створити в усіх облікових записах, на які впливають Набори дозволів), і вбудованих політик (визначених там).
|
||||
> Зверніть увагу, що є 3 способи прикріплення політик до Набору дозволів. Прикріплення керованих політик AWS, керованих політик замовника (ці політики потрібно створити в усіх облікових записах, на які впливають Набори дозволів) та вбудованих політик (визначених там).
|
||||
```bash
|
||||
# Check if IAM Identity Center is used
|
||||
aws sso-admin list-instances
|
||||
@@ -300,9 +300,9 @@ aws identitystore list-group-memberships --identity-store-id <store-id> --group-
|
||||
## Get memberships or a user or a group
|
||||
aws identitystore list-group-memberships-for-member --identity-store-id <store-id> --member-id <member-id>
|
||||
```
|
||||
### Local Enumeration
|
||||
### Локальна Перерахунка
|
||||
|
||||
Можливо створити всередині папки `$HOME/.aws` файл config для налаштування профілів, які доступні через SSO, наприклад:
|
||||
Можливо створити в папці `$HOME/.aws` файл config для налаштування профілів, які доступні через SSO, наприклад:
|
||||
```ini
|
||||
[default]
|
||||
region = us-west-2
|
||||
@@ -329,7 +329,7 @@ aws s3 ls --profile dependent-profile
|
||||
```
|
||||
Коли **профіль з SSO використовується** для доступу до деякої інформації, облікові дані **кешуються** у файлі всередині папки **`$HOME/.aws/sso/cache`**. Тому їх можна **читати та використовувати звідти**.
|
||||
|
||||
Більше того, **більше облікових даних** можна зберігати в папці **`$HOME/.aws/cli/cache`**. Ця директорія кешу в основному використовується, коли ви **працюєте з профілями AWS CLI**, які використовують облікові дані користувача IAM або **припускають** ролі через IAM (без SSO). Приклад конфігурації:
|
||||
Більше того, **додаткові облікові дані** можуть зберігатися в папці **`$HOME/.aws/cli/cache`**. Ця директорія кешу в основному використовується, коли ви **працюєте з профілями AWS CLI**, які використовують облікові дані IAM користувача або **припускають** ролі через IAM (без SSO). Приклад конфігурації:
|
||||
```ini
|
||||
[profile crossaccountrole]
|
||||
role_arn = arn:aws:iam::234567890123:role/SomeRole
|
||||
@@ -357,7 +357,7 @@ external_id = 123456
|
||||
|
||||
### Постійність
|
||||
|
||||
#### Створити користувача та призначити йому дозволи
|
||||
#### Створіть користувача та призначте йому дозволи
|
||||
```bash
|
||||
# Create user identitystore:CreateUser
|
||||
aws identitystore create-user --identity-store-id <store-id> --user-name privesc --display-name privesc --emails Value=sdkabflvwsljyclpma@tmmbt.net,Type=Work,Primary=True --name Formatted=privesc,FamilyName=privesc,GivenName=privesc
|
||||
@@ -367,6 +367,6 @@ aws identitystore create-user --identity-store-id <store-id> --user-name privesc
|
||||
- Надати додаткові дозволи контрольованому користувачу або групі
|
||||
- За замовчуванням лише користувачі з дозволами з Облікового запису управління зможуть отримати доступ і контролювати IAM Identity Center.
|
||||
|
||||
Однак, за допомогою Делегованого адміністратора можна дозволити користувачам з іншого облікового запису керувати ним. Вони не матимуть точно таких же дозволів, але зможуть виконувати [**управлінські дії**](https://docs.aws.amazon.com/singlesignon/latest/userguide/delegated-admin.html).
|
||||
Однак, за допомогою Delegate Administrator можливо дозволити користувачам з іншого облікового запису керувати ним. Вони не матимуть точно таких же дозволів, але зможуть виконувати [**управлінські дії**](https://docs.aws.amazon.com/singlesignon/latest/userguide/delegated-admin.html).
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
Reference in New Issue
Block a user