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

11 KiB

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 संसाधनों को प्रमाणित और एक्सेस करने की अनुमति देता है।

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 पते या रन इतिहास बनाए रखने के दिनों को बदल सकते हैं:

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 प्रवर्तन को सक्षम या अक्षम करने जैसी सेटिंग्स को संशोधित करना शामिल है।

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 को अप्रत्याशित रूप से शुरू, रोकने या पुनः प्रारंभ करने के कारण डाउनटाइम का कारण बन सकता है।

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 शामिल हैं। यह ऐप सेटिंग्स, कनेक्शन स्ट्रिंग्स, प्रमाणीकरण कॉन्फ़िगरेशन, और अधिक में परिवर्तन की अनुमति देता है।

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

Microsoft.Logic/integrationAccounts/write

इस अनुमति के साथ, आप Azure Logic Apps इंटीग्रेशन खातों को बना, अपडेट या हटा सकते हैं। इसमें इंटीग्रेशन खाता-स्तरीय कॉन्फ़िगरेशन जैसे मानचित्र, स्कीमा, भागीदार, समझौते, और अधिक का प्रबंधन करना शामिल है।

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 बैच प्रोसेसिंग के लिए आने वाले संदेशों को कैसे संसाधित और समूहित करते हैं।

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 इंटीग्रेशन खाते के भीतर मानचित्र बना या संशोधित कर सकते हैं। मानचित्रों का उपयोग डेटा को एक प्रारूप से दूसरे प्रारूप में परिवर्तित करने के लिए किया जाता है, जिससे विभिन्न सिस्टम और अनुप्रयोगों के बीच निर्बाध एकीकरण संभव होता है।

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) कार्यप्रवाहों में भाग लेते हैं।

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 वर्कफ़्लो में संदेशों को समूहित करने और एक निर्धारित अवधि के भीतर संबंधित लेनदेन को ट्रैक करने के लिए उपयोग किए जाते हैं।

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 एक्सेस कुंजी को फिर से उत्पन्न करने में सक्षम होते हैं, और यदि इसका दुरुपयोग किया जाता है, तो यह सेवा में व्यवधान का कारण बन सकता है।

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