Az - Logic Apps Pós Exploração

Reading time: 6 minutes

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks

Banco de Dados de Logic Apps Pós Exploração

Para mais informações sobre logic apps, consulte:

Az - Logic Apps

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

Com essas permissões, você pode modificar os fluxos de trabalho do Logic App e gerenciar suas identidades. Especificamente, você pode atribuir ou remover identidades gerenciadas atribuídas pelo sistema e por usuários aos fluxos de trabalho, o que permite que o Logic App se autentique e acesse outros recursos do Azure sem credenciais explícitas.

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>"

Adicionalmente, com apenas Microsoft.Logic/workflows/write, você pode alterar algumas configurações, como endereços IP de entrada permitidos ou dias de retenção do histórico de execução:

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

Com essas permissões, você pode criar ou atualizar Logic Apps hospedadas em um App Service Plan. Isso inclui modificar configurações, como habilitar ou desabilitar a aplicação forçada de 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

Com esta permissão, você pode iniciar/parar/reiniciar um aplicativo da web, incluindo Logic Apps hospedadas em um App Service Plan. Esta ação garante que um aplicativo que foi parado anteriormente seja colocado online e retome sua funcionalidade. Isso pode interromper fluxos de trabalho, acionar operações não intencionais ou causar inatividade ao iniciar, parar ou reiniciar Logic Apps inesperadamente.

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

Com esta permissão, você pode configurar ou modificar as configurações para aplicativos da web, incluindo Logic Apps hospedados em um App Service Plan. Isso permite alterações nas configurações do aplicativo, strings de conexão, configurações de autenticação e mais.

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

Microsoft.Logic/integrationAccounts/write

Com esta permissão, você pode criar, atualizar ou excluir contas de integração do Azure Logic Apps. Isso inclui gerenciar configurações de nível de conta de integração, como mapas, esquemas, parceiros, acordos e mais.

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

Com esta permissão, você pode criar ou modificar configurações de lote dentro de uma conta de integração do Azure Logic Apps. As configurações de lote definem como o Logic Apps processa e agrupa mensagens recebidas para processamento em lote.

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

Com esta permissão, você pode criar ou modificar mapas dentro de uma conta de integração do Azure Logic Apps. Os mapas são usados para transformar dados de um formato para outro, permitindo uma integração perfeita entre diferentes sistemas e aplicações.

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

Com esta permissão, você pode criar ou modificar parceiros em uma conta de integração do Azure Logic Apps. Parceiros representam entidades ou sistemas que participam de fluxos de trabalho de negócios para negócios (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

Com esta permissão, você pode criar ou modificar sessões dentro de uma conta de integração do Azure Logic Apps. As sessões são usadas em fluxos de trabalho B2B para agrupar mensagens e rastrear transações relacionadas ao longo de um período definido.

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

Usuários com essa permissão podem regenerar chaves de acesso do Logic App e, se mal utilizadas, podem levar a interrupções no serviço.

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"

Com essas permissões, você pode excluir recursos relacionados ao Azure Logic Apps

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks