Az - Logic Apps Post Exploitation

Reading time: 6 minutes

tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks

Logic Apps Database Post Exploitation

Per ulteriori informazioni sulle logic apps, controlla:

Az - Logic Apps

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

tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks