# Az - Logic Apps Post Exploitation

{{#include ../../../banners/hacktricks-training.md}}

## Logic Apps Database Post Exploitation
Per ulteriori informazioni sulle logic apps, controlla:

{{#ref}}
../az-services/az-logic-apps.md
{{#endref}}

### `Microsoft.Logic/workflows/read`, `Microsoft.Logic/workflows/write` && `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`
Con questi permessi, puoi modificare i flussi di lavoro delle Logic App e gestire le loro identità. In particolare, puoi assegnare o rimuovere identità gestite assegnate al sistema e identità gestite assegnate dagli utenti ai flussi di lavoro, il che consente alla Logic App di autenticarsi e accedere ad altre risorse Azure senza credenziali esplicite.
```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>"
```
In aggiunta, con solo `Microsoft.Logic/workflows/write` puoi modificare alcune configurazioni come gli indirizzi IP in entrata consentiti o i giorni di conservazione della cronologia delle esecuzioni:
```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`
Con questi permessi, puoi creare o aggiornare Logic Apps ospitati su un App Service Plan. Questo include la modifica delle impostazioni come l'abilitazione o la disabilitazione dell'applicazione forzata di 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`
Con questo permesso, puoi avviare/arrestare/riavviare un'app web, comprese le Logic Apps ospitate su un App Service Plan. Questa azione garantisce che un'app precedentemente arrestata venga riportata online e riprenda la sua funzionalità. Questo può interrompere i flussi di lavoro, attivare operazioni non intenzionali o causare inattività avviando, arrestando o riavviando inaspettatamente le 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`

Con questo permesso, puoi configurare o modificare le impostazioni per le app web, comprese le Logic Apps ospitate su un App Service Plan. Ciò consente modifiche alle impostazioni dell'app, alle stringhe di connessione, alle configurazioni di autenticazione e altro ancora.
```bash
az logicapp config appsettings set \
--name <logic_app_name> \
--resource-group <resource_group_name> \
--settings "<key>=<value>"
```
### `Microsoft.Logic/integrationAccounts/write`
Con questo permesso, puoi creare, aggiornare o eliminare gli account di integrazione di Azure Logic Apps. Questo include la gestione delle configurazioni a livello di account di integrazione come mappe, schemi, partner, accordi e altro ancora.
```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`

Con questo permesso, puoi creare o modificare le configurazioni batch all'interno di un account di integrazione di Azure Logic Apps. Le configurazioni batch definiscono come Logic Apps elaborano e raggruppano i messaggi in arrivo per l'elaborazione batch.
```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`
Con questo permesso, puoi creare o modificare le mappe all'interno di un account di integrazione di Azure Logic Apps. Le mappe vengono utilizzate per trasformare i dati da un formato all'altro, consentendo un'integrazione fluida tra diversi sistemi e applicazioni.
```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`
Con questo permesso, puoi creare o modificare partner in un account di integrazione di Azure Logic Apps. I partner rappresentano entità o sistemi che partecipano a flussi di lavoro business-to-business (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`
Con questo permesso, puoi creare o modificare sessioni all'interno di un account di integrazione Azure Logic Apps. Le sessioni sono utilizzate nei flussi di lavoro B2B per raggruppare i messaggi e tenere traccia delle transazioni correlate per un periodo definito.
```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`

Gli utenti con questo permesso possono rigenerare le chiavi di accesso dell'App Logica e, se abusato, può portare a interruzioni del servizio.
```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"
Con questi permessi puoi eliminare risorse relative ad Azure Logic Apps



{{#include ../../../banners/hacktricks-training.md}}
