Az - Logic Apps Post Exploitation

Reading time: 6 minutes

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks

Logic Apps Database Post Exploitation

Pour plus d'informations sur les applications logiques, consultez :

Az - Logic Apps

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

Avec ces autorisations, vous pouvez modifier les workflows des applications logiques et gérer leurs identités. Plus précisément, vous pouvez attribuer ou supprimer des identités gérées assignées par le système et par l'utilisateur aux workflows, ce qui permet à l'application logique de s'authentifier et d'accéder à d'autres ressources Azure sans identifiants explicites.

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

De plus, avec juste Microsoft.Logic/workflows/write, vous pouvez modifier certaines configurations telles que les adresses IP entrantes autorisées ou les jours de conservation de l'historique d'exécution :

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

Avec ces autorisations, vous pouvez créer ou mettre à jour des Logic Apps hébergées sur un App Service Plan. Cela inclut la modification des paramètres tels que l'activation ou la désactivation de l'application 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

Avec cette autorisation, vous pouvez démarrer/arrêter/redémarrer une application web, y compris les Logic Apps hébergées sur un App Service Plan. Cette action garantit qu'une application précédemment arrêtée est remise en ligne et reprend sa fonctionnalité. Cela peut perturber les flux de travail, déclencher des opérations non intentionnelles ou provoquer des temps d'arrêt en démarrant, arrêtant ou redémarrant des Logic Apps de manière inattendue.

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

Avec cette autorisation, vous pouvez configurer ou modifier les paramètres des applications web, y compris les Logic Apps hébergées sur un App Service Plan. Cela permet de modifier les paramètres de l'application, les chaînes de connexion, les configurations d'authentification, et plus encore.

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

Microsoft.Logic/integrationAccounts/write

Avec cette autorisation, vous pouvez créer, mettre à jour ou supprimer des comptes d'intégration Azure Logic Apps. Cela inclut la gestion des configurations au niveau du compte d'intégration telles que les cartes, les schémas, les partenaires, les accords, et plus encore.

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

Avec cette autorisation, vous pouvez créer ou modifier des configurations de lot au sein d'un compte d'intégration Azure Logic Apps. Les configurations de lot définissent comment Logic Apps traitent et regroupent les messages entrants pour le traitement par lots.

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

Avec cette autorisation, vous pouvez créer ou modifier des cartes au sein d'un compte d'intégration Azure Logic Apps. Les cartes sont utilisées pour transformer des données d'un format à un autre, permettant une intégration transparente entre différents systèmes et applications.

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

Avec cette autorisation, vous pouvez créer ou modifier des partenaires dans un compte d'intégration Azure Logic Apps. Les partenaires représentent des entités ou des systèmes qui participent à des flux de travail interentreprises (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

Avec cette autorisation, vous pouvez créer ou modifier des sessions au sein d'un compte d'intégration Azure Logic Apps. Les sessions sont utilisées dans les flux de travail B2B pour regrouper les messages et suivre les transactions connexes sur une période définie.

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

Les utilisateurs ayant cette autorisation peuvent régénérer les clés d'accès de l'application Logic, et en cas de mauvaise utilisation, cela peut entraîner des interruptions de service.

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"

Avec ces autorisations, vous pouvez supprimer des ressources liées à Azure Logic Apps

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks