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

This commit is contained in:
Translator
2025-02-20 00:56:12 +00:00
parent c638d9c4aa
commit 496c14f0da
10 changed files with 69 additions and 37 deletions

View File

@@ -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)

View File

@@ -7,7 +7,7 @@
Για περισσότερες πληροφορίες ελέγξτε:
{{#ref}}
../az-services/az-queue-enum.md
../az-services/az-queue.md
{{#endref}}
### Actions: `Microsoft.Storage/storageAccounts/queueServices/queues/write`

View File

@@ -0,0 +1,20 @@
# Az - SQL Persistence
{{#include ../../../banners/hacktricks-training.md}}
## SQL
Για περισσότερες πληροφορίες ελέγξτε:
{{#ref}}
../az-services/az-sql.md
{{#endref}}
### Κοινές Τεχνικές Διατήρησης
- Συμβιβασμός SQL credentials ή δημιουργία ενός SQL χρήστη (ενεργοποίηση SQL auth αν χρειάζεται)
- Ανάθεση ενός συμβιβασμένου χρήστη ως διαχειριστή Entra ID (ενεργοποίηση Entra ID auth αν χρειάζεται)
- Backdoor στη VM (αν χρησιμοποιείται SQL VM)
- Δημιουργία κανόνα FW για τη διατήρηση πρόσβασης στη βάση δεδομένων SQL
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -7,7 +7,7 @@
Για περισσότερες πληροφορίες ελέγξτε:
{{#ref}}
../az-services/az-queue-enum.md
../az-services/az-queue.md
{{#endref}}
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/read`

View File

@@ -7,7 +7,7 @@
Για περισσότερες πληροφορίες ελέγξτε:
{{#ref}}
../az-services/az-servicebus-enum.md
../az-services/az-servicebus.md
{{#endref}}
### Actions: `Microsoft.ServiceBus/namespaces/Delete`
@@ -30,27 +30,27 @@ az servicebus queue delete --resource-group <ResourceGroupName> --namespace-name
```
### Actions: `Microsoft.ServiceBus/namespaces/topics/subscriptions/Delete`
Ένας επιτιθέμενος με αυτή την άδεια μπορεί να διαγράψει μια συνδρομή Azure Service Bus. Αυτή η ενέργεια αφαιρεί τη συνδρομή και όλα τα συσχετισμένα μηνύματα της, ενδεχομένως διαταράσσοντας τις ροές εργασίας, την επεξεργασία δεδομένων και τις λειτουργίες του συστήματος που βασίζονται στη συνδρομή.
Ένας επιτιθέμενος με αυτή την άδεια μπορεί να διαγράψει μια συνδρομή Azure Service Bus. Αυτή η ενέργεια αφαιρεί τη συνδρομή και όλα τα σχετιζόμενα μηνύματα της, ενδεχομένως διαταράσσοντας τις ροές εργασίας, την επεξεργασία δεδομένων και τις λειτουργίες του συστήματος που βασίζονται στη συνδρομή.
```bash
az servicebus topic subscription delete --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --topic-name <TopicName> --name <SubscriptionName>
```
### Actions: `Microsoft.ServiceBus/namespaces/queues/write` (`Microsoft.ServiceBus/namespaces/queues/read`)
Ένας επιτιθέμενος με δικαιώματα για τη δημιουργία ή την τροποποίηση των Azure Service Bus queues (για να τροποποιήσετε την ουρά θα χρειαστείτε επίσης την ενέργεια: `Microsoft.ServiceBus/namespaces/queues/read`) μπορεί να εκμεταλλευτεί αυτό για να παρεμποδίσει δεδομένα, να διαταράξει ροές εργασίας ή να επιτρέψει μη εξουσιοδοτημένη πρόσβαση. Μπορούν να αλλάξουν κρίσιμες ρυθμίσεις όπως η προώθηση μηνυμάτων σε κακόβουλους προορισμούς, η προσαρμογή του TTL μηνυμάτων για να διατηρήσουν ή να διαγράψουν δεδομένα ακατάλληλα, ή η ενεργοποίηση dead-lettering για να παρεμποδίσουν την επεξεργασία σφαλμάτων. Επιπλέον, θα μπορούσαν να χειριστούν τα μεγέθη των ουρών, τις διάρκειες κλειδώματος ή τις καταστάσεις για να διαταράξουν τη λειτουργικότητα της υπηρεσίας ή να αποφύγουν την ανίχνευση, καθιστώντας αυτό έναν σημαντικό κίνδυνο μετά την εκμετάλλευση.
Ένας επιτιθέμενος με δικαιώματα για τη δημιουργία ή την τροποποίηση των Azure Service Bus queues (για να τροποποιήσετε την ουρά θα χρειαστείτε επίσης την ενέργεια: `Microsoft.ServiceBus/namespaces/queues/read`) μπορεί να εκμεταλλευτεί αυτό για να παρεμποδίσει δεδομένα, να διαταράξει ροές εργασίας ή να επιτρέψει μη εξουσιοδοτημένη πρόσβαση. Μπορούν να αλλάξουν κρίσιμες ρυθμίσεις όπως η προώθηση μηνυμάτων σε κακόβουλους προορισμούς, η προσαρμογή του TTL μηνυμάτων για να διατηρήσουν ή να διαγράψουν δεδομένα ακατάλληλα, ή η ενεργοποίηση dead-lettering για να παρεμποδίσουν τη διαχείριση σφαλμάτων. Επιπλέον, θα μπορούσαν να χειριστούν τα μεγέθη των ουρών, τις διάρκειες κλειδώματος ή τις καταστάσεις για να διαταράξουν τη λειτουργικότητα της υπηρεσίας ή να αποφύγουν την ανίχνευση, καθιστώντας αυτό έναν σημαντικό κίνδυνο μετά την εκμετάλλευση.
```bash
az servicebus queue create --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --name <QueueName>
az servicebus queue update --resource-group <ResourceGroupName> --namespace-name <NamespaceName> --name <QueueName>
```
### Actions: `Microsoft.ServiceBus/namespaces/topics/write` (`Microsoft.ServiceBus/namespaces/topics/read`)
Ένας επιτιθέμενος με δικαιώματα για τη δημιουργία ή την τροποποίηση θεμάτων (για να τροποποιήσει το θέμα θα χρειαστεί επίσης την Ενέργεια: `Microsoft.ServiceBus/namespaces/topics/read`) εντός ενός Azure Service Bus namespace μπορεί να εκμεταλλευτεί αυτό για να διαταράξει τις ροές μηνυμάτων, να εκθέσει ευαίσθητα δεδομένα ή να επιτρέψει μη εξουσιοδοτημένες ενέργειες. Χρησιμοποιώντας εντολές όπως az servicebus topic update, μπορούν να χειριστούν ρυθμίσεις όπως η ενεργοποίηση κατακερματισμού για κακή χρήση κλιμάκωσης, η τροποποίηση ρυθμίσεων TTL για να διατηρούν ή να απορρίπτουν μηνύματα ακατάλληλα, ή η απενεργοποίηση ανίχνευσης διπλοτύπων για να παρακάμψουν τους ελέγχους. Επιπλέον, θα μπορούσαν να προσαρμόσουν τα όρια μεγέθους θεμάτων, να αλλάξουν την κατάσταση για να διαταράξουν τη διαθεσιμότητα, ή να ρυθμίσουν εκφραστικά θέματα για να αποθηκεύσουν προσωρινά τα παρεμβαλλόμενα μηνύματα, καθιστώντας τη διαχείριση θεμάτων κρίσιμο σημείο για την μείωση των επιπτώσεων μετά την εκμετάλλευση.
Ένας επιτιθέμενος με δικαιώματα για τη δημιουργία ή την τροποποίηση θεμάτων (για να τροποποιήσει το θέμα θα χρειαστεί επίσης την Ενέργεια: `Microsoft.ServiceBus/namespaces/topics/read`) εντός ενός Azure Service Bus namespace μπορεί να εκμεταλλευτεί αυτό για να διαταράξει τις ροές μηνυμάτων, να εκθέσει ευαίσθητα δεδομένα ή να επιτρέψει μη εξουσιοδοτημένες ενέργειες. Χρησιμοποιώντας εντολές όπως az servicebus topic update, μπορούν να χειριστούν ρυθμίσεις όπως η ενεργοποίηση κατανομής για κακή χρήση κλιμάκωσης, η τροποποίηση ρυθμίσεων TTL για να διατηρούν ή να απορρίπτουν μηνύματα ακατάλληλα, ή η απενεργοποίηση ανίχνευσης διπλοτύπων για να παρακάμψουν τους ελέγχους. Επιπλέον, θα μπορούσαν να προσαρμόσουν τα όρια μεγέθους θεμάτων, να αλλάξουν την κατάσταση για να διαταράξουν τη διαθεσιμότητα ή να ρυθμίσουν εκφραστικά θέματα για να αποθηκεύσουν προσωρινά τα παρεμβαλλόμενα μηνύματα, καθιστώντας τη διαχείριση θεμάτων κρίσιμη εστίαση για την μείωση των επιπτώσεων μετά την εκμετάλλευση.
```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>
```
### Ενέργειες: `Microsoft.ServiceBus/namespaces/topics/subscriptions/write` (`Microsoft.ServiceBus/namespaces/topics/subscriptions/read`)
Ένας επιτιθέμενος με δικαιώματα για τη δημιουργία ή την τροποποίηση συνδρομών (για να τροποποιήσει τη συνδρομή θα χρειαστεί επίσης την Ενέργεια: `Microsoft.ServiceBus/namespaces/topics/subscriptions/read`) εντός ενός θέματος Azure Service Bus μπορεί να εκμεταλλευτεί αυτό για να παρεμβάλλει, να ανακατευθύνει ή να διαταράξει τις ροές μηνυμάτων. Χρησιμοποιώντας εντολές όπως az servicebus topic subscription update, μπορούν να χειριστούν ρυθμίσεις όπως η ενεργοποίηση dead lettering για να αποσπάσουν μηνύματα, η προώθηση μηνυμάτων σε μη εξουσιοδοτημένα σημεία, ή η τροποποίηση TTL και διάρκειας κλειδώματος για να διατηρήσουν ή να παρεμποδίσουν την παράδοση μηνυμάτων. Επιπλέον, μπορούν να αλλάξουν τις ρυθμίσεις κατάστασης ή μέγιστου αριθμού παράδοσης για να διαταράξουν τις λειτουργίες ή να αποφύγουν την ανίχνευση, καθιστώντας τον έλεγχο συνδρομών κρίσιμο στοιχείο σε σενάρια μετα-εκμετάλλευσης.
Ένας επιτιθέμενος με δικαιώματα για τη δημιουργία ή την τροποποίηση συνδρομών (για να τροποποιήσει τη συνδρομή θα χρειαστεί επίσης την Ενέργεια: `Microsoft.ServiceBus/namespaces/topics/subscriptions/read`) εντός ενός θέματος Azure Service Bus μπορεί να εκμεταλλευτεί αυτό για να παρεμποδίσει, να ανακατευθύνει ή να διαταράξει τις ροές μηνυμάτων. Χρησιμοποιώντας εντολές όπως az servicebus topic subscription update, μπορούν να χειριστούν ρυθμίσεις όπως η ενεργοποίηση dead lettering για να εκτρέψουν μηνύματα, η προώθηση μηνυμάτων σε μη εξουσιοδοτημένα σημεία, ή η τροποποίηση TTL και διάρκειας κλειδώματος για να διατηρήσουν ή να παρεμποδίσουν την παράδοση μηνυμάτων. Επιπλέον, μπορούν να αλλάξουν τις ρυθμίσεις κατάστασης ή μέγιστου αριθμού παράδοσης για να διαταράξουν τις λειτουργίες ή να αποφύγουν την ανίχνευση, καθιστώντας τον έλεγχο συνδρομών κρίσιμο στοιχείο σε σενάρια μετα-εκμετάλλευσης.
```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,7 +7,7 @@
Για περισσότερες πληροφορίες ελέγξτε:
{{#ref}}
../az-services/az-queue-enum.md
../az-services/az-queue.md
{{#endref}}
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/read`

View File

@@ -7,14 +7,14 @@
Για περισσότερες πληροφορίες ελέγξτε:
{{#ref}}
../az-services/az-servicebus-enum.md
../az-services/az-servicebus.md
{{#endref}}
### Microsoft.ServiceBus/namespaces/authorizationrules/listKeys/action Ή Microsoft.ServiceBus/namespaces/authorizationrules/regenerateKeys/action
Αυτές οι άδειες σας επιτρέπουν να αποκτήσετε ή να αναγεννήσετε τα κλειδιά για τους τοπικούς κανόνες εξουσιοδότησης εντός ενός namespace Service Bus. Χρησιμοποιώντας αυτά τα κλειδιά είναι δυνατή η αυθεντικοποίηση ως το namespace Service Bus, επιτρέποντάς σας να στείλετε μηνύματα σε οποιαδήποτε ουρά ή θέμα, να λάβετε μηνύματα από οποιαδήποτε ουρά ή συνδρομή, ή ενδεχομένως να αλληλεπιδράσετε με το σύστημα με τρόπους που θα μπορούσαν να διαταράξουν τις λειτουργίες, να προσποιηθείτε έγκυρους χρήστες ή να εισάγετε κακόβουλα δεδομένα στη ροή μηνυμάτων.
Σημειώστε ότι από προεπιλογή ο **`RootManageSharedAccessKey` κανόνας έχει πλήρη έλεγχο** πάνω στο namespace Service Bus και χρησιμοποιείται από το `az` cli, ωστόσο, μπορεί να υπάρχουν και άλλοι κανόνες με άλλες τιμές κλειδιών.
Σημειώστε ότι από προεπιλογή ο κανόνας **`RootManageSharedAccessKey` έχει πλήρη έλεγχο** πάνω στο namespace Service Bus και χρησιμοποιείται από το `az` cli, ωστόσο, μπορεί να υπάρχουν και άλλοι κανόνες με άλλες τιμές κλειδιών.
```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]
@@ -24,14 +24,14 @@ az servicebus namespace authorization-rule keys renew --key [PrimaryKey|Secondar
```
### Microsoft.ServiceBus/namespaces/AuthorizationRules/write
Με αυτή την άδεια είναι δυνατή η **δημιουργία ενός νέου κανόνα εξουσιοδότησης** με όλες τις άδειες και τα δικά του κλειδιά με:
Με αυτή την άδεια είναι δυνατό να **δημιουργηθεί ένας νέος κανόνας εξουσιοδότησης** με όλες τις άδειες και τα δικά του κλειδιά με:
```bash
az servicebus namespace authorization-rule create --authorization-rule-name "myRule" --namespace-name mynamespacespdemo --resource-group Resource_Group_1 --rights Manage Listen Send
```
>[!WARNING]
>Αυτή η εντολή δεν απαντά με τα κλειδιά, οπότε πρέπει να τα αποκτήσετε με τις προηγούμενες εντολές (και άδειες) προκειμένου να κλιμακώσετε τα προνόμια.
Επιπλέον, με αυτή την εντολή (και `Microsoft.ServiceBus/namespaces/authorizationRules/read`) αν εκτελέσετε αυτή την ενέργεια μέσω του Azure CLI, είναι δυνατό να ενημερώσετε έναν υπάρχοντα κανόνα εξουσιοδότησης και να του δώσετε περισσότερες άδειες (σε περίπτωση που του έλειπαν κάποιες) με την ακόλουθη εντολή:
Επιπλέον, με αυτή την εντολή (και `Microsoft.ServiceBus/namespaces/authorizationRules/read`) αν εκτελέσετε αυτή την ενέργεια μέσω του Azure CLI, είναι δυνατό να ενημερώσετε έναν υπάρχοντα κανόνα εξουσιοδότησης και να του δώσετε περισσότερες άδειες (σε περίπτωση που του έλειπαν κάποιες) με την παρακάτω εντολή:
```bash
az servicebus namespace authorization-rule update \
--resource-group <MyResourceGroup> \
@@ -82,13 +82,14 @@ az servicebus queue authorization-rule update --resource-group <res-group> --nam
```bash
az servicebus namespace update --disable-local-auth false -n <namespace-name> --resource-group <res-group>
```
### Αποστολή Μηνυμάτων με κλειδιά (Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action OR Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action)
### Send Messages with keys (Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/ListKeys/action OR Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/regenerateKeys/action)
Μπορείτε να ανακτήσετε το `PrimaryConnectionString`, το οποίο λειτουργεί ως διαπιστευτήριο για το Service Bus namespace. Με αυτή τη σύνδεση, μπορείτε να αυθεντικοποιηθείτε πλήρως ως το Service Bus namespace, επιτρέποντάς σας να στέλνετε μηνύματα σε οποιαδήποτε ουρά ή θέμα και ενδεχομένως να αλληλεπιδράτε με το σύστημα με τρόπους που θα μπορούσαν να διαταράξουν τις λειτουργίες, να προσποιηθείτε έγκυρους χρήστες ή να εισάγετε κακόβουλα δεδομένα στη ροή μηνυμάτων. Αυτή η μέθοδος λειτουργεί αν το `--disable-local-auth` είναι ρυθμισμένο σε false.
Μπορείτε να ανακτήσετε το `PrimaryConnectionString`, το οποίο λειτουργεί ως διαπιστευτήριο για το Service Bus namespace. Με αυτή τη σύνδεση, μπορείτε να αυθεντικοποιηθείτε πλήρως ως το Service Bus namespace, επιτρέποντάς σας να στείλετε μηνύματα σε οποιαδήποτε ουρά ή θέμα και ενδεχομένως να αλληλεπιδράσετε με το σύστημα με τρόπους που θα μπορούσαν να διαταράξουν τις λειτουργίες, να προσποιηθούν έγκυρους χρήστες ή να εισάγουν κακόβουλα δεδομένα στη ροή μηνυμάτων. Αυτή η μέθοδος λειτουργεί αν το `--disable-local-auth` είναι ρυθμισμένο σε false (έτσι ώστε η τοπική αυθεντικοποίηση να είναι ενεργοποιημένη).
```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>"
@@ -129,12 +130,13 @@ az rest --method post \
--body "<MESSAGE_BODY>"
```
### Λάβετε με κλειδιά (Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action Ή 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)
Μπορείτε να ανακτήσετε το PrimaryConnectionString, το οποίο χρησιμεύει ως διαπιστευτήριο για το Service Bus namespace. Χρησιμοποιώντας αυτό το connection string, μπορείτε να λάβετε μηνύματα από οποιαδήποτε ουρά ή συνδρομή εντός του namespace, επιτρέποντας την πρόσβαση σε δυνητικά ευαίσθητα ή κρίσιμα δεδομένα, διευκολύνοντας την εξαγωγή δεδομένων ή παρεμβαίνοντας στη διαδικασία επεξεργασίας μηνυμάτων και στις ροές εργασίας εφαρμογών. Αυτή η μέθοδος λειτουργεί αν το `--disable-local-auth` είναι ρυθμισμένο σε false.
Μπορείτε να ανακτήσετε το PrimaryConnectionString, το οποίο χρησιμεύει ως διαπιστευτήριο για το Service Bus namespace. Χρησιμοποιώντας αυτό το connection string, μπορείτε να λαμβάνετε μηνύματα από οποιαδήποτε ουρά ή συνδρομή εντός του namespace, επιτρέποντας την πρόσβαση σε δυνητικά ευαίσθητα ή κρίσιμα δεδομένα, διευκολύνοντας την εξαγωγή δεδομένων ή παρεμβαίνοντας στη διαδικασία επεξεργασίας μηνυμάτων και στις ροές εργασίας εφαρμογών. Αυτή η μέθοδος λειτουργεί αν το `--disable-local-auth` είναι ρυθμισμένο σε false.
```python
import asyncio
from azure.servicebus.aio import ServiceBusClient
# pip install azure-servicebus
CONN_STR = "<PrimaryConnectionString>"
QUEUE = "<QUEUE_NAME>"
@@ -199,7 +201,7 @@ az rest --method get \
--uri "https://<NAMESPACE>.servicebus.windows.net/<ENTITY>/messages?timeout=60&PreviousSequenceNumber=<LAST_SEQUENCE_NUMBER>&api-version=2017-04" \
--headers "Authorization=SharedAccessSignature sr=<URI_ENCODED_RESOURCE>&sig=<SIGNATURE>&se=<EXPIRY>&skn=<KEYNAME>"
```
Please provide the text you would like translated.
Please provide the text you would like me to translate to Greek.
```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")
@@ -246,6 +250,7 @@ asyncio.run(run())
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

@@ -64,7 +64,7 @@ $queueMessage.Value
{{#endtab }}
{{#endtabs }}
### Κλιμάκωση Δικαιωμάτων
### Ανύψωση Δικαιωμάτων
{{#ref}}
../az-privilege-escalation/az-queue-privesc.md

View File

@@ -10,7 +10,7 @@ Azure Service Bus είναι μια υπηρεσία **μηνυμάτων** πο
1. **Namespaces:** Ένας χώρος ονομάτων στα συστήματα μηνυμάτων είναι ένα λογικό δοχείο που οργανώνει και διαχειρίζεται τα συστατικά μηνυμάτων, τις ουρές και τα θέματα. Παρέχει ένα απομονωμένο περιβάλλον όπου οι εφαρμογές μπορούν να στέλνουν, να λαμβάνουν και να επεξεργάζονται μηνύματα. Οι ουρές και τα θέματα μοιράζονται την ίδια υποδομή και ρύθμιση εντός ενός χώρου ονομάτων Service Bus, αλλά λειτουργούν ανεξάρτητα χωρίς να αλληλεπιδρούν μεταξύ τους.
2. **Queues:** ο σκοπός της είναι να αποθηκεύει μηνύματα μέχρι να είναι έτοιμος ο παραλήπτης.
- Τα μηνύματα είναι ταξινομημένα, χρονοσημανμένα και αποθηκεύονται με ανθεκτικότητα.
- Τα μηνύματα είναι ταξινομημένα, χρονοσημανμένα και αποθηκεύονται μόνιμα.
- Παραδίδονται σε λειτουργία pull (ανάκτηση κατόπιν αιτήματος) σε έναν καταναλωτή.
- Μπορεί να ρυθμιστεί ώστε όταν το μήνυμα κοινοποιείται να διαγράφεται αυτόματα ή σε λειτουργία “Peek lock” όπου ο καταναλωτής πρέπει να αναγνωρίσει ότι μπορεί να διαγραφεί. Αν όχι, το μήνυμα θα επιστρέψει στην ουρά.
- Υποστηρίζει επικοινωνία σημείου προς σημείο.
@@ -27,9 +27,9 @@ https://<namespace>.servicebus.windows.net:443/
Ορισμένα προχωρημένα χαρακτηριστικά είναι:
- **Message Sessions**: Διασφαλίζει την επεξεργασία FIFO και υποστηρίζει πρότυπα αιτήματος-απάντησης.
- **Message Sessions**: Διασφαλίζει την επεξεργασία FIFO και υποστηρίζει πρότυπα αιτήσεων-απαντήσεων.
- **Auto-Forwarding**: Μεταφέρει μηνύματα μεταξύ ουρών ή θεμάτων στην ίδια ονομασία χώρου.
- **Dead-Lettering**: Καταγράφει μη παραδιδόμενα μηνύματα για ανασκόπηση.
- **Dead-Lettering**: Καταγράφει τα μη παραδιδόμενα μηνύματα για ανασκόπηση.
- **Scheduled Delivery**: Καθυστερεί την επεξεργασία μηνυμάτων για μελλοντικές εργασίες.
- **Message Deferral**: Αναβάλλει την ανάκτηση μηνυμάτων μέχρι να είναι έτοιμα.
- **Transactions**: Ομαδοποιεί τις λειτουργίες σε ατομική εκτέλεση.
@@ -42,14 +42,14 @@ https://<namespace>.servicebus.windows.net:443/
Η **`--disable-local-auth`** από την παράμετρο az cli χρησιμοποιείται για να ελέγξει αν η **τοπική αυθεντικοποίηση** (επιτρέποντας τη χρήση κλειδιών Shared Access Signature (SAS)) είναι ενεργοποιημένη για τον ονομασία χώρου του Service Bus σας.
- Όταν η απενεργοποίηση είναι ρυθμισμένη σε **true**: Η τοπική αυθεντικοποίηση με κλειδιά SAS είναι απενεργοποιημένη και επιτρέπεται η αυθεντικοποίηση με Entra ID.
- Όταν η απενεργοποίηση είναι ρυθμισμένη σε **true**: Η τοπική αυθεντικοποίηση χρησιμοποιώντας κλειδιά SAS είναι απενεργοποιημένη και επιτρέπεται η αυθεντικοποίηση μέσω Entra ID.
- Όταν η απενεργοποίηση είναι ρυθμισμένη σε **false (προεπιλογή)**: Και οι δύο τοπική αυθεντικοποίηση SAS και αυθεντικοποίηση Entra ID είναι διαθέσιμες και μπορείτε να χρησιμοποιήσετε συμβολοσειρές σύνδεσης με κλειδιά SAS για να αποκτήσετε πρόσβαση στους πόρους του Service Bus σας.
### Κανόνας Εξουσιοδότησης / Πολιτική SAS
Οι Πολιτικές SAS ορίζουν τις άδειες πρόσβασης για τις οντότητες του Azure Service Bus namespace (Πιο Σημαντική), ουρές και θέματα. Κάθε πολιτική έχει τα εξής στοιχεία:
Οι Πολιτικές SAS καθορίζουν τις άδειες πρόσβασης για τις οντότητες του Azure Service Bus (Η πιο σημαντική), ουρές και θέματα. Κάθε πολιτική έχει τα εξής στοιχεία:
- **Permissions**: Επιλογές για να προσδιορίσετε τα επίπεδα πρόσβασης:
- **Permissions**: Επιλογές για να καθορίσετε επίπεδα πρόσβασης:
- Manage: Παρέχει πλήρη έλεγχο της οντότητας, συμπεριλαμβανομένης της διαχείρισης ρυθμίσεων και αδειών.
- Send: Επιτρέπει την αποστολή μηνυμάτων στην οντότητα.
- Listen: Επιτρέπει την λήψη μηνυμάτων από την οντότητα.
@@ -57,9 +57,9 @@ https://<namespace>.servicebus.windows.net:443/
- **Primary and Secondary Connection Strings**: Προρυθμισμένες συμβολοσειρές σύνδεσης που περιλαμβάνουν το endpoint και το κλειδί για εύκολη χρήση σε εφαρμογές.
- **SAS Policy ARM ID**: Η διαδρομή Azure Resource Manager (ARM) προς την πολιτική για προγραμματιστική αναγνώριση.
Είναι σημαντικό να σημειωθεί ότι μια ονομασία χώρου έχει μια μόνο πολιτική SAS που επηρεάζει κάθε οντότητα εντός της, ενώ οι ουρές και τα θέματα μπορούν να έχουν τις δικές τους ατομικές πολιτικές SAS για πιο λεπτομερή έλεγχο.
Είναι σημαντικό να σημειωθεί ότι μια ονομασία χώρου έχει μία μόνο πολιτική SAS που επηρεάζει κάθε οντότητα εντός αυτής, ενώ οι ουρές και τα θέματα μπορούν να έχουν τις δικές τους ατομικές πολιτικές SAS για πιο λεπτομερή έλεγχο.
### Αριθμητική
### Απαρίθμηση
{{#tabs }}
{{#tab name="az cli" }}

View File

@@ -8,7 +8,7 @@
Το Azure SQL αποτελείται από τέσσερις κύριες προσφορές:
1. **Azure SQL Server**: Ένας διακομιστής είναι απαραίτητος για την **ανάπτυξη και διαχείριση** των βάσεων δεδομένων SQL Server.
1. **Azure SQL Server**: Ένας διακομιστής είναι απαραίτητος για την **ανάπτυξη και διαχείριση** βάσεων δεδομένων SQL Server.
2. **Azure SQL Database**: Αυτή είναι μια **πλήρως διαχειριζόμενη υπηρεσία βάσης δεδομένων**, που σας επιτρέπει να φιλοξενείτε μεμονωμένες βάσεις δεδομένων στο Azure cloud.
3. **Azure SQL Managed Instance**: Αυτό είναι για μεγαλύτερης κλίμακας, πλήρεις αναπτύξεις SQL Server.
4. **Azure SQL Server σε Azure VMs**: Αυτό είναι καλύτερο για αρχιτεκτονικές όπου θέλετε **έλεγχο του λειτουργικού συστήματος** και της παρουσίας SQL Server.
@@ -28,7 +28,7 @@
- **Και οι δύο SQL και Microsoft Entra** αυθεντικοποίηση: Παραδοσιακή αυθεντικοποίηση SQL με όνομα χρήστη και κωδικό πρόσβασης μαζί με Microsoft Entra.
- **Μόνο SQL** αυθεντικοποίηση: Επιτρέπεται μόνο η πρόσβαση μέσω χρηστών βάσης δεδομένων.
Σημειώστε ότι αν επιτρέπεται οποιαδήποτε αυθεντικοποίηση SQL, πρέπει να υποδειχθεί ένας χρήστης διαχειριστή (όνομα χρήστη + κωδικός πρόσβασης) και αν επιλεγεί η αυθεντικοποίηση Entra ID, είναι επίσης απαραίτητο να υποδειχθεί τουλάχιστον ένας principal με διαχειριστική πρόσβαση.
Σημειώστε ότι αν επιτρέπεται οποιαδήποτε αυθεντικοποίηση SQL, πρέπει να υποδειχθεί ένας χρήστης διαχειριστή (όνομα χρήστη + κωδικός πρόσβασης) και αν επιλεγεί η αυθεντικοποίηση Entra ID, είναι επίσης απαραίτητο να υποδειχθεί τουλάχιστον ένας principal με πρόσβαση διαχειριστή.
**Κρυπτογράφηση:**
@@ -68,10 +68,10 @@
- Κρυπτογράφηση
- Αντίγραφα ασφαλείας
-
- **Πλεονασμός δεδομένων:** Οι επιλογές είναι τοπικές, ζώνης, γεωγραφικές ή γεωγραφικές-ζώνες πλεονασματικές.
- **Λογιστικό βιβλίο:** Επαληθεύει κρυπτογραφικά την ακεραιότητα των δεδομένων, διασφαλίζοντας ότι οποιαδήποτε αλλοίωση ανιχνεύεται. Χρήσιμο για χρηματοοικονομικές, ιατρικές και οποιαδήποτε οργάνωση διαχειρίζεται ευαίσθητα δεδομένα.
- **Πλεονασμός δεδομένων:** Οι επιλογές είναι τοπικές, ζώνης, γεωγραφικές ή γεωγραφικές-ζώνες.
- **Λογιστικό βιβλίο:** Επαληθεύει κρυπτογραφικά την ακεραιότητα των δεδομένων, διασφαλίζοντας ότι οποιαδήποτε αλλοίωση ανιχνεύεται. Χρήσιμο για χρηματοοικονομικές, ιατρικές και οποιαδήποτε οργάνωση που διαχειρίζεται ευαίσθητα δεδομένα.
Μια βάση δεδομένων SQL θα μπορούσε να είναι μέρος ενός **ελαστικού Pool**. Οι ελαστικοί pools είναι μια οικονομικά αποδοτική λύση για τη διαχείριση πολλαπλών βάσεων δεδομένων μοιράζοντας ρυθμιζόμενους υπολογιστικούς πόρους (eDTUs) και πόρους αποθήκευσης μεταξύ τους, με τιμολόγηση που βασίζεται αποκλειστικά στους πόρους που έχουν ανατεθεί και όχι στον αριθμό των βάσεων δεδομένων.
Μια βάση δεδομένων SQL θα μπορούσε να είναι μέρος ενός **ελαστικού Pool**. Οι ελαστικοί pools είναι μια οικονομικά αποδοτική λύση για τη διαχείριση πολλαπλών βάσεων δεδομένων μοιράζοντας ρυθμιζόμενους υπολογιστικούς πόρους (eDTUs) και αποθηκευτικούς πόρους μεταξύ τους, με τιμολόγηση που βασίζεται αποκλειστικά στους πόρους που έχουν ανατεθεί και όχι στον αριθμό των βάσεων δεδομένων.
#### Azure SQL Ασφάλεια Επιπέδου Στήλης (Μάσκα) & Ασφάλεια Επιπέδου Γραμμής
@@ -87,11 +87,11 @@
### Azure SQL Virtual Machines
Οι **Azure SQL Virtual Machines** επιτρέπουν να **ελέγχετε το λειτουργικό σύστημα** και την παρουσία SQL Server, καθώς μια VM θα δημιουργηθεί στην υπηρεσία VM που εκτελεί τον SQL Server.
Οι **Azure SQL Virtual Machines** επιτρέπουν τον **έλεγχο του λειτουργικού συστήματος** και της παρουσίας SQL Server, καθώς μια VM θα δημιουργηθεί στην υπηρεσία VM που εκτελεί τον SQL Server.
Όταν δημιουργείται μια SQL Virtual Machine, είναι δυνατό να **επιλεγούν όλες οι ρυθμίσεις της VM** (όπως φαίνεται στο μάθημα VM) που θα φιλοξενούν τον SQL Server.
- Αυτό σημαίνει ότι η VM θα έχει πρόσβαση σε κάποια VNet(s), μπορεί να έχει **συνδεδεμένες Διαχειριζόμενες Ταυτότητες**, θα μπορούσε να έχει κοινές χρήσεις αρχείων… καθιστώντας μια **μετάβαση από τον SQL** στη VM πολύ ενδιαφέρουσα.
- Επιπλέον, είναι δυνατό να ρυθμιστεί ένα ID εφαρμογής και μυστικό για **να επιτρέψει στον SQL να έχει πρόσβαση σε ένα συγκεκριμένο key vault**, το οποίο θα μπορούσε να περιέχει ευαίσθητες πληροφορίες.
- Αυτό σημαίνει ότι η VM θα έχει πρόσβαση σε κάποια VNet(s), μπορεί να έχει **συνδεδεμένες Διαχειριζόμενες Ταυτότητες**, θα μπορούσε να έχει κοινές χρήσεις αρχείων… καθιστώντας την **pivoting από τον SQL** στη VM πολύ ενδιαφέρουσα.
- Επιπλέον, είναι δυνατό να ρυθμιστεί ένα app id και μυστικό για **να επιτρέψει στον SQL να έχει πρόσβαση σε ένα συγκεκριμένο key vault**, το οποίο θα μπορούσε να περιέχει ευαίσθητες πληροφορίες.
Είναι επίσης δυνατό να ρυθμιστούν πράγματα όπως **αυτόματες ενημερώσεις SQL**, **αυτόματα αντίγραφα ασφαλείας**, **αυθεντικοποίηση Entra ID** και οι περισσότερες δυνατότητες των άλλων υπηρεσιών SQL.
@@ -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}}
### Επιμονή
{{#ref}}
../az-persistence/az-sql-persistance.md
{{#endref}}
{{#include ../../../banners/hacktricks-training.md}}