Files
hacktricks-cloud/src/pentesting-cloud/azure-security/az-post-exploitation/az-logic-apps-post-exploitation.md

170 lines
11 KiB
Markdown

# Az - Logic Apps Post Exploitation
{{#include ../../../banners/hacktricks-training.md}}
## Logic Apps Database Post Exploitation
Logic apps के बारे में अधिक जानकारी के लिए देखें:
{{#ref}}
../az-services/az-logic-apps.md
{{#endref}}
### `Microsoft.Logic/workflows/read`, `Microsoft.Logic/workflows/write` && `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`
इन अनुमतियों के साथ, आप Logic App वर्कफ़्लो को संशोधित कर सकते हैं और उनकी पहचान प्रबंधित कर सकते हैं। विशेष रूप से, आप वर्कफ़्लो के लिए सिस्टम-निर्धारित और उपयोगकर्ता-निर्धारित प्रबंधित पहचान को असाइन या हटा सकते हैं, जो Logic App को स्पष्ट क्रेडेंशियल के बिना अन्य Azure संसाधनों को प्रमाणित और एक्सेस करने की अनुमति देता है।
```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>"
```
इसके अलावा, केवल `Microsoft.Logic/workflows/write` के साथ, आप कुछ कॉन्फ़िगरेशन जैसे अनुमति प्राप्त इनबाउंड IP पते या रन इतिहास बनाए रखने के दिनों को बदल सकते हैं:
```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`
इन अनुमतियों के साथ, आप App Service Plan पर होस्ट किए गए Logic Apps को बना या अपडेट कर सकते हैं। इसमें 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`
इस अनुमति के साथ, आप एक वेब ऐप को शुरू/रोक/पुनः प्रारंभ कर सकते हैं, जिसमें App Service Plan पर होस्ट किए गए Logic Apps शामिल हैं। यह क्रिया सुनिश्चित करती है कि एक पूर्व में रोका गया ऐप ऑनलाइन लाया जाए और इसकी कार्यक्षमता फिर से शुरू हो। यह कार्यप्रवाहों को बाधित कर सकता है, अनपेक्षित संचालन को ट्रिगर कर सकता है, या 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`
इस अनुमति के साथ, आप वेब ऐप्स के लिए सेटिंग्स को कॉन्फ़िगर या संशोधित कर सकते हैं, जिसमें App Service Plan पर होस्ट किए गए Logic Apps शामिल हैं। यह ऐप सेटिंग्स, कनेक्शन स्ट्रिंग्स, प्रमाणीकरण कॉन्फ़िगरेशन, और अधिक में परिवर्तन की अनुमति देता है।
```bash
az logicapp config appsettings set \
--name <logic_app_name> \
--resource-group <resource_group_name> \
--settings "<key>=<value>"
```
### `Microsoft.Logic/integrationAccounts/write`
इस अनुमति के साथ, आप Azure Logic Apps इंटीग्रेशन खातों को बना, अपडेट या हटा सकते हैं। इसमें इंटीग्रेशन खाता-स्तरीय कॉन्फ़िगरेशन जैसे मानचित्र, स्कीमा, भागीदार, समझौते, और अधिक का प्रबंधन करना शामिल है।
```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`
इस अनुमति के साथ, आप Azure Logic Apps एकीकरण खाते के भीतर बैच कॉन्फ़िगरेशन बना या संशोधित कर सकते हैं। बैच कॉन्फ़िगरेशन यह परिभाषित करते हैं कि Logic Apps बैच प्रोसेसिंग के लिए आने वाले संदेशों को कैसे संसाधित और समूहित करते हैं।
```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`
इस अनुमति के साथ, आप Azure Logic Apps इंटीग्रेशन खाते के भीतर मानचित्र बना या संशोधित कर सकते हैं। मानचित्रों का उपयोग डेटा को एक प्रारूप से दूसरे प्रारूप में परिवर्तित करने के लिए किया जाता है, जिससे विभिन्न सिस्टम और अनुप्रयोगों के बीच निर्बाध एकीकरण संभव होता है।
```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`
इस अनुमति के साथ, आप Azure Logic Apps इंटीग्रेशन खाते में भागीदारों को बना या संशोधित कर सकते हैं। भागीदार उन संस्थाओं या प्रणालियों का प्रतिनिधित्व करते हैं जो व्यवसाय-से-व्यवसाय (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`
इस अनुमति के साथ, आप Azure Logic Apps इंटीग्रेशन खाते के भीतर सत्र बना या संशोधित कर सकते हैं। सत्र B2B वर्कफ़्लो में संदेशों को समूहित करने और एक निर्धारित अवधि के भीतर संबंधित लेनदेन को ट्रैक करने के लिए उपयोग किए जाते हैं।
```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`
इस अनुमति वाले उपयोगकर्ता Logic App एक्सेस कुंजी को फिर से उत्पन्न करने में सक्षम होते हैं, और यदि इसका दुरुपयोग किया जाता है, तो यह सेवा में व्यवधान का कारण बन सकता है।
```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"
इन अनुमतियों के साथ आप Azure Logic Apps से संबंधित संसाधनों को हटा सकते हैं
{{#include ../../../banners/hacktricks-training.md}}