From 206ee8a36aaa176cd1a65264e863c36b0834b43c Mon Sep 17 00:00:00 2001 From: Translator Date: Sat, 15 Feb 2025 03:25:34 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/azure-security/az-privilege-escalation --- .../az-servicebus-privesc.md | 90 ++++++++++++++++--- .../az-services/az-servicebus-enum.md | 41 +++++---- 2 files changed, 99 insertions(+), 32 deletions(-) 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 dad07d269..3ec91a218 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 @@ -10,9 +10,81 @@ ../az-services/az-servicebus-enum.md {{#endref}} -### Αποστολή Μηνυμάτων. Ενέργεια: `Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action` Ή `Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action` +### Microsoft.ServiceBus/namespaces/authorizationrules/listKeys/action Ή Microsoft.ServiceBus/namespaces/authorizationrules/regenerateKeys/action -Μπορείτε να ανακτήσετε το `PrimaryConnectionString`, το οποίο λειτουργεί ως διαπιστευτήριο για το Service Bus namespace. Με αυτή τη σύνδεση, μπορείτε να αυθεντικοποιηθείτε πλήρως ως το Service Bus namespace, επιτρέποντάς σας να στείλετε μηνύματα σε οποιαδήποτε ουρά ή θέμα και ενδεχομένως να αλληλεπιδράσετε με το σύστημα με τρόπους που θα μπορούσαν να διαταράξουν τις λειτουργίες, να προσποιηθούν έγκυρους χρήστες ή να εισάγουν κακόβουλα δεδομένα στη ροή μηνυμάτων. +Αυτές οι άδειες σας επιτρέπουν να αποκτήσετε ή να αναγεννήσετε τα κλειδιά για τους τοπικούς κανόνες εξουσιοδότησης εντός ενός namespace Service Bus. Χρησιμοποιώντας αυτά τα κλειδιά είναι δυνατή η αυθεντικοποίηση ως το namespace Service Bus, επιτρέποντάς σας να στείλετε μηνύματα σε οποιαδήποτε ουρά ή θέμα, να λάβετε μηνύματα από οποιαδήποτε ουρά ή συνδρομή, ή ενδεχομένως να αλληλεπιδράσετε με το σύστημα με τρόπους που θα μπορούσαν να διαταράξουν τις λειτουργίες, να προσποιηθείτε έγκυρους χρήστες ή να εισάγετε κακόβουλα δεδομένα στη ροή μηνυμάτων. + +Σημειώστε ότι από προεπιλογή ο κανόνας **`RootManageSharedAccessKey` έχει πλήρη έλεγχο** πάνω στο namespace Service Bus και χρησιμοποιείται από το `az` cli, ωστόσο, μπορεί να υπάρχουν και άλλοι κανόνες με άλλες τιμές κλειδιών. +```bash +# List keys +az servicebus namespace authorization-rule keys list --resource-group --namespace-name --authorization-rule-name RootManageSharedAccessKey [--authorization-rule-name RootManageSharedAccessKey] + +# Regenerate keys +az servicebus namespace authorization-rule keys renew --key [PrimaryKey|SecondaryKey] --resource-group --namespace-name [--authorization-rule-name RootManageSharedAccessKey] +``` +### 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, είναι δυνατό να ενημερώσετε έναν υπάρχοντα κανόνα εξουσιοδότησης και να του δώσετε περισσότερες άδειες (σε περίπτωση που του έλειπαν κάποιες) με την ακόλουθη εντολή: +```bash +az servicebus namespace authorization-rule update \ +--resource-group \ +--namespace-name \ +--name RootManageSharedAccessKey \ +--rights Manage Listen Send +``` +### Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/ListKeys/action OR Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/regenerateKeys/action + +Συγκεκριμένα θέματα και ουρές μέσα σε ένα namespace Service Bus μπορούν να έχουν τους δικούς τους κανόνες εξουσιοδότησης, οι οποίοι μπορούν να χρησιμοποιηθούν για τον έλεγχο πρόσβασης στην οντότητα. Με αυτές τις άδειες, μπορείτε να **ανακτήσετε ή να αναγεννήσετε τα κλειδιά για αυτούς τους τοπικούς κανόνες εξουσιοδότησης**, επιτρέποντάς σας να αυθεντικοποιηθείτε ως η οντότητα και ενδεχομένως να στείλετε ή να λάβετε μηνύματα, να διαχειριστείτε συνδρομές ή να αλληλεπιδράσετε με το σύστημα με τρόπους που θα μπορούσαν να διαταράξουν τις λειτουργίες, να προσποιηθούν έγκυρους χρήστες ή να εισάγουν κακόβουλα δεδομένα στη ροή μηνυμάτων. +```bash +# List keys (topics) +az servicebus topic authorization-rule keys list --resource-group --namespace-name --topic-name --name + +# Regenerate keys (topics) +az servicebus topic authorization-rule keys renew --key [PrimaryKey|SecondaryKey] --resource-group --namespace-name --topic-name --name + +# List keys (queues) +az servicebus queue authorization-rule keys list --resource-group --namespace-name --queue-name --name + +# Regenerate keys (queues) +az servicebus queue authorization-rule keys renew --key [PrimaryKey|SecondaryKey] --resource-group --namespace-name --queue-name --name +``` +### Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/write + +Με αυτή την άδεια είναι δυνατόν να **δημιουργηθεί ένας νέος κανόνας εξουσιοδότησης** με όλες τις άδειες και τα δικά του κλειδιά με: +```bash +# In a topic +az servicebus topic authorization-rule create --resource-group --namespace-name --topic-name --name --rights Manage Listen Send + +# In a queue +az servicebus queue authorization-rule create --resource-group --namespace-name --queue-name --name --rights Manage Listen Send +``` +>[!WARNING] +>Αυτή η εντολή δεν απαντά με τα κλειδιά, οπότε πρέπει να τα αποκτήσετε με τις προηγούμενες εντολές (και άδειες) προκειμένου να κλιμακώσετε τα προνόμια. + +Επιπλέον, με αυτή την εντολή (και `Microsoft.ServiceBus/namespaces/[queues|topics]/authorizationRules/read`) αν εκτελέσετε αυτή την ενέργεια μέσω του Azure CLI, είναι δυνατό να ενημερώσετε έναν υπάρχοντα κανόνα εξουσιοδότησης και να του δώσετε περισσότερες άδειες (σε περίπτωση που του έλειπαν κάποιες) με την παρακάτω εντολή: +```bash +# In a topic +az servicebus topic authorization-rule update --resource-group --namespace-name --topic-name --name --rights Manage Listen Send + +# 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 αν χρησιμοποιείται το az cli) + +Με αυτές τις άδειες **ένας επιτιθέμενος μπορεί να επανενεργοποιήσει την "τοπική αυθεντικοποίηση"** με την παρακάτω εντολή και επομένως όλα τα κλειδιά από τις κοινές πολιτικές θα λειτουργούν. +```bash +az servicebus namespace update --disable-local-auth false -n --resource-group +``` +### Αποστολή Μηνυμάτων με κλειδιά (Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action Ή Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action) + +Μπορείτε να ανακτήσετε το `PrimaryConnectionString`, το οποίο λειτουργεί ως διαπιστευτήριο για το Service Bus namespace. Με αυτή τη σύνδεση, μπορείτε να αυθεντικοποιηθείτε πλήρως ως το Service Bus namespace, επιτρέποντάς σας να στείλετε μηνύματα σε οποιαδήποτε ουρά ή θέμα και ενδεχομένως να αλληλεπιδράσετε με το σύστημα με τρόπους που θα μπορούσαν να διαταράξουν τις λειτουργίες, να προσποιηθείτε έγκυρους χρήστες ή να εισάγετε κακόβουλα δεδομένα στη ροή μηνυμάτων. ```python #You need to install the following libraries #pip install azure-servicebus @@ -81,9 +153,9 @@ print("Messages Sent") print("----------------------------") ``` -### Λάβετε Μηνύματα. Ενέργεια: `Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action` Ή `Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action` +### Λάβετε με κλειδιά (Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action Ή Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action) -Μπορείτε να ανακτήσετε το PrimaryConnectionString, το οποίο χρησιμεύει ως διαπιστευτήριο για το Service Bus namespace. Χρησιμοποιώντας αυτό το connection string, μπορείτε να λάβετε μηνύματα από οποιαδήποτε ουρά ή συνδρομή εντός του namespace, επιτρέποντας την πρόσβαση σε δυνητικά ευαίσθητα ή κρίσιμα δεδομένα, διευκολύνοντας την εξαγωγή δεδομένων ή παρεμβαίνοντας στη διαδικασία επεξεργασίας μηνυμάτων και στις ροές εργασίας εφαρμογών. +Μπορείτε να ανακτήσετε το PrimaryConnectionString, το οποίο χρησιμεύει ως διαπιστευτήριο για το Service Bus namespace. Χρησιμοποιώντας αυτό το connection string, μπορείτε να λάβετε μηνύματα από οποιαδήποτε ουρά ή συνδρομή εντός του namespace, επιτρέποντας την πρόσβαση σε δυνητικά ευαίσθητα ή κρίσιμα δεδομένα, διευκολύνοντας την εξαγωγή δεδομένων ή παρεμβαίνοντας στην επεξεργασία μηνυμάτων και στις ροές εργασίας εφαρμογών. ```python #You need to install the following libraries #pip install azure-servicebus @@ -127,16 +199,6 @@ asyncio.run(receive_and_process_messages()) print("Message Receiving Completed") print("----------------------------") ``` -### `Microsoft.ServiceBus/namespaces/authorizationRules/read` & `Microsoft.ServiceBus/namespaces/authorizationRules/write` - -Αν έχετε αυτές τις άδειες, μπορείτε να αναβαθμίσετε τα προνόμια σας διαβάζοντας ή δημιουργώντας κοινά κλειδιά πρόσβασης. Αυτά τα κλειδιά επιτρέπουν πλήρη έλεγχο πάνω στο Service Bus namespace, συμπεριλαμβανομένης της διαχείρισης ουρών, θεμάτων και αποστολής/λήψης μηνυμάτων, παρακάμπτοντας ενδεχομένως τους ελέγχους πρόσβασης βάσει ρόλων (RBAC). -```bash -az servicebus namespace authorization-rule update \ ---resource-group \ ---namespace-name \ ---name RootManageSharedAccessKey \ ---rights Manage Listen Send -``` ## Αναφορές - https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues diff --git a/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md b/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md index 7dc7a6605..d238341db 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md +++ b/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md @@ -4,12 +4,12 @@ ## Service Bus -Το Azure Service Bus είναι μια υπηρεσία **μηνυμάτων** βασισμένη στο cloud, σχεδιασμένη για να επιτρέπει αξιόπιστη **επικοινωνία μεταξύ διαφορετικών τμημάτων μιας εφαρμογής ή ξεχωριστών εφαρμογών**. Λειτουργεί ως ασφαλής μεσάζων, διασφαλίζοντας ότι τα μηνύματα παραδίδονται με ασφάλεια, ακόμη και αν ο αποστολέας και ο παραλήπτης δεν λειτουργούν ταυτόχρονα. Αποσυνδέοντας τα συστήματα, επιτρέπει στις εφαρμογές να λειτουργούν ανεξάρτητα ενώ εξακολουθούν να ανταλλάσσουν δεδομένα ή οδηγίες. Είναι ιδιαίτερα χρήσιμο σε σενάρια που απαιτούν κατανομή φορτίου σε πολλούς εργαζόμενους, αξιόπιστη παράδοση μηνυμάτων ή σύνθετο συντονισμό, όπως η επεξεργασία εργασιών με σειρά ή η ασφαλής διαχείριση πρόσβασης. +Το Azure Service Bus είναι μια υπηρεσία **μηνυμάτων** που βασίζεται στο cloud, σχεδιασμένη για να επιτρέπει αξιόπιστη **επικοινωνία μεταξύ διαφορετικών τμημάτων μιας εφαρμογής ή ξεχωριστών εφαρμογών**. Λειτουργεί ως ασφαλής μεσάζων, διασφαλίζοντας ότι τα μηνύματα παραδίδονται με ασφάλεια, ακόμη και αν ο αποστολέας και ο παραλήπτης δεν λειτουργούν ταυτόχρονα. Αποσυνδέοντας τα συστήματα, επιτρέπει στις εφαρμογές να λειτουργούν ανεξάρτητα ενώ εξακολουθούν να ανταλλάσσουν δεδομένα ή οδηγίες. Είναι ιδιαίτερα χρήσιμο για σενάρια που απαιτούν κατανομή φορτίου σε πολλούς εργαζόμενους, αξιόπιστη παράδοση μηνυμάτων ή πολύπλοκο συντονισμό, όπως η επεξεργασία εργασιών με σειρά ή η ασφαλής διαχείριση πρόσβασης. ### Key Concepts 1. **Queues:** ο σκοπός του είναι να αποθηκεύει μηνύματα μέχρι να είναι έτοιμος ο παραλήπτης. -- Τα μηνύματα είναι διατεταγμένα, χρονοσημανμένα και αποθηκεύονται με ανθεκτικότητα. +- Τα μηνύματα είναι διατεταγμένα, χρονοσημασμένα και αποθηκεύονται με ανθεκτικότητα. - Παραδίδονται σε λειτουργία pull (ανάκτηση κατόπιν αιτήματος). - Υποστηρίζει επικοινωνία σημείου προς σημείο. 2. **Topics:** Μηχανισμός δημοσίευσης-εγγραφής για μετάδοση. @@ -20,10 +20,10 @@ ### Advance Features -Ορισμένα προηγμένα χαρακτηριστικά είναι: +Ορισμένες προηγμένες δυνατότητες είναι: - **Message Sessions**: Διασφαλίζει την επεξεργασία FIFO και υποστηρίζει πρότυπα αιτήματος-απάντησης. -- **Auto-Forwarding**: Μεταφέρει μηνύματα μεταξύ ουρών ή θεμάτων στην ίδια περιοχή ονομάτων. +- **Auto-Forwarding**: Μεταφέρει μηνύματα μεταξύ ουρών ή θεμάτων στην ίδια ζώνη ονομάτων. - **Dead-Lettering**: Καταγράφει τα μη παραδιδόμενα μηνύματα για ανασκόπηση. - **Scheduled Delivery**: Καθυστερεί την επεξεργασία μηνυμάτων για μελλοντικές εργασίες. - **Message Deferral**: Αναβάλλει την ανάκτηση μηνυμάτων μέχρι να είναι έτοιμα. @@ -35,10 +35,10 @@ ### Authorization-Rule / SAS Policy -Οι πολιτικές SAS καθορίζουν τις άδειες πρόσβασης για τις οντότητες του Azure Service Bus (Η πιο σημαντική), τις ουρές και τα θέματα. Κάθε πολιτική έχει τα εξής συστατικά: +Οι πολιτικές SAS καθορίζουν τα δικαιώματα πρόσβασης για τις οντότητες του Azure Service Bus namespace (Το πιο σημαντικό), τις ουρές και τα θέματα. Κάθε πολιτική έχει τα εξής στοιχεία: - **Permissions**: Επιλογές για να καθορίσετε τα επίπεδα πρόσβασης: -- Manage: Παρέχει πλήρη έλεγχο της οντότητας, συμπεριλαμβανομένης της διαχείρισης ρυθμίσεων και αδειών. +- Manage: Παρέχει πλήρη έλεγχο της οντότητας, συμπεριλαμβανομένης της διαχείρισης ρυθμίσεων και δικαιωμάτων. - Send: Επιτρέπει την αποστολή μηνυμάτων στην οντότητα. - Listen: Επιτρέπει την λήψη μηνυμάτων από την οντότητα. - **Primary and Secondary Keys**: Αυτά είναι κρυπτογραφικά κλειδιά που χρησιμοποιούνται για τη δημιουργία ασφαλών tokens για την αυθεντικοποίηση πρόσβασης. @@ -54,18 +54,6 @@ sku, authrorization rule, {{#tabs }} {{#tab name="az cli" }} ```bash -# Queue Enumeration -az servicebus queue list --resource-group --namespace-name -az servicebus queue show --resource-group --namespace-name --name - -# Topic Enumeration -az servicebus topic list --resource-group --namespace-name -az servicebus topic show --resource-group --namespace-name --name - -# Susbscription Enumeration -az servicebus topic subscription list --resource-group --namespace-name --topic-name -az servicebus topic subscription show --resource-group --namespace-name --topic-name --name - # Namespace Enumeration az servicebus namespace list az servicebus namespace network-rule-set list --resource-group --namespace-name @@ -79,6 +67,23 @@ az servicebus namespace authorization-rule list --resource-group --namespace-name --queue-name az servicebus topic authorization-rule list --resource-group --namespace-name --topic-name az servicebus namespace authorization-rule keys list --resource-group --namespace-name --name + +# Get keys +az servicebus namespace authorization-rule keys list --resource-group --namespace-name [--authorization-rule-name RootManageSharedAccessKey] +az servicebus topic authorization-rule keys list --resource-group --namespace-name --topic-name --name +az servicebus queue authorization-rule keys list --resource-group --namespace-name --queue-name --name + +# Queue Enumeration +az servicebus queue list --resource-group --namespace-name +az servicebus queue show --resource-group --namespace-name --name + +# Topic Enumeration +az servicebus topic list --resource-group --namespace-name +az servicebus topic show --resource-group --namespace-name --name + +# Susbscription Enumeration +az servicebus topic subscription list --resource-group --namespace-name --topic-name +az servicebus topic subscription show --resource-group --namespace-name --topic-name --name ``` {{#endtab }}