Az - Logic Apps Post Exploitation

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin

Logic Apps Veritabanı Post Exploitation

Logic apps hakkında daha fazla bilgi için kontrol edin:

Az - Logic Apps

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

Bu izinlerle, Logic App iş akışlarını değiştirebilir ve kimliklerini yönetebilirsiniz. Özellikle, iş akışlarına sistem atamalı ve kullanıcı atamalı yönetilen kimlikler atayabilir veya kaldırabilirsiniz; bu, Logic App’in açık kimlik bilgileri olmadan diğer Azure kaynaklarına kimlik doğrulaması yapmasını ve erişmesini sağlar.

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

Ayrıca sadece Microsoft.Logic/workflows/write ile İzin verilen gelen IP adresleri veya Çalıştırma geçmişi saklama günleri gibi bazı yapılandırmaları değiştirebilirsiniz:

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

Bu izinlerle, bir App Service Plan üzerinde barındırılan Logic Apps’i oluşturabilir veya güncelleyebilirsiniz. Bu, HTTPS zorlamasını etkinleştirme veya devre dışı bırakma gibi ayarları değiştirmeyi içerir.

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

Bu izinle, bir web uygulamasını, App Service Plan üzerinde barındırılan Logic Apps dahil olmak üzere, başlatabilir/durdurabilir/yeniden başlatabilirsiniz. Bu eylem, daha önce durdurulmuş bir uygulamanın çevrimiçi hale getirilmesini ve işlevselliğine devam etmesini sağlar. Bu, iş akışlarını kesintiye uğratabilir, istenmeyen işlemleri tetikleyebilir veya Logic Apps’i beklenmedik bir şekilde başlatarak, durdurarak veya yeniden başlatarak kesinti yaratabilir.

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

Bu izinle, App Service Plan üzerinde barındırılan Logic Apps dahil olmak üzere web uygulamaları için ayarları yapılandırabilir veya değiştirebilirsiniz. Bu, uygulama ayarları, bağlantı dizeleri, kimlik doğrulama yapılandırmaları ve daha fazlasında değişiklik yapılmasına olanak tanır.

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

Microsoft.Logic/integrationAccounts/write

Bu izinle, Azure Logic Apps entegrasyon hesaplarını oluşturabilir, güncelleyebilir veya silebilirsiniz. Bu, haritalar, şemalar, ortaklar, anlaşmalar ve daha fazlası gibi entegrasyon hesap düzeyindeki yapılandırmaları yönetmeyi içerir.

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

Bu izinle, bir Azure Logic Apps entegrasyon hesabında toplu yapılandırmalar oluşturabilir veya değiştirebilirsiniz. Toplu yapılandırmalar, Logic Apps’in gelen mesajları toplu işleme için nasıl işlediğini ve grupladığını tanımlar.

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

Bu izinle, bir Azure Logic Apps entegrasyon hesabında haritalar oluşturabilir veya değiştirebilirsiniz. Haritalar, verileri bir formatından diğerine dönüştürmek için kullanılır ve farklı sistemler ve uygulamalar arasında sorunsuz entegrasyonu sağlar.

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

Bu izinle, bir Azure Logic Apps entegrasyon hesabında ortaklar oluşturabilir veya değiştirebilirsiniz. Ortaklar, işten işe (B2B) iş akışlarına katılan varlıkları veya sistemleri temsil eder.

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

Bu izinle, bir Azure Logic Apps entegrasyon hesabında oturumlar oluşturabilir veya değiştirebilirsiniz. Oturumlar, B2B iş akışlarında mesajları gruplamak ve belirli bir süre boyunca ilgili işlemleri takip etmek için kullanılır.

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

Bu izne sahip kullanıcılar, Logic App erişim anahtarlarını yeniden üretebilir ve kötüye kullanılması durumunda hizmet kesintilerine yol açabilir.

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”

Bu izinlerle Azure Logic Apps ile ilgili kaynakları silebilirsiniz

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin