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
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
Logic Apps Database Post Exploitation
Per ulteriori informazioni sulle logic apps, controlla:
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.
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:
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.
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.
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.
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.
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.
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.
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).
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.
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.
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
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.