Az - Logic Apps Post Exploitation

Reading time: 6 minutes

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks

Logic Apps Database Post Exploitation

Для отримання додаткової інформації про логічні програми, перегляньте:

Az - Logic Apps

Microsoft.Logic/workflows/read, Microsoft.Logic/workflows/write && Microsoft.ManagedIdentity/userAssignedIdentities/assign/action

З цими дозволами ви можете змінювати робочі процеси Logic App і керувати їхніми ідентичностями. Зокрема, ви можете призначати або видаляти системно призначені та призначені користувачем керовані ідентичності для робочих процесів, що дозволяє Logic App автентифікуватися та отримувати доступ до інших ресурсів Azure без явних облікових даних.

bash
az logic workflow identity remove/assign \
--name <workflow_name> \
--resource-group <resource_group_name> \
--system-assigned true \
--user-assigned "/subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identity_name>"

Додатково, з Microsoft.Logic/workflows/write ви можете змінити деякі налаштування, такі як Дозволені вхідні IP-адреси або Дні зберігання історії виконання:

bash
az rest --method PUT \
--uri "https://management.azure.com/subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.Logic/workflows/<workflow_name>?api-version=2019-05-01" \
--headers "Content-Type=application/json" \
--body '{
"location": "<location>",
"properties": {
"state": "Enabled",
"definition": {
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"triggers": {
"<trigger_name>": {
"type": "Request",
"kind": "Http"
}
},
"actions": {},
"outputs": {}
},
"runtimeConfiguration": {
"lifetime": {
"unit": "day",
"count": <count>
}
},
"accessControl": {
"triggers": {
"allowedCallerIpAddresses": []
},
"actions": {
"allowedCallerIpAddresses": []
}
}
}
}'

Microsoft.Web/sites/read, Microsoft.Web/sites/write

З цими дозволами ви можете створювати або оновлювати Logic Apps, розміщені на App Service Plan. Це включає зміну налаштувань, таких як увімкнення або вимкнення примусової перевірки HTTPS.

bash
az logicapp update \
--resource-group <resource_group_name> \
--name <logic_app_name> \
--set httpsOnly=false

Microsoft.Web/sites/stop/action, Microsoft.Web/sites/start/action || Microsoft.Web/sites/restart/action

З цією дозволом ви можете запускати/зупиняти/перезапускати веб-додаток, включаючи Logic Apps, розміщені на App Service Plan. Ця дія забезпечує, що раніше зупинений додаток знову запускається і відновлює свою функціональність. Це може порушити робочі процеси, викликати непередбачені операції або призвести до простою, несподівано запускаючи, зупиняючи або перезапускаючи Logic Apps.

bash
az webapp start/stop/restart \
--name <logic_app_name> \
--resource-group <resource_group_name>

Microsoft.Web/sites/config/list/action, Microsoft.Web/sites/read && Microsoft.Web/sites/config/write

З цією дозволом ви можете налаштовувати або змінювати параметри веб-додатків, включаючи Logic Apps, розміщені на App Service Plan. Це дозволяє вносити зміни в налаштування додатків, рядки підключення, конфігурації автентифікації та інше.

bash
az logicapp config appsettings set \
--name <logic_app_name> \
--resource-group <resource_group_name> \
--settings "<key>=<value>"

Microsoft.Logic/integrationAccounts/write

З цією дозволом ви можете створювати, оновлювати або видаляти облікові записи інтеграції Azure Logic Apps. Це включає управління конфігураціями на рівні облікового запису інтеграції, такими як карти, схеми, партнери, угоди та інше.

bash
az logic integration-account create \
--resource-group <resource_group_name> \
--name <integration_account_name> \
--location <location> \
--sku <Standard|Free> \
--state Enabled

Microsoft.Resources/subscriptions/resourcegroups/read && Microsoft.Logic/integrationAccounts/batchConfigurations/write

З цією дозволом ви можете створювати або змінювати конфігурації пакетів у обліковому записі інтеграції Azure Logic Apps. Конфігурації пакетів визначають, як Logic Apps обробляють і групують вхідні повідомлення для пакетної обробки.

bash
az logic integration-account batch-configuration create \
--resource-group <resource_group_name> \
--integration-account-name <integration_account_name> \
--name <batch_configuration_name> \
--release-criteria '{
"messageCount": 100,
"batchSize": 1048576,
}'

Microsoft.Resources/subscriptions/resourcegroups/read && Microsoft.Logic/integrationAccounts/maps/write

З цією дозволом ви можете створювати або змінювати карти в обліковому записі інтеграції Azure Logic Apps. Карти використовуються для перетворення даних з одного формату в інший, що забезпечує безперебійну інтеграцію між різними системами та додатками.

bash
az logic integration-account map create \
--resource-group <resource_group_name> \
--integration-account-name <integration_account_name> \
--name <map_name> \
--map-type <Xslt|Xslt20|Xslt30> \
--content-type application/xml \
--map-content map-content.xslt

Microsoft.Resources/subscriptions/resourcegroups/read && Microsoft.Logic/integrationAccounts/partners/write

З цією дозволом ви можете створювати або змінювати партнерів у обліковому записі інтеграції Azure Logic Apps. Партнери представляють сутності або системи, які беруть участь у бізнес-до-бізнес (B2B) робочих процесах.

bash
az logic integration-account partner create \
--resource-group <resource_group_name> \
--integration-account-name <integration_account_name> \
--name <partner_name> \
--partner-type <partner-type> \
--content '{
"b2b": {
"businessIdentities": [
{
"qualifier": "ZZ",
"value": "TradingPartner1"
}
]
}
}'

Microsoft.Resources/subscriptions/resourcegroups/read && Microsoft.Logic/integrationAccounts/sessions/write

З цією дозволом ви можете створювати або змінювати сесії в обліковому записі інтеграції Azure Logic Apps. Сесії використовуються в B2B робочих процесах для групування повідомлень та відстеження пов'язаних транзакцій протягом визначеного періоду.

bash
az logic integration-account session create \
--resource-group <resource_group_name> \
--integration-account-name <integration_account_name> \
--name <session_name> \
--content '{
"properties": {
"sessionId": "session123",
"data": {
"key1": "value1",
"key2": "value2"
}
}
}'

Microsoft.Logic/workflows/regenerateAccessKey/action

Користувачі з цим дозволом можуть регенерувати ключі доступу до Logic App, і якщо їх неправильно використовувати, це може призвести до збоїв у роботі сервісу.

bash
az rest --method POST \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Logic/workflows/<workflow-name>/regenerateAccessKey?api-version=<api-version>" \
--body '{"keyType": "<key-type>"}' \
--headers "Content-Type=application/json"

"*/delete"

З цими правами ви можете видаляти ресурси, пов'язані з Azure Logic Apps

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks