Translated ['src/pentesting-cloud/azure-security/az-persistence/az-queue

This commit is contained in:
Translator
2025-02-20 00:55:22 +00:00
parent 2acd657e33
commit c70ee455d0
10 changed files with 78 additions and 46 deletions

View File

@@ -7,7 +7,7 @@
Vir meer inligting, kyk:
{{#ref}}
../az-services/az-queue-enum.md
../az-services/az-queue.md
{{#endref}}
### Aksies: `Microsoft.Storage/storageAccounts/queueServices/queues/write`

View File

@@ -0,0 +1,20 @@
# Az - SQL Persistensie
{{#include ../../../banners/hacktricks-training.md}}
## SQL
Vir meer inligting, kyk:
{{#ref}}
../az-services/az-sql.md
{{#endref}}
### Algemene Persistensie Tegnieke
- Kompromitteer SQL geloofsbriewe of skep 'n SQL gebruiker (aktiveer SQL outentikasie indien nodig)
- Ken 'n gekompromitteerde gebruiker as Entrad ID administrateur toe (aktiveer Entra ID outentikasie indien nodig)
- Backdoor in die VM (as SQL VM gebruik word)
- Skep 'n FW reël om toegang tot die SQL databasis te behou
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -7,7 +7,7 @@
Vir meer inligting, kyk:
{{#ref}}
../az-services/az-queue-enum.md
../az-services/az-queue.md
{{#endref}}
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/read`
@@ -16,17 +16,17 @@ Vir meer inligting, kyk:
```bash
az storage message peek --queue-name <queue_name> --account-name <storage_account>
```
**Potensiële Impak**: Onbevoegde toegang tot die wag, boodskapblootstelling, of wagmanipulasie deur onbevoegde gebruikers of dienste.
**Potensiële Impak**: Onbevoegde toegang tot die wachtrij, boodskapblootstelling, of wachtrijmanipulasie deur onbevoegde gebruikers of dienste.
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/process/action`
Met hierdie toestemming kan 'n aanvaller boodskappe van 'n Azure Storage Queue onttrek en verwerk. Dit beteken hulle kan die boodskapinhoud lees en dit as verwerk merk, wat dit effektief verberg van wettige stelsels. Dit kan lei tot die blootstelling van sensitiewe data, ontwrigtings in hoe boodskappe hanteer word, of selfs die stop van belangrike werksvloei deur boodskappe onbeskikbaar te maak vir hul beoogde gebruikers.
Met hierdie toestemming kan 'n aanvaller boodskappe van 'n Azure Storage Queue onttrek en verwerk. Dit beteken hulle kan die boodskapinhoud lees en dit as verwerk merk, wat dit effektief verberg van wettige stelsels. Dit kan lei tot die blootstelling van sensitiewe data, onderbrekings in hoe boodskappe hanteer word, of selfs die stop van belangrike werksvloei deur boodskappe onbeskikbaar te maak vir hul bedoelde gebruikers.
```bash
az storage message get --queue-name <queue_name> --account-name <storage_account>
```
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/add/action`
Met hierdie toestemming kan 'n aanvaller nuwe boodskappe by 'n Azure Storage Queue voeg. Dit stel hulle in staat om kwaadwillige of nie-gesagde data in die queue in te voeg, wat moontlik onbedoelde aksies kan ontketen of afgeleide dienste wat die boodskappe verwerk, kan ontwrig.
Met hierdie toestemming kan 'n aanvaller nuwe boodskappe by 'n Azure Storage Queue voeg. Dit stel hulle in staat om kwaadwillige of nie-gesagde data in die queue te inspuit, wat moontlik onbedoelde aksies kan ontketen of afgeleide dienste wat die boodskappe verwerk, kan ontwrig.
```bash
az storage message put --queue-name <queue-name> --content "Injected malicious message" --account-name <storage-account>
```
@@ -58,7 +58,7 @@ az storage message clear --queue-name <queue-name> --account-name <storage-accou
```
### Actions: `Microsoft.Storage/storageAccounts/queueServices/queues/write`
Hierdie toestemming laat 'n aanvaller toe om rye te skep of te wysig en hul eienskappe binne die stoorrekening. Dit kan gebruik word om ongeoorloofde rye te skep, metadata te wysig, of toegangbeheerlys (ACLs) te verander om toegang toe te staan of te beperk. Hierdie vermoë kan werksvloei ontwrig, kwaadwillige data inspuit, sensitiewe inligting eksfiltreer, of ryinstellings manipuleer om verdere aanvalle moontlik te maak.
Hierdie toestemming laat 'n aanvaller toe om rye te skep of te wysig en hul eienskappe binne die stoorrekening. Dit kan gebruik word om ongeoorloofde rye te skep, metadata te wysig, of toegangbeheerlys (ACLs) te verander om toegang toe te laat of te beperk. Hierdie vermoë kan werksvloei ontwrig, kwaadwillige data inspuit, sensitiewe inligting eksfiltreer, of ryinstellings manipuleer om verdere aanvalle moontlik te maak.
```bash
az storage queue create --name <new-queue-name> --account-name <storage-account>

View File

@@ -7,7 +7,7 @@
Vir meer inligting, kyk:
{{#ref}}
../az-services/az-servicebus-enum.md
../az-services/az-servicebus.md
{{#endref}}
### Aksies: `Microsoft.ServiceBus/namespaces/Delete`
@@ -16,7 +16,7 @@ Vir meer inligting, kyk:
```bash
az servicebus namespace delete --resource-group <ResourceGroupName> --name <NamespaceName>
```
### Actions: `Microsoft.ServiceBus/namespaces/topics/Delete`
### Aksies: `Microsoft.ServiceBus/namespaces/topics/Delete`
'n Aanvaller met hierdie toestemming kan 'n Azure Service Bus onderwerp verwyder. Hierdie aksie verwyder die onderwerp en al sy geassosieerde intekeninge en boodskappe, wat moontlik die verlies van kritieke data kan veroorsaak en stelsels en werksvloei wat op die onderwerp staatmaak, kan ontwrig.
```bash
@@ -24,7 +24,7 @@ az servicebus topic delete --resource-group <ResourceGroupName> --namespace-name
```
### Actions: `Microsoft.ServiceBus/namespaces/queues/Delete`
'n Aanvaller met hierdie toestemming kan 'n Azure Service Bus-rye verwyder. Hierdie aksie verwyder die ry en al die boodskappe daarin, wat moontlik die verlies van kritieke data kan veroorsaak en stelsels en werksvloei wat van die ry afhanklik is, kan ontwrig.
'n Aanvaller met hierdie toestemming kan 'n Azure Service Bus-rye verwyder. Hierdie aksie verwyder die ry en al die boodskappe daarin, wat moontlik die verlies van kritieke data kan veroorsaak en stelsels en werksvloei wat op die ry staatmaak, kan ontwrig.
```bash
az servicebus queue delete --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --name <QueueName>
```
@@ -43,14 +43,14 @@ az servicebus queue update --resource-group <ResourceGroupName> --namespace-name
```
### Aksies: `Microsoft.ServiceBus/namespaces/topics/write` (`Microsoft.ServiceBus/namespaces/topics/read`)
'n Aanvaller met toestemmings om onderwerpe te skep of te wysig (om die onderwerp te wysig, sal jy ook die Aksie:`Microsoft.ServiceBus/namespaces/topics/read` benodig) binne 'n Azure Service Bus-namespace kan dit benut om boodskapwerkvloei te ontwrig, sensitiewe data bloot te stel, of ongeoorloofde aksies moontlik te maak. Deur opdragte soos az servicebus topic update te gebruik, kan hulle konfigurasies manipuleer soos om partitionering vir skaalbaarheid misbruik in te stel, TTL-instellings te verander om boodskappe onregmatig te behou of te verwerp, of om duplikaatdetectie te deaktiveer om kontroles te omseil. Daarbenewens kan hulle onderwerp groottegrense aanpas, status verander om beskikbaarheid te ontwrig, of ekspressonderwerpe konfigureer om tydelik onderskepte boodskappe te stoor, wat onderwerp bestuur 'n kritieke fokus vir post-exploitatie-mitigasie maak.
'n Aanvaller met toestemmings om onderwerpe te skep of te wysig (om die onderwerp te wysig, sal jy ook die Aksie:`Microsoft.ServiceBus/namespaces/topics/read` benodig) binne 'n Azure Service Bus-namespace kan dit gebruik om boodskapwerkvloei te ontwrig, sensitiewe data bloot te stel, of ongeoorloofde aksies moontlik te maak. Deur opdragte soos az servicebus topic update te gebruik, kan hulle konfigurasies manipuleer soos om partitionering vir skaalbaarheid misbruik in te stel, TTL-instellings te verander om boodskappe onregmatig te behou of te verwerp, of om duplikaatdetectie te deaktiveer om kontroles te omseil. Daarbenewens kan hulle onderwerp groottegrense aanpas, status verander om beskikbaarheid te ontwrig, of ekspressonderwerpe konfigureer om tydelik onderskepte boodskappe te stoor, wat onderwerp bestuur 'n kritieke fokus vir post-exploitatie-mitigasie maak.
```bash
az servicebus topic create --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --name <TopicName>
az servicebus topic update --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --name <TopicName>
```
### Aksies: `Microsoft.ServiceBus/namespaces/topics/subscriptions/write` (`Microsoft.ServiceBus/namespaces/topics/subscriptions/read`)
'n Aanvaller met toestemmings om subskripsies te skep of te wysig (om die subskripsie te wysig, sal jy ook die Aksie: `Microsoft.ServiceBus/namespaces/topics/subscriptions/read` benodig) binne 'n Azure Service Bus onderwerp kan dit gebruik om boodskapwerkvloei te onderskep, om te lei of te ontwrig. Deur opdragte soos az servicebus topic subscription update te gebruik, kan hulle konfigurasies manipuleer soos om doodbriefing in te skakel om boodskappe te lei, boodskappe na nie-geautoriseerde eindpunte te stuur, of TTL en slotduur te wysig om boodskapaflewering te behou of te beïnvloed. Daarbenewens kan hulle status of maksimum afleweringsgetal instellings verander om bedrywighede te ontwrig of opsporing te ontduik, wat subskripsiebeheer 'n kritieke aspek van post-exploitasiestelsels maak.
'n Aanvaller met regte om subskripsies te skep of te wysig (om die subskripsie te wysig, sal jy ook die Aksie: `Microsoft.ServiceBus/namespaces/topics/subscriptions/read` benodig) binne 'n Azure Service Bus onderwerp kan dit gebruik om boodskapwerkvloei te onderskep, om te lei of te ontwrig. Deur opdragte soos az servicebus topic subscription update te gebruik, kan hulle konfigurasies manipuleer soos om doodbriefing in te skakel om boodskappe te lei, boodskappe na nie-geautoriseerde eindpunte te stuur, of TTL en slotduur te wysig om boodskapaflewering te behou of te ontwrig. Daarbenewens kan hulle status of maksimum afleweringsgetal instellings verander om bedrywighede te ontwrig of opsporing te ontduik, wat subskripsiebeheer 'n kritieke aspek van post-exploitasiestories maak.
```bash
az servicebus topic subscription create --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --topic-name <TopicName> --name <SubscriptionName>
az servicebus topic subscription update --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --topic-name <TopicName> --name <SubscriptionName>

View File

@@ -7,12 +7,12 @@
Vir meer inligting, kyk:
{{#ref}}
../az-services/az-queue-enum.md
../az-services/az-queue.md
{{#endref}}
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/read`
'n Aanvaller met hierdie toestemming kan boodskappe van 'n Azure Storage Queue afkyk. Dit stel die aanvaller in staat om die inhoud van boodskappe te sien sonder om dit as verwerk te merk of hul toestand te verander. Dit kan lei tot ongemagtigde toegang tot sensitiewe inligting, wat data-exfiltrasie of die versameling van intelligensie vir verdere aanvalle moontlik maak.
'n Aanvaller met hierdie toestemming kan boodskappe van 'n Azure Storage Queue kyk. Dit stel die aanvaller in staat om die inhoud van boodskappe te sien sonder om dit as verwerk te merk of hul toestand te verander. Dit kan lei tot ongemagtigde toegang tot sensitiewe inligting, wat data-exfiltrasie of die versameling van intelligensie vir verdere aanvalle moontlik maak.
```bash
az storage message peek --queue-name <queue_name> --account-name <storage_account>
```
@@ -20,7 +20,7 @@ az storage message peek --queue-name <queue_name> --account-name <storage_accoun
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/process/action`
Met hierdie toestemming kan 'n aanvaller boodskappe van 'n Azure Storage Queue onttrek en verwerk. Dit beteken hulle kan die boodskapinhoud lees en dit as verwerk merk, wat dit effektief verberg van wettige stelsels. Dit kan lei tot die blootstelling van sensitiewe data, ontwrigtings in hoe boodskappe hanteer word, of selfs die stop van belangrike werksvloei deur boodskappe onbeskikbaar te maak vir hul beoogde gebruikers.
Met hierdie toestemming kan 'n aanvaller boodskappe van 'n Azure Storage Queue onttrek en verwerk. Dit beteken hulle kan die boodskapinhoud lees en dit as verwerk merk, wat dit effektief verberg van wettige stelsels. Dit kan lei tot die blootstelling van sensitiewe data, ontwrigting in hoe boodskappe hanteer word, of selfs die stop van belangrike werksvloei deur boodskappe onbeskikbaar te maak vir hul beoogde gebruikers.
```bash
az storage message get --queue-name <queue_name> --account-name <storage_account>
```
@@ -46,7 +46,7 @@ az storage message update --queue-name <queue-name> \
```
### Action: `Microsoft.Storage/storageAccounts/queueServices/queues/write`
Hierdie toestemming laat 'n aanvaller toe om rye en hul eienskappe binne die stoorrekening te skep of te wysig. Dit kan gebruik word om ongeoorloofde rye te skep, metadata te wysig, of toegangbeheerlyste (ACL's) te verander om toegang toe te staan of te beperk. Hierdie vermoë kan werksvloei's ontwrig, kwaadwillige data inspuit, sensitiewe inligting eksfiltreer, of ryinstellings manipuleer om verdere aanvalle moontlik te maak.
Hierdie toestemming laat 'n aanvaller toe om rye en hul eienskappe binne die stoorrekening te skep of te wysig. Dit kan gebruik word om ongeoorloofde rye te skep, metadata te wysig, of toegangbeheerlyste (ACLs) te verander om toegang toe te laat of te beperk. Hierdie vermoë kan werksvloei onderbreek, kwaadwillige data inspuit, sensitiewe inligting eksfiltreer, of ryinstellings manipuleer om verdere aanvalle moontlik te maak.
```bash
az storage queue create --name <new-queue-name> --account-name <storage-account>

View File

@@ -7,14 +7,14 @@
Vir meer inligting, kyk:
{{#ref}}
../az-services/az-servicebus-enum.md
../az-services/az-servicebus.md
{{#endref}}
### Microsoft.ServiceBus/namespaces/authorizationrules/listKeys/action OF Microsoft.ServiceBus/namespaces/authorizationrules/regenerateKeys/action
Hierdie toestemmings laat jou toe om die sleutels vir plaaslike magtigingsreëls binne 'n Service Bus-namespace te verkry of te hergenerer. Deur hierdie sleutels te gebruik, is dit moontlik om as die Service Bus-namespace te autentiseer, wat jou in staat stel om boodskappe na enige wachtrij of onderwerp te stuur, boodskappe van enige wachtrij of subskripsie te ontvang, of moontlik met die stelsel te kommunikeer op maniere wat operasies kan ontwrig, geldige gebruikers kan naboots, of kwaadwillige data in die boodskapwerkvloei kan inspuit.
Hierdie toestemmings laat jou toe om die sleutels vir plaaslike magtigingsreëls binne 'n Service Bus naamruimte te verkry of te hergenerer. Deur hierdie sleutels te gebruik, is dit moontlik om as die Service Bus naamruimte te autentiseer, wat jou in staat stel om boodskappe na enige wachtrij of onderwerp te stuur, boodskappe van enige wachtrij of subskripsie te ontvang, of moontlik met die stelsel te kommunikeer op maniere wat operasies kan ontwrig, geldige gebruikers kan naboots, of kwaadwillige data in die boodskapwerkvloei kan inspuit.
Let daarop dat die **`RootManageSharedAccessKey`-reël standaard volle beheer** oor die Service Bus-namespace het en dit deur die `az` cli gebruik word; egter, ander reëls met ander sleutelwaardes mag bestaan.
Let daarop dat die **`RootManageSharedAccessKey` reël standaard volle beheer** oor die Service Bus naamruimte het en dit deur die `az` cli gebruik word, egter kan daar ander reëls met ander sleutelwaardes bestaan.
```bash
# List keys
az servicebus namespace authorization-rule keys list --resource-group <res-group> --namespace-name <namespace-name> --authorization-rule-name RootManageSharedAccessKey [--authorization-rule-name RootManageSharedAccessKey]
@@ -76,19 +76,20 @@ az servicebus topic authorization-rule update --resource-group <res-group> --nam
# In a queue
az servicebus queue authorization-rule update --resource-group <res-group> --namespace-name <namespace-name> --queue-name <queue-name> --name <auth-rule-name> --rights Manage Listen Send
```
### Microsoft.ServiceBus/namespaces/write (& Microsoft.ServiceBus/namespaces/read indien az cli gebruik word)
### Microsoft.ServiceBus/namespaces/write (& Microsoft.ServiceBus/namespaces/read if az cli is used)
Met hierdie toestemmings **kan 'n aanvaller "lokale outentisering" heraktiveer** met die volgende opdrag en daarom sal al die sleutels van gedeelde beleide werk.
```bash
az servicebus namespace update --disable-local-auth false -n <namespace-name> --resource-group <res-group>
```
### Stuur Berigte met sleutels (Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action OF Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action)
### Stuur Berigte met sleutels (Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/ListKeys/action OF Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/regenerateKeys/action)
Jy kan die `PrimaryConnectionString` verkry, wat as 'n geloofsbrief vir die Service Bus-namespace optree. Met hierdie verbindingsstring kan jy ten volle autentiseer as die Service Bus-namespace, wat jou in staat stel om berigte na enige wachtrij of onderwerp te stuur en moontlik met die stelsel te kommunikeer op maniere wat operasies kan ontwrig, geldige gebruikers kan naboots, of kwaadwillige data in die boodskapwerkvloei kan inspuit. Hierdie metode werk as `--disable-local-auth` op vals gestel is.
Jy kan die `PrimaryConnectionString` verkry, wat as 'n geloofsbrief vir die Service Bus-namespace optree. Met hierdie verbindingsstring kan jy ten volle autentiseer as die Service Bus-namespace, wat jou in staat stel om berigte na enige wachtrij of onderwerp te stuur en moontlik met die stelsel te kommunikeer op maniere wat operasies kan ontwrig, geldige gebruikers kan naboots, of kwaadwillige data in die boodskapwerkvloei kan inspuit. Hierdie metode werk as `--disable-local-auth` op vals gestel is (sodat plaaslike autentisering geaktiveer is).
```python
import asyncio
from azure.servicebus.aio import ServiceBusClient
from azure.servicebus import ServiceBusMessage
# pip install azure-servicebus
NAMESPACE_CONNECTION_STR = "<PrimaryConnectionString>"
TOPIC_OR_QUEUE_NAME = "<TOPIC_OR_QUEUE_NAME>"
@@ -101,7 +102,7 @@ print("Sent message")
asyncio.run(send_message())
```
Daarbenewens kan jy boodskappe stuur met az rest, in hierdie geval moet jy 'n sas-token genereer om te gebruik.
Boonop kan jy boodskappe stuur met az rest, in hierdie geval moet jy 'n sas-token genereer om te gebruik.
```python
import time, urllib.parse, hmac, hashlib, base64
@@ -129,12 +130,13 @@ az rest --method post \
--body "<MESSAGE_BODY>"
```
### Ontvang met sleutels (Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action OF Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action)
### Ontvang met sleutels (Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/ListKeys/action OF Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/regenerateKeys/action)
Jy kan die PrimaryConnectionString verkry, wat as 'n geloofsbrief vir die Service Bus-namespace dien. Met hierdie verbindingsstring kan jy boodskappe van enige wachtrij of subskripsie binne die namespace ontvang, wat toegang tot potensieel sensitiewe of kritieke data moontlik maak, data-uitvloeiing moontlik maak, of inmeng met boodskapverwerking en toepassingswerkvloei. Hierdie metode werk as `--disable-local-auth` op vals gestel is.
Jy kan die PrimaryConnectionString verkry, wat as 'n geloofsbrief vir die Service Bus naamruimte dien. Met hierdie verbindingsstring kan jy boodskappe van enige wachtrij of subskripsie binne die naamruimte ontvang, wat toegang tot potensieel sensitiewe of kritieke data moontlik maak, data-uitvloeiing moontlik maak, of inmeng met boodskapverwerking en toepassingswerkvloei. Hierdie metode werk as `--disable-local-auth` op vals gestel is.
```python
import asyncio
from azure.servicebus.aio import ServiceBusClient
# pip install azure-servicebus
CONN_STR = "<PrimaryConnectionString>"
QUEUE = "<QUEUE_NAME>"
@@ -162,7 +164,7 @@ await receiver.complete_message(msg)
asyncio.run(receive())
print("Done receiving messages")
```
Daarbenewens kan jy boodskappe stuur met az rest, in hierdie geval moet jy 'n sas-token genereer om te gebruik.
Boonop kan jy boodskappe stuur met az rest, in hierdie geval moet jy 'n sas-token genereer om te gebruik.
```python
import time, urllib.parse, hmac, hashlib, base64
@@ -182,7 +184,7 @@ sas_token = generate_sas_token(resource_uri, "<KEYNAME>", "<PRIMARY_KEY>")
print(sas_token)
```
Vir 'n wachtrij kan jy die boodskap kry of 'n blik daarop neem (om 'n boodskap te kry, sal dit dit verwyder, terwyl 'n blik daarop nie sal):
Vir 'n wachtrij kan jy die boodskap kry of 'n blik daarop neem (om 'n boodskap te kry, sal dit verwyder word, terwyl 'n blik daarop nie sal):
```bash
#Get a message
az rest --method post \
@@ -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 = "<namespace>.servicebus.windows.net" # Your namespace
QUEUE_OR_TOPIC = "<QUEUE_OR_TOPIC>" # Your queue name
QUEUE_OR_TOPIC = "<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")
@@ -241,11 +245,12 @@ asyncio.run(run())
```
### Ontvang Berigte. DataActions: `Microsoft.ServiceBus/namespaces/messages/receive/action`
Jy kan hierdie toestemmings gebruik om berigte te ontvang, selfs al is `--disable-local-auth` op waar gestel.
Jy kan hierdie toestemmings gebruik om berigte te ontvang, selfs as `--disable-local-auth` op waar is.
```python
import asyncio
from azure.identity.aio import DefaultAzureCredential
from azure.servicebus.aio import ServiceBusClient
# pip install azure-servicebus
NS = "<namespace>.servicebus.windows.net"
QUEUE = "<QUEUE>"

View File

@@ -4,20 +4,20 @@
## Service Bus
Azure Service Bus is 'n wolk-gebaseerde **boodskapdiens** wat ontwerp is om betroubare **kommunikasie tussen verskillende dele van 'n toepassing of geskeide toepassings** moontlik te maak. Dit dien as 'n veilige tussenganger, wat verseker dat boodskappe veilig afgelewer word, selfs al werk die sender en ontvanger nie gelyktydig nie. Deur stelsels te ontkoppel, laat dit toepassings toe om onafhanklik te werk terwyl hulle steeds data of instruksies uitruil. Dit is veral nuttig vir scenario's wat laaibalansering oor verskeie werkers, betroubare boodskapaflewering, of komplekse koördinering vereis, soos die verwerking van take in volgorde of die veilige bestuur van toegang.
Azure Service Bus is 'n wolk-gebaseerde **boodskapdiens** wat ontwerp is om betroubare **kommunikasie tussen verskillende dele van 'n toepassing of geskeide toepassings** moontlik te maak. Dit dien as 'n veilige tussenganger, wat verseker dat boodskappe veilig afgelewer word, selfs al werk die sender en ontvanger nie gelyktydig nie. Deur stelsels te ontkoppel, laat dit toepassings toe om onafhanklik te werk terwyl hulle steeds data of instruksies uitruil. Dit is veral nuttig vir scenario's wat laaibelasting oor verskeie werkers, betroubare boodskapaflewering, of komplekse koördinering vereis, soos die verwerking van take in volgorde of die veilige bestuur van toegang.
### Sleutelkonsepte
### Key Concepts
1. **Namespaces:** 'n Namespace in boodskapstelsels is 'n logiese houer wat boodskapkomponente, rye en onderwerpe organiseer en bestuur. Dit bied 'n geïsoleerde omgewing waar toepassings boodskappe kan stuur, ontvang en verwerk. Rye en onderwerpe deel dieselfde infrastruktuur en konfigurasie binne 'n Service Bus namespace, maar hulle werk onafhanklik sonder om met mekaar te kommunikeer.
1. **Namespaces:** 'n namespace in boodskapstelsels is 'n logiese houer wat boodskapkomponente, rye en onderwerpe organiseer en bestuur. Dit bied 'n geïsoleerde omgewing waar toepassings boodskappe kan stuur, ontvang en verwerk. Rye en onderwerpe deel dieselfde infrastruktuur en konfigurasie binne 'n Service Bus namespace, maar hulle werk onafhanklik sonder om met mekaar te kommunikeer.
2. **Queues:** die doel daarvan is om boodskappe te stoor totdat die ontvanger gereed is.
- Boodskappe is georden, tydstempel, en duursaam gestoor.
- Afgelewer in trekmodus (op aanvraag) aan een verbruiker.
- Dit kan geconfigureer word sodat wanneer die boodskap gedeel word, dit outomaties verwyder word of in “Peek lock” modus waar die verbruiker moet erken dat dit verwyder kan word. As nie, sal die boodskap terug na die ry gaan.
- Ondersteun punt-tot-punt kommunikasie.
3. **Topics:** Publiseer-subscribe boodskapdiens vir uitsaai.
3. **Topics:** Publiseer-subscribe boodskapdiens vir uitsending.
- Meerdere onafhanklike intekeninge ontvang kopieë van boodskappe.
- Elke intekening is soos 'n ry binne die onderwerp.
- Intekene kan reëls/filters hê om aflewering te beheer of metadata by te voeg.
- Intekeninge kan reëls/filters hê om aflewering te beheer of metadata by te voeg.
Die diensbus eindpunt/verbindingstring is:
```bash
@@ -31,7 +31,7 @@ Sommige gevorderde kenmerke is:
- **Outomatiese Oorgang**: Oordra bo-nachrichten tussen rye of onderwerpe in dieselfde naamruimte.
- **Doodbrief**: Vang onaflewerbare bo-nachrichten vir hersiening.
- **Geskeduleerde Aflewering**: Vertraag bo-nachrichten verwerking vir toekomstige take.
- **Bo Nachricht Uitstel**: Stel bo-nachrichten opvraging uit totdat gereed.
- **Bo Nachricht Uitstel**: Stel bo-nachrichten herwinning uit totdat gereed.
- **Transaksies**: Groepeer operasies in atomiese uitvoering.
- **Filters & Aksies**: Pas reëls toe om bo-nachrichten te filter of te annotasie.
- **Outomatiese Verwydering op Inaktiwiteit**: Verwyder rye na inaktiwiteit (min: 5 minute).
@@ -42,24 +42,24 @@ Sommige gevorderde kenmerke is:
Die **`--disable-local-auth`** van az cli parameter word gebruik om te beheer of **plaaslike verifikasie** (wat die gebruik van Shared Access Signature (SAS) sleutels toelaat) geaktiveer is vir jou Service Bus naamruimte.
- Wanneer disable op **waar** gestel is: Plaaslike verifikasie met SAS sleutels is gedeaktiveer en Entrad ID verifikasie is toegelaat.
- Wanneer disable op **waar** gestel is: Plaaslike verifikasie met SAS sleutels is gedeaktiveer en Entra ID verifikasie is toegelaat.
- Wanneer disable op **vals (standaard)** gestel is: Beide SAS plaaslike verifikasie en Entra ID verifikasie is beskikbaar en jy kan verbindingsstringe met SAS sleutels gebruik om toegang tot jou Service Bus hulpbronne te verkry.
### Magtiging-Reël / SAS Beleid
SAS Beleide definieer die toegangstoestemmings vir Azure Service Bus entiteite naamruimte (Die Belangrikste Een), rye en onderwerpe. Elke beleid het die volgende komponente:
SAS Beleide definieer die toegangstoestemmings vir Azure Service Bus entiteite naamruimte (Die Meest Belangrike Een), rye en onderwerpe. Elke beleid het die volgende komponente:
- **Toestemmings**: Aankruisvakke om toegangsvlakke te spesifiseer:
- Bestuur: Gee volle beheer oor die entiteit, insluitend konfigurasie en toestemming bestuur.
- Bestuur: Gee volle beheer oor die entiteit, insluitend konfigurasie en toestemmingsbestuur.
- Stuur: Laat toe om bo-nachrichten na die entiteit te stuur.
- Luister: Laat toe om bo-nachrichten van die entiteit te ontvang.
- **Primêre en Sekondêre Sleutels**: Dit is kriptografiese sleutels wat gebruik word om veilige tokens te genereer vir die verifikasie van toegang.
- **Primêre en Sekondêre Verbindingstringe**: Vooraf geconfigureerde verbindingstringe wat die eindpunt en sleutel insluit vir maklike gebruik in toepassings.
- **SAS Beleid ARM ID**: Die Azure Resource Manager (ARM) pad na die beleid vir programmatiese identifikasie.
Dit is belangrik om te noem dat 'n naamruimte 'n enkele SAS beleid het wat elke entiteit binne dit beïnvloed, terwyl rye en onderwerpe hul eie individuele SAS beleide kan hê vir meer fynbeheerde beheer.
Dit is belangrik om te noem dat 'n naamruimte 'n enkele SAS beleid het wat elke entiteit binne dit beïnvloed, terwyl rye en onderwerpe hul eie individuele SAS beleide kan hê vir meer fynbeheer.
### Enumerasie
### Opsomming
{{#tabs }}
{{#tab name="az cli" }}

View File

@@ -28,7 +28,7 @@ Azure SQL bestaan uit vier hoofaanbiedinge:
- **Sowel SQL as Microsoft Entra** verifikasie: Tradisionele SQL-verifikasie met gebruikersnaam en wagwoord saam met Microsoft Entra.
- **Slegs SQL** verifikasie: Laat slegs toegang toe via databasisgebruikers.
Let daarop dat as enige SQL-verifikasie toegelaat word, 'n admin-gebruiker (gebruikersnaam + wagwoord) aangedui moet word, en as Entra ID-verifikasie gekies word, moet dit ook nodig wees om ten minste een principal met admin-toegang aan te dui.
Let daarop dat as enige SQL-verifikasie toegelaat word, 'n admin-gebruiker (gebruikersnaam + wagwoord) aangedui moet word, en as Entra ID-verifikasie gekies word, moet daar ook ten minste een principal met admin-toegang aangedui word.
**Enkripsie:**
@@ -71,7 +71,7 @@ Om 'n SQL-databasis te skep, is dit nodig om die SQL-server aan te dui waar dit
- **Data redundansie:** Opsies is plaaslik, sone, Geo of Geo-Zone redundante.
- **Ledger:** Dit verifieer die integriteit van data cryptografies, wat verseker dat enige vervalsing opgespoor word. Nuttig vir finansiële, mediese en enige organisasie wat sensitiewe data bestuur.
'n SQL-databasis kan deel wees van 'n **elastiese Pool**. Elastiese poele is 'n kostedoeltreffende oplossing vir die bestuur van verskeie databasisse deur konfigureerbare rekenaar (eDTUs) en stoorhulpbronne onder hulle te deel, met prysstelling wat slegs op die toegepaste hulpbronne gebaseer is eerder as op die aantal databasisse.
'n SQL-databasis kan deel wees van 'n **elastiese Pool**. Elastiese poele is 'n kostedoeltreffende oplossing vir die bestuur van verskeie databasisse deur konfigureerbare rekenaar (eDTUs) en stoorhulpbronne onder hulle te deel, met prysstelling wat slegs op die toegepaste hulpbronne gebaseer is eerder as die aantal databasisse.
#### Azure SQL Kolomvlak Sekuriteit (Maskering) & Ryvlak Sekuriteit
@@ -79,18 +79,18 @@ Om 'n SQL-databasis te skep, is dit nodig om die SQL-server aan te dui waar dit
Die **Dinamiese Data Maskering** geld vir alle gebruikers behalwe diegene wat nie gemasker is nie (hierdie gebruikers moet aangedui word) en administrateurs. Dit het die konfigurasieopsie wat spesifiseer watter SQL-gebruikers vrygestel is van dinamiese datamaskering, met **administrateurs altyd uitgesluit**.
**Azure SQL Ryvlak Sekuriteit (RLS)** is 'n kenmerk wat **beheer watter rye 'n gebruiker kan sien of wysig**, wat verseker dat elke gebruiker slegs die data sien wat relevant is vir hulle. Deur sekuriteitsbeleide met filter of blokpredikate te skep, kan organisasies fyngegranuleerde toegang op databasisvlak afdwing.
**Azure SQL Ryvlak Sekuriteit (RLS)** is 'n kenmerk wat **beheer watter rye 'n gebruiker kan sien of wysig**, wat verseker dat elke gebruiker slegs die data sien wat relevant is vir hulle. Deur sekuriteitsbeleide met filter of blokpredikate te skep, kan organisasies fyngegradeerde toegang op databasisvlak afdwing.
### Azure SQL Managed Instance
**Azure SQL Managed Instances** is vir groter skaal, hele SQL Server-instantie-geskepte ontplooiings. Dit bied byna 100% kompatibiliteit met die nuutste SQL Server op-premises (Enterprise Edition) Databasisengine, wat 'n inheemse virtuele netwerk (VNet) implementering bied wat algemene sekuriteitskwessies aanspreek, en 'n besigheidsmodel wat gunstig is vir op-premises SQL Server-klante.
**Azure SQL Managed Instances** is vir groter skaal, hele SQL Server-instantie-geskepte ontplooiings. Dit bied byna 100% kompatibiliteit met die nuutste SQL Server op-premises (Enterprise Edition) Databasis Engine, wat 'n inheemse virtuele netwerk (VNet) implementering bied wat algemene sekuriteitskwessies aanspreek, en 'n besigheidsmodel wat gunstig is vir op-premises SQL Server-klante.
### Azure SQL Virtuele Masjiene
**Azure SQL Virtuele Masjiene** laat jou toe om **die bedryfstelsel** en die SQL Server-instantie te **beheer**, aangesien 'n VM in die VM-diens wat die SQL-server draai, geskep sal word.
Wanneer 'n SQL Virtuele Masjien geskep word, is dit moontlik om **alle instellings van die VM te kies** (soos in die VM-les gewys) wat die SQL-server sal huisves.
- Dit beteken dat die VM toegang tot sommige VNet(s) sal hê, mag **Bestuurde Identiteite aan dit geheg wees**, kan lêerdeelings gemonteer hê… wat 'n **pivoting van die SQL** na die VM super interessant maak.
- Dit beteken dat die VM toegang tot sommige VNet(s) sal hê, moontlik **Bestuurde Identiteite aan dit geheg** kan wees, kan lêergedeeltes gemonteer hê… wat 'n **pivoting van die SQL** na die VM super interessant maak.
- Boonop is dit moontlik om 'n app-id en geheim te konfigureer om **die SQL toegang tot 'n spesifieke sleutelkluis** toe te laat, wat sensitiewe inligting kan bevat.
Dit is ook moontlik om dinge soos **outomatiese SQL-opdaterings**, **outomatiese rugsteun**, **Entra ID-verifikasie** en die meeste van die kenmerke van die ander SQL-dienste te konfigureer.
@@ -301,4 +301,10 @@ sqlcmd -S <sql-server>.database.windows.net -U <server-user> -P <server-passwork
../az-post-exploitation/az-sql-post-exploitation.md
{{#endref}}
### Persistensie
{{#ref}}
../az-persistence/az-sql-persistance.md
{{#endref}}
{{#include ../../../banners/hacktricks-training.md}}