Translated ['src/pentesting-cloud/azure-security/README.md'] to uk

This commit is contained in:
Translator
2025-03-04 22:09:26 +00:00
parent 82054615bd
commit b47be34f47
2 changed files with 59 additions and 36 deletions

View File

@@ -417,15 +417,18 @@
- [Az - Container Registry](pentesting-cloud/azure-security/az-services/az-container-registry.md)
- [Az - Container Instances, Apps & Jobs](pentesting-cloud/azure-security/az-services/az-container-instances-apps-jobs.md)
- [Az - CosmosDB](pentesting-cloud/azure-security/az-services/az-cosmosDB.md)
- [Az - Intune](pentesting-cloud/azure-security/az-services/intune.md)
- [Az - Defender](pentesting-cloud/azure-security/az-services/az-defender.md)
- [Az - File Shares](pentesting-cloud/azure-security/az-services/az-file-shares.md)
- [Az - Function Apps](pentesting-cloud/azure-security/az-services/az-function-apps.md)
- [Az - Intune](pentesting-cloud/azure-security/az-services/intune.md)
- [Az - Key Vault](pentesting-cloud/azure-security/az-services/az-keyvault.md)
- [Az - Logic Apps](pentesting-cloud/azure-security/az-services/az-logic-apps.md)
- [Az - Management Groups, Subscriptions & Resource Groups](pentesting-cloud/azure-security/az-services/az-management-groups-subscriptions-and-resource-groups.md)
- [Az - Monitoring](pentesting-cloud/azure-security/az-services/az-monitoring.md)
- [Az - MySQL](pentesting-cloud/azure-security/az-services/az-mysql.md)
- [Az - PostgreSQL](pentesting-cloud/azure-security/az-services/az-postgresql.md)
- [Az - Queue Storage](pentesting-cloud/azure-security/az-services/az-queue.md)
- [Az - Sentinel](pentesting-cloud/azure-security/az-services/az-sentinel.md)
- [Az - Service Bus](pentesting-cloud/azure-security/az-services/az-servicebus.md)
- [Az - SQL](pentesting-cloud/azure-security/az-services/az-sql.md)
- [Az - Static Web Applications](pentesting-cloud/azure-security/az-services/az-static-web-apps.md)

View File

@@ -14,13 +14,13 @@ az-basic-information/
Для аудиту середовища AZURE дуже важливо знати: які **послуги використовуються**, що **експонується**, хто має **доступ** до чого, і як внутрішні служби Azure та **зовнішні служби** з'єднані.
З точки зору Red Team, **перший крок до компрометації середовища Azure** - це отримати **переправу**.
З точки зору Red Team, **перший крок для компрометації середовища Azure** - це отримати **foothold**.
### Зовнішня енумерація та початковий доступ
Перший крок - це, звичайно, перерахувати інформацію про орендаря, якого ви атакуєте, і спробувати отримати переправу.
Перший крок - це, звичайно, перерахувати інформацію про орендаря, якого ви атакуєте, і спробувати отримати foothold.
На основі доменного імені можна дізнатися, **чи використовує компанія Azure**, отримати **ідентифікатор орендаря**, отримати інші **дійсні домени** в тому ж орендарі (якщо є) та отримати **релевантну інформацію**, таку як чи увімкнено SSO, налаштування електронної пошти, дійсні електронні адреси користувачів...
На основі доменного імені можна дізнатися, **чи використовує компанія Azure**, отримати **ідентифікатор орендаря**, отримати інші **дійсні домени** в тому ж орендарі (якщо є) та отримати **релевантну інформацію**, таку як, чи увімкнено SSO, налаштування електронної пошти, дійсні електронні адреси користувачів...
Перевірте наступну сторінку, щоб дізнатися, як виконати **зовнішню енумерацію**:
@@ -28,34 +28,34 @@ az-basic-information/
az-unauthenticated-enum-and-initial-entry/
{{#endref}}
З цією інформацією найпоширеніші способи спробувати отримати переправу:
- **OSINT**: Перевірте наявність **витоків** у Github або будь-якій іншій відкритій платформі, яка може містити **облікові дані** або цікаву інформацію.
- **Повторне використання паролів**, витоки або [password spraying](az-unauthenticated-enum-and-initial-entry/az-password-spraying.md)
- Купити облікові дані у співробітника
- [**Звичайна фішингова атака**](https://book.hacktricks.wiki/en/generic-methodologies-and-resources/phishing-methodology/index.html) (облікові дані або Oauth App)
З цією інформацією найпоширеніші способи спробувати отримати foothold:
- **OSINT**: Перевірте наявність **leaks** у Github або будь-якій іншій відкритій платформі, яка може містити **облікові дані** або цікаву інформацію.
- Повторне використання **паролів**, leaks або [password spraying](az-unauthenticated-enum-and-initial-entry/az-password-spraying.md)
- Купівля облікових даних у співробітника
- [**Звичайна фішинг**](https://book.hacktricks.wiki/en/generic-methodologies-and-resources/phishing-methodology/index.html) (облікові дані або Oauth App)
- [Фішинг за допомогою коду пристрою](az-unauthenticated-enum-and-initial-entry/az-device-code-authentication-phishing.md)
- **Зламані** третіми сторонами
- Вразливості в Azure-Hosted Applications
- [**Server Side Request Forgery**](https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html) з доступом до метаданих
- **Перехоплення піддоменів**, як у [https://godiego.co/posts/STO-Azure/](https://godiego.co/posts/STO-Azure/)
- **Інші неправильні налаштування служб Azure**
- Якщо комп'ютер розробника зламано ([WinPEAS і LinPEAS](https://github.com/peass-ng/PEASS-ng) можуть знайти цю інформацію):
- Якщо ноутбук розробника зламано ([WinPEAS і LinPEAS](https://github.com/peass-ng/PEASS-ng) можуть знайти цю інформацію):
- Всередині **`<HOME>/.Azure`**
- **`azureProfile.json`** містить інформацію про користувачів, які входили в систему раніше
- **`clouds.config` містить** інформацію про підписки
- **`service_principal_entries.json`** містить облікові дані додатків (ідентифікатор орендаря, клієнти та секрет). Тільки в Linux і macOS
- **`msal_token_cache.json`** містить токени доступу та токени оновлення. Тільки в Linux і macOS
- **`service_principal_entries.bin`** та msal_token_cache.bin використовуються в Windows і зашифровані за допомогою DPAPI
- **`msal_token_cache.json`** містить облікові токени доступу та токени оновлення. Тільки в Linux і macOS
- **`service_principal_entries.bin`** і msal_token_cache.bin використовуються в Windows і зашифровані за допомогою DPAPI
- **`msal_http_cache.bin`** є кешем HTTP запитів
- Завантажте його: `with open("msal_http_cache.bin", 'rb') as f: pickle.load(f)`
- **`AzureRmContext.json`** містить інформацію про попередні входи за допомогою Az PowerShell (але без облікових даних)
- Всередині **`C:\Users\<username>\AppData\Local\Microsoft\IdentityCache\*`** є кілька `.bin` файлів з **токенами доступу**, ID токенами та інформацією про облікові записи, зашифрованими за допомогою DPAPI користувача.
- Можна знайти більше **токенів доступу** у файлах `.tbres` всередині **`C:\Users\<username>\AppData\Local\Microsoft\TokenBroken\Cache\`**, які містять base64, зашифрований за допомогою DPAPI з токенами доступу.
- У Linux і macOS ви можете отримати **токени доступу, токени оновлення та ID токени** з Az PowerShell (якщо використовувався), запустивши `pwsh -Command "Save-AzContext -Path /tmp/az-context.json"`
- **`AzureRmContext.json`** містить інформацію про попередні входи, використовуючи Az PowerShell (але без облікових даних)
- Всередині **`C:\Users\<username>\AppData\Local\Microsoft\IdentityCache\*`** є кілька `.bin` файлів з **обліковими токенами**, ID токенами та інформацією про облікові записи, зашифрованою за допомогою DPAPI користувача.
- Можливо знайти більше **облікових токенів** у `.tbres` файлах всередині **`C:\Users\<username>\AppData\Local\Microsoft\TokenBroken\Cache\`**, які містять base64, зашифрований за допомогою DPAPI з обліковими токенами.
- У Linux і macOS ви можете отримати **облікові токени доступу, токени оновлення та ID токени** з Az PowerShell (якщо використовувався), запустивши `pwsh -Command "Save-AzContext -Path /tmp/az-context.json"`
- У Windows це просто генерує ID токени.
- Можна перевірити, чи використовувався Az PowerShell у Linux і macOS, перевіривши, чи існує `$HOME/.local/share/.IdentityService/` (хоча вміст файлів порожній і марний)
- Можливо перевірити, чи використовувався Az PowerShell в Linux і macOS, перевіривши, чи існує `$HOME/.local/share/.IdentityService/` (хоча вміст файлів порожній і марний)
Знайдіть **інші неправильні налаштування служб Azure**, які можуть призвести до переправи, на наступній сторінці:
Знайдіть **інші неправильні налаштування служб Azure**, які можуть призвести до foothold на наступній сторінці:
{{#ref}}
az-unauthenticated-enum-and-initial-entry/
@@ -78,8 +78,8 @@ az-enumeration-tools.md
У випадках, коли у вас є дійсні облікові дані, але ви не можете увійти, це деякі загальні захисти, які можуть бути на місці:
- **IP-білий список** -- Вам потрібно зламати дійсний IP
- **Геообмеження** -- Дізнайтеся, де живе користувач або де знаходяться офіси компанії, і отримайте IP з того ж міста (або хоча б з тієї ж країни)
- **IP whitelisting** -- Вам потрібно зламати дійсний IP
- **Гео обмеження** -- Дізнайтеся, де живе користувач або де знаходяться офіси компанії, і отримайте IP з того ж міста (або хоча б країни)
- **Браузер** -- Можливо, дозволено лише браузер з певної ОС (Windows, Linux, Mac, Android, iOS). Дізнайтеся, яку ОС використовує жертва/компанія.
- Ви також можете спробувати **зламати облікові дані Service Principal**, оскільки вони зазвичай менш обмежені, і їх вхід менш перевіряється
@@ -96,7 +96,7 @@ az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-by
> [!CAUTION]
> Дізнайтеся, **як встановити** az cli, AzureAD та Az PowerShell у розділі [**Az - Entra ID**](az-services/az-azuread.md).
Одне з перших, що вам потрібно знати, це **хто ви** (в якому середовищі ви знаходитесь):
Однією з перших речей, які вам потрібно знати, є **хто ви** (в якому середовищі ви знаходитесь):
{{#tabs }}
{{#tab name="az cli" }}
@@ -143,14 +143,14 @@ Get-AzureADTenantDetail
### Entra ID Enumeration & Privesc
За замовчуванням, будь-який користувач повинен мати **достатньо прав для перерахунку** таких речей, як користувачі, групи, ролі, служби... (перевірте [стандартні дозволи AzureAD](az-basic-information/index.html#default-user-permissions)).\
За замовчуванням, будь-який користувач повинен мати **достатньо прав для перерахунку** таких речей, як користувачі, групи, ролі, служби... (перевірте [default AzureAD permissions](az-basic-information/index.html#default-user-permissions)).\
Тут ви можете знайти посібник:
{{#ref}}
az-services/az-azuread.md
{{#endref}}
Перевірте **інструменти після експлуатації**, щоб знайти інструменти для підвищення привілеїв в Entra ID, такі як **AzureHound:**
Перевірте **Post-Exploitation tools**, щоб знайти інструменти для ескалації привілеїв в Entra ID, такі як **AzureHound:**
{{#ref}}
az-enumeration-tools.md#automated-post-exploitation-tools
@@ -159,35 +159,53 @@ az-enumeration-tools.md#automated-post-exploitation-tools
### Azure Enumeration
Коли ви знаєте, хто ви, ви можете почати перераховувати **сервіси Azure, до яких у вас є доступ**.
Якщо ви знаєте, хто ви, ви можете почати перераховувати **Azure сервіси, до яких у вас є доступ**.
Вам слід почати з визначення **прав, які у вас є** на ресурси. Для цього:
1. **Знайдіть ресурс, до якого у вас є доступ**:
> [!TIP]
> Це не вимагає жодних спеціальних прав.
Команда Az PowerShell **`Get-AzResource`** дозволяє вам **дізнатися про ресурси, які ваш поточний користувач може бачити**.
Крім того, ви можете отримати ту ж інформацію в **веб-консолі**, перейшовши за [https://portal.azure.com/#view/HubsExtension/BrowseAll](https://portal.azure.com/#view/HubsExtension/BrowseAll) або шукаючи "Усі ресурси" або виконуючи:
Більше того, ви можете отримати ту ж інформацію в **веб-консолі**, перейшовши за адресою [https://portal.azure.com/#view/HubsExtension/BrowseAll](https://portal.azure.com/#view/HubsExtension/BrowseAll) або шукаючи "Усі ресурси" або виконуючи:
```bash
az rest --method GET --url "https://management.azure.com/subscriptions/<subscription-id>/resources?api-version=2021-04-01"
```
2. **Знайдіть дозволи, які у вас є на ресурси, до яких ви маєте доступ, і знайдіть ролі, призначені вам**:
2. **Знайдіть дозволи, які у вас є на ресурси, які ви можете бачити**:
Зверніть увагу, що вам потрібен дозвіл **`Microsoft.Authorization/roleAssignments/read`** для виконання цієї дії.
> [!TIP]
> Це не вимагає жодних спеціальних дозволів.
Крім того, з достатніми дозволами роль **`Get-AzRoleAssignment`** може бути використана для **перерахунку всіх ролей** у підписці або дозволу на конкретний ресурс, вказуючи його так:
Спілкуючись з API **`https://management.azure.com/{resource_id}/providers/Microsoft.Authorization/permissions?api-version=2022-04-01`**, ви можете отримати дозволи, які у вас є на вказаний ресурс у **`resource_id`**.
Отже, **перевіряючи кожен з ресурсів, до яких у вас є доступ**, ви можете отримати дозволи, які у вас є на них.
> [!WARNING]
> Ви можете автоматизувати цю нумерацію, використовуючи інструмент **[Find_My_Az_Management_Permissions](https://github.com/carlospolop/Find_My_Az_Management_Permissions)**.
<details>
<summary>Перелічити дозволи з **`Microsoft.Authorization/roleAssignments/read`**</summary>
> [!TIP]
> Зверніть увагу, що вам потрібен дозвіл **`Microsoft.Authorization/roleAssignments/read`** для виконання цієї дії.
- При достатніх дозволах роль **`Get-AzRoleAssignment`** може бути використана для **перелічення всіх ролей** у підписці або дозволу на конкретний ресурс, вказуючи його так:
```bash
Get-AzRoleAssignment -Scope /subscriptions/<subscription-id>/resourceGroups/Resource_Group_1/providers/Microsoft.RecoveryServices/vaults/vault-m3ww8ut4
```
Також можливо отримати цю інформацію, запустивши:
Цю інформацію також можна отримати, запустивши:
```bash
az rest --method GET --uri "https://management.azure.com/<Scope>/providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value"
az rest --method GET --uri "https://management.azure.com/<Scope>/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01" | jq ".value"
```
як у:
```bash
az rest --method GET --uri "https://management.azure.com//subscriptions/<subscription-id>/resourceGroups/Resource_Group_1/providers/Microsoft.KeyVault/vaults/vault-m3ww8ut4/providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value"
az rest --method GET --uri "https://management.azure.com//subscriptions/<subscription-id>/resourceGroups/Resource_Group_1/providers/Microsoft.KeyVault/vaults/vault-m3ww8ut4/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01" | jq ".value"
```
Інший варіант - отримати ролі, прикріплені до вас в azure за допомогою:
- Інша опція - це **отримати ролі, прикріплені до вас в azure**. Це також вимагає дозволу **`Microsoft.Authorization/roleAssignments/read`**:
```bash
az role assignment list --assignee "<email>" --all --output table
```
@@ -195,14 +213,16 @@ az role assignment list --assignee "<email>" --all --output table
```bash
az rest --method GET --uri 'https://management.azure.com/subscriptions/<subscription-id>/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01&$filter=principalId eq '<user-id>'
```
3. **Знайдіть детальні дозволи ролей, які до вас прикріплені**:
- **Знайдіть детальні дозволи ролей, які до вас прикріплені**:
Тоді, щоб отримати детальний дозвіл, ви можете виконати **`(Get-AzRoleDefinition -Id "<RoleDefinitionId>").Actions`**.
Потім, щоб отримати детальний дозвіл, ви можете виконати **`(Get-AzRoleDefinition -Id "<RoleDefinitionId>").Actions`**.
Або викликати API безпосередньо з
```bash
az rest --method GET --uri "https://management.azure.com//subscriptions/<subscription-id>/providers/Microsoft.Authorization/roleDefinitions/<RoleDefinitionId>?api-version=2020-08-01-preview" | jq ".properties"
az rest --method GET --uri "https://management.azure.com//subscriptions/<subscription-id>/providers/Microsoft.Authorization/roleDefinitions/<RoleDefinitionId>?api-version=2022-04-01" | jq ".properties"
```
</details>
У наступному розділі ви можете знайти **інформацію про найпоширеніші сервіси Azure та як їх перерахувати**:
{{#ref}}
@@ -211,7 +231,7 @@ az-services/
### Підвищення привілеїв, пост-експлуатація та збереження
Коли ви дізнаєтеся, як структуроване середовище Azure і які сервіси використовуються, ви можете почати шукати способи **підвищення привілеїв, бічного переміщення, виконання інших атак після експлуатації та підтримки збереження**.
Коли ви дізнаєтеся, як структуроване середовище Azure і які сервіси використовуються, ви можете почати шукати способи **підвищення привілеїв, горизонтального переміщення, виконання інших атак після експлуатації та підтримки збереження**.
У наступному розділі ви можете знайти інформацію про те, як підвищити привілеї в найпоширеніших сервісах Azure: