From d56211cfa1c3dc541cfb386dac67b60975bda9d8 Mon Sep 17 00:00:00 2001 From: Translator Date: Thu, 20 Feb 2025 00:55:30 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/azure-security/az-persistence/az-queue --- src/SUMMARY.md | 5 ++- .../az-persistence/az-queue-persistance.md | 2 +- .../az-persistence/az-sql-persistance.md | 20 ++++++++++ .../az-queue-post-exploitation.md | 6 +-- .../az-servicebus-post-exploitation.md | 6 +-- .../az-queue-privesc.md | 4 +- .../az-servicebus-privesc.md | 23 ++++++----- .../{az-queue-enum.md => az-queue.md} | 2 +- ...az-servicebus-enum.md => az-servicebus.md} | 40 +++++++++---------- .../azure-security/az-services/az-sql.md | 28 ++++++++----- 10 files changed, 84 insertions(+), 52 deletions(-) create mode 100644 src/pentesting-cloud/azure-security/az-persistence/az-sql-persistance.md rename src/pentesting-cloud/azure-security/az-services/{az-queue-enum.md => az-queue.md} (98%) rename src/pentesting-cloud/azure-security/az-services/{az-servicebus-enum.md => az-servicebus.md} (82%) diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 227605b06..11d60f589 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -425,8 +425,8 @@ - [Az - Management Groups, Subscriptions & Resource Groups](pentesting-cloud/azure-security/az-services/az-management-groups-subscriptions-and-resource-groups.md) - [Az - MySQL](pentesting-cloud/azure-security/az-services/az-mysql.md) - [Az - PostgreSQL](pentesting-cloud/azure-security/az-services/az-postgresql.md) - - [Az - Queue Storage](pentesting-cloud/azure-security/az-services/az-queue-enum.md) - - [Az - Service Bus](pentesting-cloud/azure-security/az-services/az-servicebus-enum.md) + - [Az - Queue Storage](pentesting-cloud/azure-security/az-services/az-queue.md) + - [Az - Service Bus](pentesting-cloud/azure-security/az-services/az-servicebus.md) - [Az - SQL](pentesting-cloud/azure-security/az-services/az-sql.md) - [Az - Static Web Applications](pentesting-cloud/azure-security/az-services/az-static-web-apps.md) - [Az - Storage Accounts & Blobs](pentesting-cloud/azure-security/az-services/az-storage.md) @@ -489,6 +489,7 @@ - [Az - Persistence](pentesting-cloud/azure-security/az-persistence/README.md) - [Az - Automation Accounts Persistence](pentesting-cloud/azure-security/az-persistence/az-automation-accounts-persistence.md) - [Az - Cloud Shell Persistence](pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md) + - [Az - Queue SQL Persistence](pentesting-cloud/azure-security/az-persistence/az-sql-persistance.md) - [Az - Queue Storage Persistence](pentesting-cloud/azure-security/az-persistence/az-queue-persistance.md) - [Az - VMs Persistence](pentesting-cloud/azure-security/az-persistence/az-vms-persistence.md) - [Az - Storage Persistence](pentesting-cloud/azure-security/az-persistence/az-storage-persistence.md) diff --git a/src/pentesting-cloud/azure-security/az-persistence/az-queue-persistance.md b/src/pentesting-cloud/azure-security/az-persistence/az-queue-persistance.md index 779aec2dd..36b176889 100644 --- a/src/pentesting-cloud/azure-security/az-persistence/az-queue-persistance.md +++ b/src/pentesting-cloud/azure-security/az-persistence/az-queue-persistance.md @@ -7,7 +7,7 @@ Aby uzyskać więcej informacji, sprawdź: {{#ref}} -../az-services/az-queue-enum.md +../az-services/az-queue.md {{#endref}} ### Actions: `Microsoft.Storage/storageAccounts/queueServices/queues/write` diff --git a/src/pentesting-cloud/azure-security/az-persistence/az-sql-persistance.md b/src/pentesting-cloud/azure-security/az-persistence/az-sql-persistance.md new file mode 100644 index 000000000..e3ba9f478 --- /dev/null +++ b/src/pentesting-cloud/azure-security/az-persistence/az-sql-persistance.md @@ -0,0 +1,20 @@ +# Az - SQL Persistence + +{{#include ../../../banners/hacktricks-training.md}} + +## SQL + +Aby uzyskać więcej informacji, sprawdź: + +{{#ref}} +../az-services/az-sql.md +{{#endref}} + +### Powszechne techniki utrzymywania dostępu + +- Kompromitacja poświadczeń SQL lub utworzenie użytkownika SQL (w razie potrzeby włączenie uwierzytelniania SQL) +- Przypisanie skompromitowanego użytkownika jako administratora Entra ID (w razie potrzeby włączenie uwierzytelniania Entra ID) +- Backdoor w VM (jeśli używana jest VM SQL) +- Utworzenie reguły FW w celu utrzymania dostępu do bazy danych SQL + +{{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-queue-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-queue-post-exploitation.md index 1e3af5c80..0d61d6121 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-queue-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-queue-post-exploitation.md @@ -7,7 +7,7 @@ Aby uzyskać więcej informacji, sprawdź: {{#ref}} -../az-services/az-queue-enum.md +../az-services/az-queue.md {{#endref}} ### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/read` @@ -46,7 +46,7 @@ az storage message update --queue-name \ ``` ### Actions: `Microsoft.Storage/storageAccounts/queueServices/queues/delete` -To uprawnienie pozwala atakującemu na usunięcie kolejek w ramach konta magazynowego. Wykorzystując tę zdolność, atakujący może trwale usunąć kolejki i wszystkie ich powiązane wiadomości, co powoduje znaczące zakłócenia w przepływie pracy i prowadzi do krytycznej utraty danych dla aplikacji, które polegają na dotkniętych kolejkach. Ta akcja może być również użyta do sabotażu usług poprzez usunięcie istotnych komponentów systemu. +To uprawnienie pozwala atakującemu na usunięcie kolejek w ramach konta magazynowego. Wykorzystując tę zdolność, atakujący może trwale usunąć kolejki i wszystkie ich powiązane wiadomości, co powoduje znaczne zakłócenia w przepływie pracy i prowadzi do krytycznej utraty danych dla aplikacji, które polegają na dotkniętych kolejkach. Ta akcja może być również użyta do sabotażu usług poprzez usunięcie istotnych komponentów systemu. ```bash az storage queue delete --name --account-name ``` @@ -58,7 +58,7 @@ az storage message clear --queue-name --account-name --account-name diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-servicebus-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-servicebus-post-exploitation.md index 69c38b228..582fdc370 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-servicebus-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-servicebus-post-exploitation.md @@ -7,7 +7,7 @@ Aby uzyskać więcej informacji, sprawdź: {{#ref}} -../az-services/az-servicebus-enum.md +../az-services/az-servicebus.md {{#endref}} ### Actions: `Microsoft.ServiceBus/namespaces/Delete` @@ -24,7 +24,7 @@ az servicebus topic delete --resource-group --namespace-name ``` ### Actions: `Microsoft.ServiceBus/namespaces/queues/Delete` -Atakujący z tym uprawnieniem może usunąć kolejkę Azure Service Bus. Ta akcja usuwa kolejkę oraz wszystkie wiadomości w niej, co może prowadzić do utraty krytycznych danych i zakłócenia systemów oraz przepływów pracy zależnych od kolejki. +Atakujący z tym uprawnieniem może usunąć kolejkę Azure Service Bus. Ta akcja usuwa kolejkę oraz wszystkie wiadomości w niej, co może prowadzić do utraty krytycznych danych i zakłócenia systemów oraz procesów zależnych od kolejki. ```bash az servicebus queue delete --resource-group --namespace-name --name ``` @@ -36,7 +36,7 @@ az servicebus topic subscription delete --resource-group --n ``` ### Actions: `Microsoft.ServiceBus/namespaces/queues/write` (`Microsoft.ServiceBus/namespaces/queues/read`) -Napastnik z uprawnieniami do tworzenia lub modyfikowania kolejek Azure Service Bus (aby zmodyfikować kolejkę, będziesz również potrzebować akcji: `Microsoft.ServiceBus/namespaces/queues/read`) może to wykorzystać do przechwytywania danych, zakłócania przepływów pracy lub umożliwienia nieautoryzowanego dostępu. Mogą zmieniać krytyczne konfiguracje, takie jak przekazywanie wiadomości do złośliwych punktów końcowych, dostosowywanie TTL wiadomości w celu niewłaściwego przechowywania lub usuwania danych, lub włączanie dead-lettering w celu zakłócania obsługi błędów. Dodatkowo mogą manipulować rozmiarami kolejek, czasami blokady lub statusami, aby zakłócać funkcjonalność usługi lub unikać wykrycia, co czyni to istotnym ryzykiem po eksploatacji. +Atakujący z uprawnieniami do tworzenia lub modyfikowania kolejek Azure Service Bus (aby zmodyfikować kolejkę, będziesz również potrzebować akcji: `Microsoft.ServiceBus/namespaces/queues/read`) może to wykorzystać do przechwytywania danych, zakłócania przepływów pracy lub umożliwienia nieautoryzowanego dostępu. Mogą zmieniać krytyczne konfiguracje, takie jak przekazywanie wiadomości do złośliwych punktów końcowych, dostosowywanie TTL wiadomości w celu niewłaściwego przechowywania lub usuwania danych, lub włączanie dead-lettering w celu zakłócania obsługi błędów. Dodatkowo mogą manipulować rozmiarami kolejek, czasami blokady lub statusami, aby zakłócać funkcjonalność usługi lub unikać wykrycia, co czyni to istotnym ryzykiem po eksploatacji. ```bash az servicebus queue create --resource-group --namespace-name --name az servicebus queue update --resource-group --namespace-name --name diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-queue-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-queue-privesc.md index 011a6773c..651a1cda2 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-queue-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-queue-privesc.md @@ -7,7 +7,7 @@ Aby uzyskać więcej informacji, sprawdź: {{#ref}} -../az-services/az-queue-enum.md +../az-services/az-queue.md {{#endref}} ### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/read` @@ -32,7 +32,7 @@ az storage message put --queue-name --content "Injected malicious m ``` ### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/write` -To uprawnienie pozwala atakującemu na dodawanie nowych wiadomości lub aktualizowanie istniejących w Azure Storage Queue. Korzystając z tego, mogą wprowadzać szkodliwe treści lub zmieniać istniejące wiadomości, co może wprowadzać w błąd aplikacje lub powodować niepożądane zachowania w systemach, które polegają na kolejce. +To uprawnienie pozwala atakującemu na dodawanie nowych wiadomości lub aktualizowanie istniejących w Azure Storage Queue. Używając tego, mogą wprowadzać szkodliwe treści lub zmieniać istniejące wiadomości, co może wprowadzać w błąd aplikacje lub powodować niepożądane zachowania w systemach, które polegają na kolejce. ```bash az storage message put --queue-name --content "Injected malicious message" --account-name diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md index 77c563d70..5787d8184 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md @@ -7,12 +7,12 @@ Aby uzyskać więcej informacji, sprawdź: {{#ref}} -../az-services/az-servicebus-enum.md +../az-services/az-servicebus.md {{#endref}} ### Microsoft.ServiceBus/namespaces/authorizationrules/listKeys/action OR Microsoft.ServiceBus/namespaces/authorizationrules/regenerateKeys/action -Te uprawnienia pozwalają na uzyskanie lub regenerację kluczy dla lokalnych reguł autoryzacji w obrębie przestrzeni nazw Service Bus. Używając tych kluczy, możliwe jest uwierzytelnienie się jako przestrzeń nazw Service Bus, co umożliwia wysyłanie wiadomości do dowolnej kolejki lub tematu, odbieranie wiadomości z dowolnej kolejki lub subskrypcji, lub potencjalnie interakcję z systemem w sposób, który może zakłócić operacje, podszywać się pod ważnych użytkowników lub wstrzykiwać złośliwe dane do przepływu wiadomości. +Te uprawnienia pozwalają na uzyskanie lub regenerację kluczy dla lokalnych reguł autoryzacji w obrębie przestrzeni nazw Service Bus. Używając tych kluczy, możliwe jest uwierzytelnienie się jako przestrzeń nazw Service Bus, co umożliwia wysyłanie wiadomości do dowolnej kolejki lub tematu, odbieranie wiadomości z dowolnej kolejki lub subskrypcji, lub potencjalne interakcje z systemem w sposób, który może zakłócić operacje, podszywać się pod ważnych użytkowników lub wstrzykiwać złośliwe dane do przepływu wiadomości. Należy zauważyć, że domyślnie reguła **`RootManageSharedAccessKey` ma pełną kontrolę** nad przestrzenią nazw Service Bus i jest używana przez `az` cli, jednak mogą istnieć inne reguły z innymi wartościami kluczy. ```bash @@ -31,7 +31,7 @@ az servicebus namespace authorization-rule create --authorization-rule-name "myR >[!WARNING] >To polecenie nie zwraca kluczy, więc musisz je uzyskać za pomocą poprzednich poleceń (i uprawnień), aby podnieść uprawnienia. -Ponadto, za pomocą tego polecenia (i `Microsoft.ServiceBus/namespaces/authorizationRules/read`), jeśli wykonasz tę akcję przez Azure CLI, możliwe jest zaktualizowanie istniejącej reguły autoryzacji i nadanie jej większych uprawnień (w przypadku, gdy ich brakowało) za pomocą następującego polecenia: +Ponadto, za pomocą tego polecenia (i `Microsoft.ServiceBus/namespaces/authorizationRules/read`), jeśli wykonasz tę akcję za pomocą Azure CLI, możliwe jest zaktualizowanie istniejącej reguły autoryzacji i nadanie jej większych uprawnień (w przypadku, gdy ich brakowało) za pomocą następującego polecenia: ```bash az servicebus namespace authorization-rule update \ --resource-group \ @@ -57,7 +57,7 @@ az servicebus queue authorization-rule keys renew --key [PrimaryKey|SecondaryKey ``` ### Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/write -Dzięki temu uprawnieniu można **utworzyć nową regułę autoryzacji** ze wszystkimi uprawnieniami i własnymi kluczami z: +Dzięki temu uprawnieniu możliwe jest **utworzenie nowej reguły autoryzacji** ze wszystkimi uprawnieniami i własnymi kluczami z: ```bash # In a topic az servicebus topic authorization-rule create --resource-group --namespace-name --topic-name --name --rights Manage Listen Send @@ -68,7 +68,7 @@ az servicebus queue authorization-rule create --resource-group --nam >[!WARNING] >To polecenie nie zwraca kluczy, więc musisz je uzyskać za pomocą poprzednich poleceń (i uprawnień), aby podnieść uprawnienia. -Ponadto, za pomocą tego polecenia (i `Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/read`) jeśli wykonasz tę akcję przez Azure CLI, możliwe jest zaktualizowanie istniejącej reguły autoryzacji i nadanie jej większych uprawnień (w przypadku, gdy ich brakowało) za pomocą następującego polecenia: +Ponadto, za pomocą tego polecenia (i `Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/read`), jeśli wykonasz tę akcję za pomocą Azure CLI, możliwe jest zaktualizowanie istniejącej reguły autoryzacji i nadanie jej większych uprawnień (w przypadku, gdy ich brakowało) za pomocą następującego polecenia: ```bash # In a topic az servicebus topic authorization-rule update --resource-group --namespace-name --topic-name --name --rights Manage Listen Send @@ -82,13 +82,14 @@ Z tymi uprawnieniami **atakujący może ponownie włączyć "lokalne uwierzyteln ```bash az servicebus namespace update --disable-local-auth false -n --resource-group ``` -### Wysyłanie wiadomości z kluczami (Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action OR Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action) +### Wysyłanie wiadomości z kluczami (Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/ListKeys/action OR Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/regenerateKeys/action) -Możesz uzyskać `PrimaryConnectionString`, który działa jako poświadczenie dla przestrzeni nazw Service Bus. Dzięki temu ciągowi połączeń możesz w pełni uwierzytelnić się jako przestrzeń nazw Service Bus, co umożliwia wysyłanie wiadomości do dowolnej kolejki lub tematu oraz potencjalne interakcje z systemem w sposób, który może zakłócić operacje, podszywać się pod ważnych użytkowników lub wstrzykiwać złośliwe dane do przepływu wiadomości. Ta metoda działa, jeśli `--disable-local-auth` jest ustawione na false. +Możesz uzyskać `PrimaryConnectionString`, który działa jako poświadczenie dla przestrzeni nazw Service Bus. Dzięki temu ciągowi połączeń możesz w pełni uwierzytelnić się jako przestrzeń nazw Service Bus, co umożliwia wysyłanie wiadomości do dowolnej kolejki lub tematu oraz potencjalne interakcje z systemem w sposób, który może zakłócić operacje, podszywać się pod ważnych użytkowników lub wstrzykiwać złośliwe dane do przepływu wiadomości. Ta metoda działa, jeśli `--disable-local-auth` jest ustawione na false (więc lokalne uwierzytelnianie jest włączone). ```python import asyncio from azure.servicebus.aio import ServiceBusClient from azure.servicebus import ServiceBusMessage +# pip install azure-servicebus NAMESPACE_CONNECTION_STR = "" TOPIC_OR_QUEUE_NAME = "" @@ -129,12 +130,13 @@ az rest --method post \ --body "" ``` -### Odbierz za pomocą kluczy (Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action OR Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action) +### Receive with keys (Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/ListKeys/action OR Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/regenerateKeys/action) Możesz pobrać PrimaryConnectionString, który służy jako poświadczenie dla przestrzeni nazw Service Bus. Używając tego ciągu połączenia, możesz odbierać wiadomości z dowolnej kolejki lub subskrypcji w obrębie przestrzeni nazw, co umożliwia dostęp do potencjalnie wrażliwych lub krytycznych danych, umożliwiając eksfiltrację danych lub zakłócanie przetwarzania wiadomości i przepływów pracy aplikacji. Ta metoda działa, jeśli `--disable-local-auth` jest ustawione na false. ```python import asyncio from azure.servicebus.aio import ServiceBusClient +# pip install azure-servicebus CONN_STR = "" QUEUE = "" @@ -224,13 +226,15 @@ import asyncio from azure.identity.aio import DefaultAzureCredential from azure.servicebus.aio import ServiceBusClient from azure.servicebus import ServiceBusMessage +# pip install azure-servicebus NS = ".servicebus.windows.net" # Your namespace -QUEUE_OR_TOPIC = "" # Your queue name +QUEUE_OR_TOPIC = "" # Your queue name async def run(): credential = DefaultAzureCredential() async with ServiceBusClient(fully_qualified_namespace=NS, credential=credential) as client: +#async with client.get_topic_sender(topic_name=TOPIC) as sender: # Use this to send the message to a topic async with client.get_queue_sender(queue_name=QUEUE) as sender: await sender.send_messages(ServiceBusMessage("Single Message")) print("Sent a single message") @@ -246,6 +250,7 @@ Możesz użyć tych uprawnień do odbierania wiadomości, nawet jeśli `--disabl import asyncio from azure.identity.aio import DefaultAzureCredential from azure.servicebus.aio import ServiceBusClient +# pip install azure-servicebus NS = ".servicebus.windows.net" QUEUE = "" diff --git a/src/pentesting-cloud/azure-security/az-services/az-queue-enum.md b/src/pentesting-cloud/azure-security/az-services/az-queue.md similarity index 98% rename from src/pentesting-cloud/azure-security/az-services/az-queue-enum.md rename to src/pentesting-cloud/azure-security/az-services/az-queue.md index 2a517b40f..6f083930e 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-queue-enum.md +++ b/src/pentesting-cloud/azure-security/az-services/az-queue.md @@ -4,7 +4,7 @@ ## Podstawowe informacje -Azure Queue Storage to usługa w chmurze Azure firmy Microsoft zaprojektowana do kolejkowania wiadomości między komponentami aplikacji, **umożliwiająca asynchroniczną komunikację i odseparowanie**. Umożliwia przechowywanie nieograniczonej liczby wiadomości, z których każda ma rozmiar do 64 KB, i obsługuje operacje takie jak tworzenie i usuwanie kolejek, dodawanie, pobieranie, aktualizowanie i usuwanie wiadomości, a także zarządzanie metadanymi i politykami dostępu. Chociaż zazwyczaj przetwarza wiadomości w sposób first-in-first-out (FIFO), ścisłe FIFO nie jest gwarantowane. +Azure Queue Storage to usługa w chmurze Azure firmy Microsoft zaprojektowana do kolejkowania wiadomości między komponentami aplikacji, **umożliwiająca asynchroniczną komunikację i odseparowanie**. Umożliwia przechowywanie nieograniczonej liczby wiadomości, z których każda ma rozmiar do 64 KB, i obsługuje operacje takie jak tworzenie i usuwanie kolejek, dodawanie, pobieranie, aktualizowanie i usuwanie wiadomości, a także zarządzanie metadanymi i politykami dostępu. Chociaż zazwyczaj przetwarza wiadomości w sposób FIFO (first-in-first-out), ścisłe FIFO nie jest gwarantowane. ### Enumeracja diff --git a/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md b/src/pentesting-cloud/azure-security/az-services/az-servicebus.md similarity index 82% rename from src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md rename to src/pentesting-cloud/azure-security/az-services/az-servicebus.md index 38093da30..66389939a 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md +++ b/src/pentesting-cloud/azure-security/az-services/az-servicebus.md @@ -14,7 +14,7 @@ Azure Service Bus to oparta na chmurze **usługa komunikacyjna**, zaprojektowana - Dostarczane w trybie pull (na żądanie) do jednego konsumenta. - Może być skonfigurowana tak, aby po udostępnieniu wiadomości była automatycznie usuwana lub w trybie „Peek lock”, gdzie konsument musi potwierdzić, że może zostać usunięta. W przeciwnym razie wiadomość wróci do kolejki. - Obsługuje komunikację punkt-punkt. -3. **Topics:** Komunikacja typu publish-subscribe do nadawania. +3. **Topics:** Komunikacja publish-subscribe do nadawania. - Wiele niezależnych subskrypcji otrzymuje kopie wiadomości. - Każda subskrypcja jest jak kolejka wewnątrz tematu. - Subskrypcje mogą mieć zasady/filtry do kontrolowania dostarczania lub dodawania metadanych. @@ -27,35 +27,35 @@ https://.servicebus.windows.net:443/ Niektóre zaawansowane funkcje to: -- **Message Sessions**: Zapewnia przetwarzanie FIFO i wspiera wzorce request-response. -- **Auto-Forwarding**: Przenosi wiadomości między kolejkami lub tematami w tej samej przestrzeni nazw. -- **Dead-Lettering**: Zbiera wiadomości, które nie mogły być dostarczone do przeglądu. -- **Scheduled Delivery**: Opóźnia przetwarzanie wiadomości na przyszłe zadania. -- **Message Deferral**: Odkłada pobieranie wiadomości do momentu, gdy będzie to możliwe. -- **Transactions**: Grupuje operacje w atomowe wykonanie. -- **Filters & Actions**: Stosuje zasady do filtrowania lub adnotacji wiadomości. -- **Auto-Delete on Idle**: Usuwa kolejki po okresie bezczynności (min: 5 minut). -- **Duplicate Detection**: Usuwa duplikaty wiadomości podczas ponownych wysyłek. -- **Batch Deletion**: Masowo usuwa wygasłe lub niepotrzebne wiadomości. +- **Sesje wiadomości**: Zapewnia przetwarzanie FIFO i wspiera wzorce żądanie-odpowiedź. +- **Automatyczne przekazywanie**: Przenosi wiadomości między kolejkami lub tematami w tej samej przestrzeni nazw. +- **Dead-Lettering**: Zbiera wiadomości, które nie mogą być dostarczone do przeglądu. +- **Zaplanuje dostawę**: Opóźnia przetwarzanie wiadomości na przyszłe zadania. +- **Odwlekanie wiadomości**: Odkłada pobieranie wiadomości do momentu, gdy będzie to możliwe. +- **Transakcje**: Grupuje operacje w atomowe wykonanie. +- **Filtry i akcje**: Stosuje zasady do filtrowania lub adnotacji wiadomości. +- **Automatyczne usuwanie po bezczynności**: Usuwa kolejki po braku aktywności (min: 5 minut). +- **Wykrywanie duplikatów**: Usuwa duplikaty wiadomości podczas ponownych wysyłek. +- **Usuwanie wsadowe**: Masowo usuwa wygasłe lub niepotrzebne wiadomości. ### Uwierzytelnianie lokalne -Parametr **`--disable-local-auth`** z az cli jest używany do kontrolowania, czy **uwierzytelnianie lokalne** (pozwalające na użycie kluczy Shared Access Signature (SAS)) jest włączone dla Twojej przestrzeni nazw Service Bus. +Parametr **`--disable-local-auth`** z az cli służy do kontrolowania, czy **uwierzytelnianie lokalne** (pozwalające na użycie kluczy Shared Access Signature (SAS)) jest włączone dla Twojej przestrzeni nazw Service Bus. - Gdy disable jest ustawione na **true**: Uwierzytelnianie lokalne przy użyciu kluczy SAS jest wyłączone, a uwierzytelnianie Entra ID jest dozwolone. - Gdy disable jest ustawione na **false (domyślnie)**: Zarówno uwierzytelnianie lokalne SAS, jak i uwierzytelnianie Entra ID są dostępne, a Ty możesz używać ciągów połączeń z kluczami SAS do uzyskiwania dostępu do zasobów Service Bus. ### Reguła autoryzacji / Polityka SAS -Polityki SAS definiują uprawnienia dostępu do jednostek przestrzeni nazw Azure Service Bus (najważniejsza), kolejek i tematów. Każda polityka ma następujące komponenty: +Polityki SAS definiują uprawnienia dostępu do jednostek Azure Service Bus w przestrzeni nazw (najważniejsza), kolejek i tematów. Każda polityka ma następujące komponenty: -- **Permissions**: Pola wyboru do określenia poziomów dostępu: -- Manage: Przyznaje pełną kontrolę nad jednostką, w tym zarządzanie konfiguracją i uprawnieniami. -- Send: Pozwala na wysyłanie wiadomości do jednostki. -- Listen: Pozwala na odbieranie wiadomości z jednostki. -- **Primary and Secondary Keys**: To klucze kryptograficzne używane do generowania bezpiecznych tokenów do uwierzytelniania dostępu. -- **Primary and Secondary Connection Strings**: Wstępnie skonfigurowane ciągi połączeń, które zawierają punkt końcowy i klucz do łatwego użycia w aplikacjach. -- **SAS Policy ARM ID**: Ścieżka Azure Resource Manager (ARM) do polityki w celu identyfikacji programowej. +- **Uprawnienia**: Pola wyboru do określenia poziomów dostępu: +- Zarządzaj: Przyznaje pełną kontrolę nad jednostką, w tym zarządzanie konfiguracją i uprawnieniami. +- Wyślij: Pozwala na wysyłanie wiadomości do jednostki. +- Słuchaj: Pozwala na odbieranie wiadomości z jednostki. +- **Klucze główne i pomocnicze**: To klucze kryptograficzne używane do generowania bezpiecznych tokenów do uwierzytelniania dostępu. +- **Ciągi połączeń główne i pomocnicze**: Wstępnie skonfigurowane ciągi połączeń, które zawierają punkt końcowy i klucz do łatwego użycia w aplikacjach. +- **ID polityki SAS ARM**: Ścieżka Azure Resource Manager (ARM) do polityki w celu identyfikacji programowej. Ważne jest, aby zauważyć, że przestrzeń nazw ma jedną politykę SAS, która wpływa na każdą jednostkę w jej obrębie, podczas gdy kolejki i tematy mogą mieć swoje własne indywidualne polityki SAS dla bardziej szczegółowej kontroli. diff --git a/src/pentesting-cloud/azure-security/az-services/az-sql.md b/src/pentesting-cloud/azure-security/az-services/az-sql.md index 57c76740b..f6e20c7b1 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-sql.md +++ b/src/pentesting-cloud/azure-security/az-services/az-sql.md @@ -36,7 +36,7 @@ Należy pamiętać, że jeśli dozwolone jest jakiekolwiek uwierzytelnianie SQL, - Jak zawsze, domyślnie używany jest zarządzany klucz Azure, ale można również użyć klucza szyfrowania zarządzanego przez klienta (CMEK). **Zarządzane tożsamości:** -- Możliwe jest przypisanie zarządzanych tożsamości systemowych i użytkowników. +- Możliwe jest przypisanie systemowych i użytkownikowych zarządzanych tożsamości. - Używane do uzyskiwania dostępu do klucza szyfrowania (jeśli używany jest CMEK) i innych usług z baz danych. - Jeśli przypisano więcej niż jedną UMI, możliwe jest wskazanie domyślnej do użycia. - Możliwe jest skonfigurowanie tożsamości klienta federacyjnego do dostępu między tenantami. @@ -54,7 +54,7 @@ Należy pamiętać, że jeśli dozwolone jest jakiekolwiek uwierzytelnianie SQL, ## Azure SQL Database -**Azure SQL Database** to **w pełni zarządzana platforma bazy danych jako usługa (PaaS)**, która zapewnia skalowalne i bezpieczne rozwiązania baz danych relacyjnych. Zbudowana jest na najnowszych technologiach SQL Server i eliminuje potrzebę zarządzania infrastrukturą, co czyni ją popularnym wyborem dla aplikacji w chmurze. +**Azure SQL Database** to **w pełni zarządzana platforma bazy danych jako usługa (PaaS)**, która zapewnia skalowalne i bezpieczne rozwiązania relacyjnych baz danych. Zbudowana jest na najnowszych technologiach SQL Server i eliminuje potrzebę zarządzania infrastrukturą, co czyni ją popularnym wyborem dla aplikacji w chmurze. Aby utworzyć bazę danych SQL, należy wskazać serwer SQL, na którym będzie hostowana. @@ -68,26 +68,26 @@ Aby utworzyć bazę danych SQL, należy wskazać serwer SQL, na którym będzie - Szyfrowanie - Kopie zapasowe - … -- **Nadmiarowość danych:** Opcje to lokalna, strefowa, geograficzna lub geograficznie strefowa nadmiarowość. +- **Redundancja danych:** Opcje to lokalna, strefowa, geograficzna lub geograficzno-strefowa. - **Księga:** Kryptograficznie weryfikuje integralność danych, zapewniając, że wszelkie manipulacje są wykrywane. Przydatne dla finansów, medycyny i każdej organizacji zarządzającej wrażliwymi danymi. Baza danych SQL może być częścią **elastycznego zbioru**. Elastyczne zbiory to opłacalne rozwiązanie do zarządzania wieloma bazami danych poprzez dzielenie konfigurowalnych zasobów obliczeniowych (eDTUs) i pamięci masowej między nimi, z ceną opartą wyłącznie na przydzielonych zasobach, a nie na liczbie baz danych. -#### Azure SQL Bezpieczeństwo na poziomie kolumn (Maskowanie) i bezpieczeństwo na poziomie wierszy +#### Azure SQL Column Level Security (Maskowanie) & Row Level Security **Dynamiczne** maskowanie danych Azure SQL to funkcja, która pomaga **chronić wrażliwe informacje, ukrywając je** przed nieautoryzowanymi użytkownikami. Zamiast zmieniać rzeczywiste dane, dynamicznie maskuje wyświetlane dane, zapewniając, że wrażliwe szczegóły, takie jak numery kart kredytowych, są ukryte. -**Dynamiczne maskowanie danych** dotyczy wszystkich użytkowników z wyjątkiem tych, którzy są odmaskowani (ci użytkownicy muszą być wskazani) oraz administratorów. Posiada opcję konfiguracji, która określa, którzy użytkownicy SQL są zwolnieni z dynamicznego maskowania danych, przy czym **administratorzy są zawsze wyłączeni**. +**Dynamiczne maskowanie danych** dotyczy wszystkich użytkowników, z wyjątkiem tych, którzy są odmaskowani (ci użytkownicy muszą być wskazani) oraz administratorów. Posiada opcję konfiguracji, która określa, którzy użytkownicy SQL są zwolnieni z dynamicznego maskowania danych, przy czym **administratorzy są zawsze wyłączeni**. -**Bezpieczeństwo na poziomie wierszy Azure SQL (RLS)** to funkcja, która **kontroluje, które wiersze użytkownik może przeglądać lub modyfikować**, zapewniając, że każdy użytkownik widzi tylko dane istotne dla niego. Tworząc polityki zabezpieczeń z filtrami lub predykatami blokującymi, organizacje mogą egzekwować precyzyjny dostęp na poziomie bazy danych. +**Azure SQL Row Level Security (RLS)** to funkcja, która **kontroluje, które wiersze użytkownik może przeglądać lub modyfikować**, zapewniając, że każdy użytkownik widzi tylko dane istotne dla niego. Tworząc polityki zabezpieczeń z filtrami lub predykatami blokującymi, organizacje mogą egzekwować precyzyjny dostęp na poziomie bazy danych. ### Azure SQL Managed Instance -**Azure SQL Managed Instances** są przeznaczone do większych wdrożeń w skali całej instancji SQL Server. Zapewnia niemal 100% zgodności z najnowszym SQL Server w wersji lokalnej (edycja Enterprise), co zapewnia natywną implementację sieci wirtualnej (VNet), która odpowiada na powszechne obawy dotyczące bezpieczeństwa, oraz model biznesowy korzystny dla klientów SQL Server w wersji lokalnej. +**Azure SQL Managed Instances** są przeznaczone dla większych wdrożeń w skali całej instancji SQL Server. Zapewnia niemal 100% zgodności z najnowszym SQL Server w wersji lokalnej (edycja Enterprise), co zapewnia natywną implementację sieci wirtualnej (VNet), która odpowiada na powszechne obawy dotyczące bezpieczeństwa, oraz model biznesowy korzystny dla klientów SQL Server w wersji lokalnej. -### Azure SQL Maszyny Wirtualne +### Azure SQL Virtual Machines -**Azure SQL Maszyny Wirtualne** pozwalają na **kontrolowanie systemu operacyjnego** i instancji SQL Server, ponieważ maszyna wirtualna będzie uruchamiana w usłudze VM działającej na serwerze SQL. +**Azure SQL Virtual Machines** pozwala na **kontrolowanie systemu operacyjnego** i instancji SQL Server, ponieważ maszyna wirtualna będzie uruchamiana w usłudze VM działającej na serwerze SQL. Gdy tworzona jest maszyna wirtualna SQL, możliwe jest **wybranie wszystkich ustawień VM** (jak pokazano w lekcji o VM), które będą hostować serwer SQL. - Oznacza to, że VM będzie uzyskiwać dostęp do niektórych VNet(ów), może mieć **przypisane zarządzane tożsamości**, może mieć zamontowane udziały plików… co czyni **przechodzenie z SQL** do VM bardzo interesującym. @@ -95,7 +95,7 @@ Gdy tworzona jest maszyna wirtualna SQL, możliwe jest **wybranie wszystkich ust Możliwe jest również skonfigurowanie takich rzeczy jak **automatyczne aktualizacje SQL**, **automatyczne kopie zapasowe**, **uwierzytelnianie Entra ID** i większość funkcji innych usług SQL. -## Enumeracja +## Enumeration {{#tabs}} {{#tab name="az cli"}} @@ -232,7 +232,7 @@ Get-AzSqlVM {{#endtab}} {{#endtabs}} -Dodatkowo, jeśli chcesz wyliczyć Dynamic Data Masking oraz Row Level policies w obrębie bazy danych, możesz zapytać: +Dodatkowo, jeśli chcesz wyliczyć Dynamic Data Masking oraz Row Level policies w bazie danych, możesz zapytać: ```sql --Enumerates the masked columns SELECT @@ -301,4 +301,10 @@ sqlcmd -S .database.windows.net -U -P