Az - Logic Apps Post Exploitation

Reading time: 6 minutes

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks

Logic Apps Datenbank Post-Exploitation

Für weitere Informationen zu Logic Apps siehe:

Az - Logic Apps

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

Mit diesen Berechtigungen können Sie Logic App-Workflows ändern und deren Identitäten verwalten. Insbesondere können Sie systemzugewiesene und benutzerzugewiesene verwaltete Identitäten für Workflows zuweisen oder entfernen, was es der Logic App ermöglicht, sich zu authentifizieren und auf andere Azure-Ressourcen ohne explizite Anmeldeinformationen zuzugreifen.

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

Zusätzlich können Sie mit Microsoft.Logic/workflows/write einige Konfigurationen ändern, wie z.B. erlaubte eingehende IP-Adressen oder die Aufbewahrungsdauer der Ausführungsverläufe:

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

Mit diesen Berechtigungen können Sie Logic Apps erstellen oder aktualisieren, die auf einem App Service Plan gehostet werden. Dazu gehört das Ändern von Einstellungen wie das Aktivieren oder Deaktivieren der HTTPS-Durchsetzung.

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

Mit dieser Berechtigung können Sie eine Webanwendung starten, stoppen oder neu starten, einschließlich Logic Apps, die auf einem App Service Plan gehostet werden. Diese Aktion stellt sicher, dass eine zuvor gestoppte Anwendung online gebracht wird und ihre Funktionalität wieder aufnimmt. Dies kann Arbeitsabläufe stören, unbeabsichtigte Operationen auslösen oder Ausfallzeiten verursachen, indem Logic Apps unerwartet gestartet, gestoppt oder neu gestartet werden.

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

Mit dieser Berechtigung können Sie Einstellungen für Webanwendungen konfigurieren oder ändern, einschließlich Logic Apps, die auf einem App Service Plan gehostet werden. Dies ermöglicht Änderungen an Anwendungseinstellungen, Verbindungszeichenfolgen, Authentifizierungskonfigurationen und mehr.

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

Microsoft.Logic/integrationAccounts/write

Mit dieser Berechtigung können Sie Azure Logic Apps-Integrationskonten erstellen, aktualisieren oder löschen. Dazu gehört die Verwaltung von Integrationskonten-spezifischen Konfigurationen wie Maps, Schemata, Partner, Vereinbarungen und mehr.

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

Mit dieser Berechtigung können Sie Batchkonfigurationen innerhalb eines Azure Logic Apps-Integrationskontos erstellen oder ändern. Batchkonfigurationen definieren, wie Logic Apps eingehende Nachrichten für die Batchverarbeitung verarbeiten und gruppieren.

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

Mit dieser Berechtigung können Sie Karten innerhalb eines Azure Logic Apps-Integrationskontos erstellen oder ändern. Karten werden verwendet, um Daten von einem Format in ein anderes zu transformieren, was eine nahtlose Integration zwischen verschiedenen Systemen und Anwendungen ermöglicht.

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

Mit dieser Berechtigung können Sie Partner in einem Azure Logic Apps-Integrationskonto erstellen oder ändern. Partner repräsentieren Entitäten oder Systeme, die an Geschäftsprozessen (B2B) teilnehmen.

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

Mit dieser Berechtigung können Sie Sitzungen innerhalb eines Azure Logic Apps-Integrationskontos erstellen oder ändern. Sitzungen werden in B2B-Workflows verwendet, um Nachrichten zu gruppieren und verwandte Transaktionen über einen definierten Zeitraum zu verfolgen.

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

Benutzer mit dieser Berechtigung können die Zugriffsschlüssel für Logic Apps regenerieren, und bei Missbrauch kann dies zu Dienstunterbrechungen führen.

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"

Mit diesen Berechtigungen können Sie Ressourcen im Zusammenhang mit Azure Logic Apps löschen.

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks