From 45dcc0f7f2573730ea86597054ac3729559597bb Mon Sep 17 00:00:00 2001 From: Translator Date: Thu, 20 Feb 2025 00:54:53 +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 | 2 +- .../az-servicebus-privesc.md | 23 +++++++++++-------- .../{az-queue-enum.md => az-queue.md} | 4 ++-- ...az-servicebus-enum.md => az-servicebus.md} | 16 ++++++------- .../azure-security/az-services/az-sql.md | 12 +++++++--- 10 files changed, 64 insertions(+), 32 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} (87%) rename src/pentesting-cloud/azure-security/az-services/{az-servicebus-enum.md => az-servicebus.md} (90%) 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 fd470ae25..048e6ed0b 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 @@ Für weitere Informationen siehe: {{#ref}} -../az-services/az-queue-enum.md +../az-services/az-queue.md {{#endref}} ### Aktionen: `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..f7e7e4862 --- /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 + +Für weitere Informationen siehe: + +{{#ref}} +../az-services/az-sql.md +{{#endref}} + +### Häufige Persistenztechniken + +- SQL-Anmeldeinformationen kompromittieren oder einen SQL-Benutzer erstellen (SQL-Authentifizierung aktivieren, falls erforderlich) +- Einen kompromittierten Benutzer als Entra ID-Administrator zuweisen (Entra ID-Authentifizierung aktivieren, falls erforderlich) +- Hintertür in der VM (wenn SQL-VM verwendet wird) +- Eine FW-Regel erstellen, um den Zugriff auf die SQL-Datenbank aufrechtzuerhalten + +{{#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 fcd8c475f..257eeaf21 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 @@ Für weitere Informationen siehe: {{#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` -Diese Berechtigung ermöglicht es einem Angreifer, neue Nachrichten hinzuzufügen oder vorhandene in einer Azure Storage Queue zu aktualisieren. Durch die Nutzung dieser Berechtigung könnten sie schädliche Inhalte einfügen oder vorhandene Nachrichten ändern, was möglicherweise Anwendungen irreführen oder unerwünschte Verhaltensweisen in Systemen verursachen könnte, die auf die Queue angewiesen sind. +Diese Berechtigung ermöglicht es einem Angreifer, neue Nachrichten hinzuzufügen oder vorhandene in einer Azure Storage Queue zu aktualisieren. Durch die Nutzung dieser Berechtigung könnten sie schädliche Inhalte einfügen oder bestehende Nachrichten ändern, was möglicherweise Anwendungen irreführen oder unerwünschte Verhaltensweisen in Systemen verursachen könnte, die auf die Queue angewiesen sind. ```bash az storage message put --queue-name --content "Injected malicious message" --account-name @@ -46,7 +46,7 @@ az storage message update --queue-name \ ``` ### Aktionen: `Microsoft.Storage/storageAccounts/queueServices/queues/delete` -Diese Berechtigung ermöglicht es einem Angreifer, Warteschlangen innerhalb des Speicherkontos zu löschen. Durch die Nutzung dieser Fähigkeit kann ein Angreifer Warteschlangen und alle damit verbundenen Nachrichten dauerhaft entfernen, was zu erheblichen Störungen der Arbeitsabläufe führt und zu kritischem Datenverlust für Anwendungen, die auf die betroffenen Warteschlangen angewiesen sind, führt. Diese Aktion kann auch verwendet werden, um Dienste zu sabotieren, indem wesentliche Komponenten des Systems entfernt werden. +Diese Berechtigung ermöglicht es einem Angreifer, Warteschlangen innerhalb des Speicherkontos zu löschen. Durch die Nutzung dieser Fähigkeit kann ein Angreifer Warteschlangen und alle damit verbundenen Nachrichten dauerhaft entfernen, was zu erheblichen Störungen der Arbeitsabläufe führt und zu einem kritischen Datenverlust für Anwendungen, die auf die betroffenen Warteschlangen angewiesen sind. Diese Aktion kann auch verwendet werden, um Dienste zu sabotieren, indem wesentliche Komponenten des Systems entfernt werden. ```bash az storage queue delete --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 778f3d140..9b98de94c 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 @@ Für weitere Informationen siehe: {{#ref}} -../az-services/az-servicebus-enum.md +../az-services/az-servicebus.md {{#endref}} ### Aktionen: `Microsoft.ServiceBus/namespaces/Delete` @@ -43,14 +43,14 @@ az servicebus queue update --resource-group --namespace-name ``` ### Aktionen: `Microsoft.ServiceBus/namespaces/topics/write` (`Microsoft.ServiceBus/namespaces/topics/read`) -Ein Angreifer mit Berechtigungen zum Erstellen oder Ändern von Themen (um das Thema zu ändern, benötigen Sie auch die Aktion: `Microsoft.ServiceBus/namespaces/topics/read`) innerhalb eines Azure Service Bus-Namensraums kann dies ausnutzen, um Nachrichten-Workflows zu stören, sensible Daten offenzulegen oder unbefugte Aktionen zu ermöglichen. Mit Befehlen wie az servicebus topic update können sie Konfigurationen manipulieren, wie z.B. das Aktivieren von Partitionierung für Missbrauch der Skalierbarkeit, das Ändern von TTL-Einstellungen, um Nachrichten unangemessen zu behalten oder zu verwerfen, oder das Deaktivieren der Duplikaterkennung, um Kontrollen zu umgehen. Darüber hinaus könnten sie die Themen-Größenbeschränkungen anpassen, den Status ändern, um die Verfügbarkeit zu stören, oder Express-Themen konfigurieren, um vorübergehend abgefangene Nachrichten zu speichern, wodurch das Themenmanagement ein kritischer Fokus für die Minderung nach der Ausnutzung wird. +Ein Angreifer mit Berechtigungen zum Erstellen oder Ändern von Themen (um das Thema zu ändern, benötigen Sie auch die Aktion: `Microsoft.ServiceBus/namespaces/topics/read`) innerhalb eines Azure Service Bus-Namensraums kann dies ausnutzen, um Nachrichten-Workflows zu stören, sensible Daten offenzulegen oder unbefugte Aktionen zu ermöglichen. Mit Befehlen wie az servicebus topic update können sie Konfigurationen manipulieren, wie z.B. das Aktivieren von Partitionierung für Missbrauch der Skalierbarkeit, das Ändern von TTL-Einstellungen, um Nachrichten unangemessen zu behalten oder zu verwerfen, oder das Deaktivieren der Duplikaterkennung, um Kontrollen zu umgehen. Darüber hinaus könnten sie die Themen-Größenlimits anpassen, den Status ändern, um die Verfügbarkeit zu stören, oder Express-Themen konfigurieren, um vorübergehend abgefangene Nachrichten zu speichern, was das Themenmanagement zu einem kritischen Fokus für die Minderung nach der Ausnutzung macht. ```bash az servicebus topic create --resource-group --namespace-name --name az servicebus topic update --resource-group --namespace-name --name ``` ### Aktionen: `Microsoft.ServiceBus/namespaces/topics/subscriptions/write` (`Microsoft.ServiceBus/namespaces/topics/subscriptions/read`) -Ein Angreifer mit Berechtigungen zum Erstellen oder Ändern von Abonnements (um das Abonnement zu ändern, benötigen Sie auch die Aktion: `Microsoft.ServiceBus/namespaces/topics/subscriptions/read`) innerhalb eines Azure Service Bus-Themen kann dies ausnutzen, um Nachrichten-Workflows abzufangen, umzuleiten oder zu stören. Mit Befehlen wie az servicebus topic subscription update können sie Konfigurationen manipulieren, wie das Aktivieren von Dead Lettering, um Nachrichten umzuleiten, Nachrichten an unbefugte Endpunkte weiterzuleiten oder TTL und Sperrdauer zu ändern, um die Zustellung von Nachrichten zu behalten oder zu stören. Darüber hinaus können sie Status- oder maximale Zustellanzahl-Einstellungen ändern, um den Betrieb zu stören oder der Erkennung zu entgehen, was die Kontrolle über Abonnements zu einem kritischen Aspekt von Post-Exploitation-Szenarien macht. +Ein Angreifer mit Berechtigungen zum Erstellen oder Ändern von Abonnements (um das Abonnement zu ändern, benötigen Sie auch die Aktion: `Microsoft.ServiceBus/namespaces/topics/subscriptions/read`) innerhalb eines Azure Service Bus-Themen kann dies ausnutzen, um Nachrichten-Workflows abzufangen, umzuleiten oder zu stören. Mit Befehlen wie az servicebus topic subscription update können sie Konfigurationen manipulieren, wie das Aktivieren von Dead Lettering, um Nachrichten umzuleiten, Nachrichten an unbefugte Endpunkte weiterzuleiten oder TTL- und Sperrdauer zu ändern, um die Zustellung von Nachrichten zu behalten oder zu stören. Darüber hinaus können sie Status- oder maximale Zustellanzahl-Einstellungen ändern, um den Betrieb zu stören oder der Entdeckung zu entgehen, was die Kontrolle über Abonnements zu einem kritischen Aspekt von Post-Exploitation-Szenarien macht. ```bash az servicebus topic subscription create --resource-group --namespace-name --topic-name --name az servicebus topic subscription update --resource-group --namespace-name --topic-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 8502b7cc5..f259397c4 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 @@ Für weitere Informationen siehe: {{#ref}} -../az-services/az-queue-enum.md +../az-services/az-queue.md {{#endref}} ### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/read` 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 a169b386b..89ccd858d 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,7 +7,7 @@ Für weitere Informationen siehe: {{#ref}} -../az-services/az-servicebus-enum.md +../az-services/az-servicebus.md {{#endref}} ### Microsoft.ServiceBus/namespaces/authorizationrules/listKeys/action ODER Microsoft.ServiceBus/namespaces/authorizationrules/regenerateKeys/action @@ -41,7 +41,7 @@ az servicebus namespace authorization-rule update \ ``` ### Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/ListKeys/action ODER Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/regenerateKeys/action -Spezifische Themen und Warteschlangen innerhalb eines Service Bus-Namensraums können eigene Autorisierungsregeln haben, die verwendet werden können, um den Zugriff auf die Entität zu steuern. Durch das Vorhandensein dieser Berechtigungen können Sie **die Schlüssel für diese lokalen Autorisierungsregeln abrufen oder regenerieren**, wodurch Sie sich als die Entität authentifizieren und potenziell Nachrichten senden oder empfangen, Abonnements verwalten oder mit dem System auf eine Weise interagieren können, die den Betrieb stören, gültige Benutzer impersonieren oder bösartige Daten in den Nachrichtenworkflow injizieren könnte. +Spezifische Themen und Warteschlangen innerhalb eines Service Bus-Namensraums können eigene Autorisierungsregeln haben, die verwendet werden können, um den Zugriff auf die Entität zu steuern. Durch das Vorhandensein dieser Berechtigungen können Sie **die Schlüssel für diese lokalen Autorisierungsregeln abrufen oder regenerieren**, wodurch Sie sich als die Entität authentifizieren und potenziell Nachrichten senden oder empfangen, Abonnements verwalten oder mit dem System auf eine Weise interagieren können, die den Betrieb stören, gültige Benutzer impersonieren oder schädliche Daten in den Nachrichtenworkflow injizieren könnte. ```bash # List keys (topics) az servicebus topic authorization-rule keys list --resource-group --namespace-name --topic-name --name @@ -76,19 +76,20 @@ az servicebus topic authorization-rule update --resource-group --nam # In a queue az servicebus queue authorization-rule update --resource-group --namespace-name --queue-name --name --rights Manage Listen Send ``` -### Microsoft.ServiceBus/namespaces/write (& Microsoft.ServiceBus/namespaces/read if az cli is used) +### Microsoft.ServiceBus/namespaces/write (& Microsoft.ServiceBus/namespaces/read, wenn az cli verwendet wird) -Mit diesen Berechtigungen **kann ein Angreifer die "lokale Authentifizierung" wieder aktivieren** mit dem folgenden Befehl, und daher werden alle Schlüssel aus den gemeinsamen Richtlinien funktionieren. +Mit diesen Berechtigungen **kann ein Angreifer die "lokale Authentifizierung" wieder aktivieren** mit dem folgenden Befehl, und daher werden alle Schlüssel aus den freigegebenen Richtlinien funktionieren. ```bash az servicebus namespace update --disable-local-auth false -n --resource-group ``` -### Nachrichten mit Schlüsseln senden (Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action ODER Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action) +### Nachrichten mit Schlüsseln senden (Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/ListKeys/action ODER Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/regenerateKeys/action) -Sie können die `PrimaryConnectionString` abrufen, die als Anmeldeinformation für den Service Bus-Namespace fungiert. Mit dieser Verbindungszeichenfolge können Sie sich vollständig als der Service Bus-Namespace authentifizieren, was es Ihnen ermöglicht, Nachrichten an jede Warteschlange oder jedes Thema zu senden und potenziell mit dem System auf eine Weise zu interagieren, die den Betrieb stören, gültige Benutzer impersonieren oder bösartige Daten in den Messaging-Workflow injizieren könnte. Diese Methode funktioniert, wenn `--disable-local-auth` auf false gesetzt ist. +Sie können die `PrimaryConnectionString` abrufen, die als Anmeldeinformation für den Service Bus-Namespace fungiert. Mit dieser Verbindungszeichenfolge können Sie sich vollständig als der Service Bus-Namespace authentifizieren, was es Ihnen ermöglicht, Nachrichten an jede Warteschlange oder jedes Thema zu senden und potenziell mit dem System auf eine Weise zu interagieren, die den Betrieb stören, gültige Benutzer impersonieren oder bösartige Daten in den Nachrichtenworkflow injizieren könnte. Diese Methode funktioniert, wenn `--disable-local-auth` auf false gesetzt ist (d.h. lokale Authentifizierung aktiviert ist). ```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 "" ``` -### Receive with keys (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) -Sie können die PrimaryConnectionString abrufen, die als Anmeldeinformation für den Service Bus-Namespace dient. Mit dieser Verbindungszeichenfolge können Sie Nachrichten aus jeder Warteschlange oder Abonnements innerhalb des Namensraums empfangen, was den Zugriff auf potenziell sensible oder kritische Daten ermöglicht, Datenexfiltration ermöglicht oder die Nachrichtenverarbeitung und Anwendungsabläufe stört. Diese Methode funktioniert, wenn `--disable-local-auth` auf false gesetzt ist. +Sie können den PrimaryConnectionString abrufen, der als Anmeldeinformation für den Service Bus-Namespace dient. Mit diesem Verbindungsstring können Sie Nachrichten aus jeder Warteschlange oder Abonnements innerhalb des Namensraums empfangen, was den Zugriff auf potenziell sensible oder kritische Daten ermöglicht, Datenexfiltration ermöglicht oder die Nachrichtenverarbeitung und Anwendungsabläufe stört. Diese Methode funktioniert, wenn `--disable-local-auth` auf false gesetzt ist. ```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 @@ Sie können diese Berechtigungen verwenden, um Nachrichten zu empfangen, selbst 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 87% 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 fa136f647..e678ae6c1 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-queue-enum.md +++ b/src/pentesting-cloud/azure-security/az-services/az-queue.md @@ -2,9 +2,9 @@ {{#include ../../../banners/hacktricks-training.md}} -## Grundinformationen +## Grundlegende Informationen -Azure Queue Storage ist ein Dienst in Microsofts Azure-Cloud-Plattform, der für die Nachrichtenwarteschlange zwischen Anwendungskomponenten entwickelt wurde, **um asynchrone Kommunikation und Entkopplung zu ermöglichen**. Es ermöglicht Ihnen, eine unbegrenzte Anzahl von Nachrichten zu speichern, von denen jede bis zu 64 KB groß sein kann, und unterstützt Operationen wie das Erstellen und Löschen von Warteschlangen, das Hinzufügen, Abrufen, Aktualisieren und Löschen von Nachrichten sowie das Verwalten von Metadaten und Zugriffsrichtlinien. Während es typischerweise Nachrichten in einer First-In-First-Out (FIFO)-Reihenfolge verarbeitet, wird strikte FIFO nicht garantiert. +Azure Queue Storage ist ein Dienst in Microsofts Azure-Cloud-Plattform, der für die Nachrichtenwarteschlange zwischen Anwendungskomponenten entwickelt wurde, **um asynchrone Kommunikation und Entkopplung zu ermöglichen**. Es ermöglicht Ihnen, eine unbegrenzte Anzahl von Nachrichten zu speichern, jede bis zu 64 KB groß, und unterstützt Operationen wie das Erstellen und Löschen von Warteschlangen, das Hinzufügen, Abrufen, Aktualisieren und Löschen von Nachrichten sowie das Verwalten von Metadaten und Zugriffsrichtlinien. Während es typischerweise Nachrichten in einer First-In-First-Out (FIFO)-Reihenfolge verarbeitet, wird strikte FIFO nicht garantiert. ### Enumeration 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 90% 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 201b05bf3..258ca5c22 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md +++ b/src/pentesting-cloud/azure-security/az-services/az-servicebus.md @@ -4,17 +4,17 @@ ## Service Bus -Azure Service Bus ist ein cloudbasierter **Messaging-Dienst**, der entwickelt wurde, um eine zuverlässige **Kommunikation zwischen verschiedenen Teilen einer Anwendung oder separaten Anwendungen** zu ermöglichen. Er fungiert als sicherer Mittelsmann und stellt sicher, dass Nachrichten sicher zugestellt werden, selbst wenn Sender und Empfänger nicht gleichzeitig arbeiten. Durch die Entkopplung von Systemen ermöglicht es Anwendungen, unabhängig zu arbeiten, während sie weiterhin Daten oder Anweisungen austauschen. Es ist besonders nützlich für Szenarien, die Lastverteilung über mehrere Arbeiter, zuverlässige Nachrichtenübermittlung oder komplexe Koordination erfordern, wie z.B. die Verarbeitung von Aufgaben in der richtigen Reihenfolge oder die sichere Verwaltung von Zugriffsrechten. +Azure Service Bus ist ein cloudbasierter **Messaging-Dienst**, der entwickelt wurde, um eine zuverlässige **Kommunikation zwischen verschiedenen Teilen einer Anwendung oder separaten Anwendungen** zu ermöglichen. Er fungiert als sicherer Mittelsmann und stellt sicher, dass Nachrichten sicher zugestellt werden, selbst wenn Sender und Empfänger nicht gleichzeitig arbeiten. Durch die Entkopplung von Systemen ermöglicht es Anwendungen, unabhängig zu arbeiten, während sie weiterhin Daten oder Anweisungen austauschen. Es ist besonders nützlich für Szenarien, die Lastenausgleich über mehrere Arbeiter, zuverlässige Nachrichtenübermittlung oder komplexe Koordination erfordern, wie z.B. die Verarbeitung von Aufgaben in der richtigen Reihenfolge oder die sichere Verwaltung von Zugriffsrechten. ### Key Concepts 1. **Namespaces:** Ein Namespace in Messaging-Systemen ist ein logischer Container, der Messaging-Komponenten, Warteschlangen und Themen organisiert und verwaltet. Er bietet eine isolierte Umgebung, in der Anwendungen Nachrichten senden, empfangen und verarbeiten können. Warteschlangen und Themen teilen sich die gleiche Infrastruktur und Konfiguration innerhalb eines Service Bus-Namespace, arbeiten jedoch unabhängig und interagieren nicht miteinander. 2. **Queues:** Ihr Zweck ist es, Nachrichten zu speichern, bis der Empfänger bereit ist. - Nachrichten sind geordnet, zeitgestempelt und dauerhaft gespeichert. -- Werden im Pull-Modus (on-demand retrieval) an einen Verbraucher geliefert. +- Sie werden im Pull-Modus (on-demand retrieval) an einen Verbraucher geliefert. - Es kann so konfiguriert werden, dass die Nachricht automatisch gelöscht wird, wenn sie geteilt wird, oder im „Peek lock“-Modus, in dem der Verbraucher bestätigen muss, dass sie gelöscht werden kann. Andernfalls wird die Nachricht zurück in die Warteschlange geschickt. - Unterstützt Punkt-zu-Punkt-Kommunikation. -3. **Topics:** Publish-Subscribe-Messaging für das Broadcasting. +3. **Topics:** Publish-Subscribe-Messaging für die Übertragung. - Mehrere unabhängige Abonnements erhalten Kopien von Nachrichten. - Jedes Abonnement ist wie eine Warteschlange innerhalb des Themas. - Abonnements können Regeln/Filter haben, um die Zustellung zu steuern oder Metadaten hinzuzufügen. @@ -35,15 +35,15 @@ Einige erweiterte Funktionen sind: - **Transactions**: Gruppiert Operationen in atomare Ausführung. - **Filters & Actions**: Wendet Regeln an, um Nachrichten zu filtern oder zu annotieren. - **Auto-Delete on Idle**: Löscht Warteschlangen nach Inaktivität (min: 5 Minuten). -- **Duplicate Detection**: Entfernt doppelte Nachrichten während der erneuten Sendung. +- **Duplicate Detection**: Entfernt doppelte Nachrichten während der erneuten Sendungen. - **Batch Deletion**: Löscht im Bulk abgelaufene oder unnötige Nachrichten. ### Lokale Authentifizierung -Der **`--disable-local-auth`** Parameter von az cli wird verwendet, um zu steuern, ob die **lokale Authentifizierung** (die die Verwendung von Shared Access Signature (SAS) Schlüsseln ermöglicht) für Ihren Service Bus Namensraum aktiviert ist. +Der **`--disable-local-auth`** Parameter von az cli wird verwendet, um zu steuern, ob die **lokale Authentifizierung** (die Verwendung von Shared Access Signature (SAS) Schlüsseln ermöglicht) für Ihren Service Bus Namensraum aktiviert ist. -- Wenn disable auf **true** gesetzt ist: Ist die lokale Authentifizierung mit SAS-Schlüsseln deaktiviert und die Entrad ID-Authentifizierung ist erlaubt. -- Wenn disable auf **false (Standard)** gesetzt ist: Sind sowohl die SAS lokale Authentifizierung als auch die Entra ID-Authentifizierung verfügbar und Sie können Verbindungszeichenfolgen mit SAS-Schlüsseln verwenden, um auf Ihre Service Bus-Ressourcen zuzugreifen. +- Wenn disable auf **true** gesetzt ist: Ist die lokale Authentifizierung mit SAS-Schlüsseln deaktiviert und die Entra ID-Authentifizierung ist erlaubt. +- Wenn disable auf **false (Standard)** gesetzt ist: Sind sowohl die SAS lokale Authentifizierung als auch die Entra ID-Authentifizierung verfügbar, und Sie können Verbindungszeichenfolgen mit SAS-Schlüsseln verwenden, um auf Ihre Service Bus-Ressourcen zuzugreifen. ### Autorisierungsregel / SAS-Richtlinie @@ -57,7 +57,7 @@ SAS-Richtlinien definieren die Zugriffsberechtigungen für Azure Service Bus Ent - **Primäre und sekundäre Verbindungszeichenfolgen**: Vorgefertigte Verbindungszeichenfolgen, die den Endpunkt und den Schlüssel für die einfache Verwendung in Anwendungen enthalten. - **SAS-Richtlinien ARM-ID**: Der Azure Resource Manager (ARM) Pfad zur Richtlinie für die programmgesteuerte Identifizierung. -Es ist wichtig zu beachten, dass ein Namensraum eine einzige SAS-Richtlinie hat, die jede Entität darin beeinflusst, während Warteschlangen und Themen ihre eigenen individuellen SAS-Richtlinien für eine granularere Kontrolle haben können. +Es ist wichtig zu beachten, dass ein Namensraum eine einzige SAS-Richtlinie hat, die jede Entität innerhalb davon beeinflusst, während Warteschlangen und Themen ihre eigenen individuellen SAS-Richtlinien für eine granularere Kontrolle haben können. ### Aufzählung 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 688bf0e12..2176bfd72 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-sql.md +++ b/src/pentesting-cloud/azure-security/az-services/az-sql.md @@ -71,7 +71,7 @@ Um eine SQL-Datenbank zu erstellen, muss der SQL-Server angegeben werden, auf de - **Datenredundanz:** Optionen sind lokal, zonen-, geo- oder geo-zonenredundant. - **Ledger:** Es überprüft kryptografisch die Integrität der Daten und stellt sicher, dass jede Manipulation erkannt wird. Nützlich für Finanz-, Medizin- und jede Organisation, die mit sensiblen Daten umgeht. -Eine SQL-Datenbank könnte Teil eines **elastischen Pools** sein. Elastische Pools sind eine kosteneffektive Lösung zur Verwaltung mehrerer Datenbanken, indem konfigurierbare Rechen- (eDTUs) und Speicherressourcen unter ihnen geteilt werden, wobei die Preisgestaltung ausschließlich auf den zugewiesenen Ressourcen und nicht auf der Anzahl der Datenbanken basiert. +Eine SQL-Datenbank könnte Teil eines **elastischen Pools** sein. Elastische Pools sind eine kosteneffektive Lösung zur Verwaltung mehrerer Datenbanken, indem konfigurierbare Rechenressourcen (eDTUs) und Speicherressourcen unter ihnen geteilt werden, wobei die Preisgestaltung ausschließlich auf den zugewiesenen Ressourcen und nicht auf der Anzahl der Datenbanken basiert. #### Azure SQL-Spaltenebene-Sicherheit (Maskierung) & Zeilenebene-Sicherheit @@ -79,7 +79,7 @@ Eine SQL-Datenbank könnte Teil eines **elastischen Pools** sein. Elastische Poo Die **dynamische Datenmaskierung** betrifft alle Benutzer, außer denjenigen, die nicht maskiert sind (diese Benutzer müssen angegeben werden) und Administratoren. Sie hat die Konfigurationsoption, die angibt, welche SQL-Benutzer von der dynamischen Datenmaskierung ausgenommen sind, wobei **Administratoren immer ausgeschlossen** sind. -**Azure SQL-Zeilenebene-Sicherheit (RLS)** ist eine Funktion, die **steuert, welche Zeilen ein Benutzer anzeigen oder ändern kann**, sodass jeder Benutzer nur die für ihn relevanten Daten sieht. Durch die Erstellung von Sicherheitsrichtlinien mit Filter- oder Blockprädikaten können Organisationen einen feinkörnigen Zugriff auf Datenbankebene durchsetzen. +**Azure SQL-Zeilenebene-Sicherheit (RLS)** ist eine Funktion, die **steuert, welche Zeilen ein Benutzer anzeigen oder ändern kann**, sodass jeder Benutzer nur die für ihn relevanten Daten sieht. Durch die Erstellung von Sicherheitsrichtlinien mit Filter- oder Blockprädikaten können Organisationen einen feingranularen Zugriff auf Datenbankebene durchsetzen. ### Azure SQL Managed Instance @@ -90,7 +90,7 @@ Die **dynamische Datenmaskierung** betrifft alle Benutzer, außer denjenigen, di **Azure SQL-VMs** ermöglichen es, **das Betriebssystem** und die SQL Server-Instanz zu **steuern**, da eine VM im VM-Dienst, der den SQL-Server ausführt, erstellt wird. Wenn eine SQL-VM erstellt wird, ist es möglich, **alle Einstellungen der VM auszuwählen** (wie in der VM-Lektion gezeigt), die den SQL-Server hosten wird. -- Das bedeutet, dass die VM auf einige VNet(s) zugreifen wird, möglicherweise **verwaltete Identitäten angehängt** hat, Datei-Share gemountet haben könnte… was ein **Pivoting vom SQL** zur VM sehr interessant macht. +- Das bedeutet, dass die VM auf einige VNet(s) zugreift, möglicherweise **verwaltete Identitäten angehängt** hat, Datei-Share gemountet haben könnte… was ein **Pivoting vom SQL** zur VM super interessant macht. - Darüber hinaus ist es möglich, eine App-ID und ein Geheimnis zu konfigurieren, um **dem SQL den Zugriff auf einen bestimmten Schlüsselbund** zu ermöglichen, der sensible Informationen enthalten könnte. Es ist auch möglich, Dinge wie **automatische SQL-Updates**, **automatische Backups**, **Entra-ID-Authentifizierung** und die meisten Funktionen der anderen SQL-Dienste zu konfigurieren. @@ -301,4 +301,10 @@ sqlcmd -S .database.windows.net -U -P