diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 478e28676..c53000a33 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -292,7 +292,7 @@ - [AWS - KMS Privesc](pentesting-cloud/aws-security/aws-privilege-escalation/aws-kms-privesc.md) - [AWS - Lambda Privesc](pentesting-cloud/aws-security/aws-privilege-escalation/aws-lambda-privesc.md) - [AWS - Lightsail Privesc](pentesting-cloud/aws-security/aws-privilege-escalation/aws-lightsail-privesc.md) - - [AWS - Macie Enum](pentesting-cloud/aws-security/aws-privilege-escalation/aws-macie-privesc.md) + - [AWS - Macie Privesc](pentesting-cloud/aws-security/aws-privilege-escalation/aws-macie-privesc.md) - [AWS - Mediapackage Privesc](pentesting-cloud/aws-security/aws-privilege-escalation/aws-mediapackage-privesc.md) - [AWS - MQ Privesc](pentesting-cloud/aws-security/aws-privilege-escalation/aws-mq-privesc.md) - [AWS - MSK Privesc](pentesting-cloud/aws-security/aws-privilege-escalation/aws-msk-privesc.md) @@ -415,7 +415,7 @@ - [Az - Azure App Services](pentesting-cloud/azure-security/az-services/az-app-services.md) - [Az - Cloud Shell](pentesting-cloud/azure-security/az-services/az-cloud-shell.md) - [Az - Container Registry](pentesting-cloud/azure-security/az-services/az-container-registry.md) - - [Az - Container Instances](pentesting-cloud/azure-security/az-services/az-container-instances.md) + - [Az - Container Instances, Apps & Jobs](pentesting-cloud/azure-security/az-services/az-container-instances-apps-jobs.md) - [Az - CosmosDB](pentesting-cloud/azure-security/az-services/az-cosmosDB.md) - [Az - Intune](pentesting-cloud/azure-security/az-services/intune.md) - [Az - File Shares](pentesting-cloud/azure-security/az-services/az-file-shares.md) @@ -470,7 +470,7 @@ - [Az - App Services Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-app-services-privesc.md) - [Az - Automation Accounts Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-automation-accounts-privesc.md) - [Az - Container Registry Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-container-registry-privesc.md) - - [Az - Container Instances Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-container-instances-privesc.md) + - [Az - Container Instances, Apps & Jobs Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-container-instances-apps-jobs-privesc.md) - [Az - CosmosDB Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-cosmosDB-privesc.md) - [Az - EntraID Privesc](pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/README.md) - [Az - Conditional Access Policies & MFA Bypass](pentesting-cloud/azure-security/az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md) diff --git a/src/pentesting-cloud/aws-security/aws-services/aws-organizations-enum.md b/src/pentesting-cloud/aws-security/aws-services/aws-organizations-enum.md index c87145ada..0f7c0372e 100644 --- a/src/pentesting-cloud/aws-security/aws-services/aws-organizations-enum.md +++ b/src/pentesting-cloud/aws-security/aws-services/aws-organizations-enum.md @@ -4,7 +4,7 @@ ## Βασικές Πληροφορίες -Το AWS Organizations διευκολύνει τη δημιουργία νέων λογαριασμών AWS χωρίς επιπλέον κόστος. Οι πόροι μπορούν να κατανεμηθούν εύκολα, οι λογαριασμοί μπορούν να ομαδοποιηθούν αποτελεσματικά και οι πολιτικές διακυβέρνησης μπορούν να εφαρμοστούν σε μεμονωμένους λογαριασμούς ή ομάδες, ενισχύοντας τη διαχείριση και τον έλεγχο εντός της οργάνωσης. +AWS Organizations διευκολύνει τη δημιουργία νέων λογαριασμών AWS χωρίς επιπλέον κόστος. Οι πόροι μπορούν να κατανεμηθούν εύκολα, οι λογαριασμοί μπορούν να ομαδοποιηθούν αποτελεσματικά και οι πολιτικές διακυβέρνησης μπορούν να εφαρμοστούν σε μεμονωμένους λογαριασμούς ή ομάδες, ενισχύοντας τη διαχείριση και τον έλεγχο εντός της οργάνωσης. Κύρια Σημεία: @@ -40,6 +40,6 @@ aws iam get-account-summary ``` ## Αναφορές -- https://aws.amazon.com/organizations/ +- [https://aws.amazon.com/organizations/](https://aws.amazon.com/organizations/) {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/aws-security/aws-services/aws-sqs-and-sns-enum.md b/src/pentesting-cloud/aws-security/aws-services/aws-sqs-and-sns-enum.md index 2cad72e9b..d050f9449 100644 --- a/src/pentesting-cloud/aws-security/aws-services/aws-sqs-and-sns-enum.md +++ b/src/pentesting-cloud/aws-security/aws-services/aws-sqs-and-sns-enum.md @@ -4,7 +4,7 @@ ## SQS -Η Amazon Simple Queue Service (SQS) παρουσιάζεται ως μια **πλήρως διαχειριζόμενη υπηρεσία ουρών μηνυμάτων**. Η κύρια λειτουργία της είναι να βοηθά στην κλιμάκωση και την αποσύνδεση μικροϋπηρεσιών, κατανεμημένων συστημάτων και εφαρμογών χωρίς διακομιστές. Η υπηρεσία έχει σχεδιαστεί για να αφαιρεί την ανάγκη διαχείρισης και λειτουργίας μεσαίας λογισμικού προσανατολισμένης σε μηνύματα, η οποία μπορεί συχνά να είναι περίπλοκη και απαιτητική σε πόρους. Αυτή η εξάλειψη της πολυπλοκότητας επιτρέπει στους προγραμματιστές να κατευθύνουν τις προσπάθειές τους σε πιο καινοτόμες και διαφοροποιημένες πτυχές της εργασίας τους. +Η Υπηρεσία Απλής Ουράς Μηνυμάτων της Amazon (SQS) παρουσιάζεται ως μια **πλήρως διαχειριζόμενη υπηρεσία ουράς μηνυμάτων**. Η κύρια λειτουργία της είναι να βοηθά στην κλιμάκωση και την αποσύνδεση μικροϋπηρεσιών, κατανεμημένων συστημάτων και εφαρμογών χωρίς διακομιστές. Η υπηρεσία έχει σχεδιαστεί για να αφαιρεί την ανάγκη διαχείρισης και λειτουργίας μεσαίας λογισμικού προσανατολισμένης σε μηνύματα, η οποία μπορεί συχνά να είναι περίπλοκη και απαιτητική σε πόρους. Αυτή η εξάλειψη της πολυπλοκότητας επιτρέπει στους προγραμματιστές να κατευθύνουν τις προσπάθειές τους σε πιο καινοτόμες και διαφοροποιημένες πτυχές της εργασίας τους. ### Enumeration ```bash @@ -46,6 +46,6 @@ aws sqs send-message --queue-url --message-body ## References -- https://docs.aws.amazon.com/cdk/api/v2/python/aws\_cdk.aws\_sqs/README.html +- [https://docs.aws.amazon.com/cdk/api/v2/python/aws\_cdk.aws\_sqs/README.html](https://docs.aws.amazon.com/cdk/api/v2/python/aws\_cdk.aws\_sqs/README.html) {{#include ../../../banners/hacktricks-training.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 62fdf3cd3..27ef5b9fc 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 @@ -22,8 +22,8 @@ az storage queue policy set --name --permissions rwd --expiry 2024- ``` ## Αναφορές -- https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues -- https://learn.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api -- https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes +- [https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues](https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues) +- [https://learn.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api](https://learn.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api) +- [https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes](https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes) {{#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 36c9af11e..b75dc04b3 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 @@ -4,7 +4,7 @@ ## Queue -Για περισσότερες πληροφορίες, ελέγξτε: +Για περισσότερες πληροφορίες ελέγξτε: {{#ref}} ../az-services/az-queue-enum.md @@ -68,8 +68,8 @@ az storage queue policy set --name --permissions rwd --expiry 2024- ``` ## Αναφορές -- https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues -- https://learn.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api -- https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes +- [https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues](https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues) +- [https://learn.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api](https://learn.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api) +- [https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes](https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes) {{#include ../../../banners/hacktricks-training.md}} 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 210d9ef50..b67001b18 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 @@ -12,45 +12,38 @@ ### Actions: `Microsoft.ServiceBus/namespaces/Delete` -Ένας επιτιθέμενος με αυτή την άδεια μπορεί να διαγράψει ολόκληρο το Azure Service Bus namespace. Αυτή η ενέργεια αφαιρεί το namespace και όλους τους σχετικούς πόρους, συμπεριλαμβανομένων των ουρών, των θεμάτων, των συνδρομών και των μηνυμάτων τους, προκαλώντας εκτεταμένη διαταραχή και μόνιμη απώλεια δεδομένων σε όλα τα εξαρτώμενα συστήματα και ροές εργασίας. +Ένας επιτιθέμενος με αυτή την άδεια μπορεί να διαγράψει ολόκληρο το Azure Service Bus namespace. Αυτή η ενέργεια αφαιρεί το namespace και όλους τους σχετικούς πόρους, συμπεριλαμβανομένων των ουρών, θεμάτων, συνδρομών και των μηνυμάτων τους, προκαλώντας εκτεταμένη αναστάτωση και μόνιμη απώλεια δεδομένων σε όλα τα εξαρτώμενα συστήματα και ροές εργασίας. ```bash az servicebus namespace delete --resource-group --name ``` -### Ενέργειες: `Microsoft.ServiceBus/namespaces/topics/Delete` +### Actions: `Microsoft.ServiceBus/namespaces/topics/Delete` Ένας επιτιθέμενος με αυτή την άδεια μπορεί να διαγράψει ένα θέμα Azure Service Bus. Αυτή η ενέργεια αφαιρεί το θέμα και όλες τις σχετικές συνδρομές και μηνύματα του, ενδεχομένως προκαλώντας απώλεια κρίσιμων δεδομένων και διαταράσσοντας συστήματα και ροές εργασίας που βασίζονται στο θέμα. ```bash az servicebus topic delete --resource-group --namespace-name --name ``` -### Ενέργειες: `Microsoft.ServiceBus/namespaces/queues/Delete` +### Actions: `Microsoft.ServiceBus/namespaces/queues/Delete` -Ένας επιτιθέμενος με αυτή την άδεια μπορεί να διαγράψει μια ουρά Azure Service Bus. Αυτή η ενέργεια αφαιρεί την ουρά και όλα τα μηνύματα μέσα σε αυτή, ενδεχομένως προκαλώντας απώλεια κρίσιμων δεδομένων και διαταράσσοντας τα συστήματα και τις ροές εργασίας που εξαρτώνται από την ουρά. +Ένας επιτιθέμενος με αυτή την άδεια μπορεί να διαγράψει μια ουρά Azure Service Bus. Αυτή η ενέργεια αφαιρεί την ουρά και όλα τα μηνύματα μέσα σε αυτήν, ενδεχομένως προκαλώντας απώλεια κρίσιμων δεδομένων και διαταράσσοντας τα συστήματα και τις ροές εργασίας που εξαρτώνται από την ουρά. ```bash az servicebus queue delete --resource-group --namespace-name --name ``` -### Ενέργειες: `Microsoft.ServiceBus/namespaces/topics/subscriptions/Delete` +### Actions: `Microsoft.ServiceBus/namespaces/topics/subscriptions/Delete` -Ένας επιτιθέμενος με αυτή την άδεια μπορεί να διαγράψει μια συνδρομή Azure Service Bus. Αυτή η ενέργεια αφαιρεί τη συνδρομή και όλα τα συσχετισμένα μηνύματα της, ενδεχομένως διαταράσσοντας τις ροές εργασίας, την επεξεργασία δεδομένων και τις λειτουργίες του συστήματος που βασίζονται στη συνδρομή. +Ένας επιτιθέμενος με αυτή την άδεια μπορεί να διαγράψει μια συνδρομή Azure Service Bus. Αυτή η ενέργεια αφαιρεί τη συνδρομή και όλα τα σχετιζόμενα μηνύματα της, ενδεχομένως διαταράσσοντας τις ροές εργασίας, την επεξεργασία δεδομένων και τις λειτουργίες του συστήματος που βασίζονται στη συνδρομή. ```bash az servicebus topic subscription delete --resource-group --namespace-name --topic-name --name ``` -### Actions: `Microsoft.ServiceBus/namespaces/write` & `Microsoft.ServiceBus/namespaces/read` +### Actions: `Microsoft.ServiceBus/namespaces/queues/write` (`Microsoft.ServiceBus/namespaces/queues/read`) -Ένας επιτιθέμενος με δικαιώματα για τη δημιουργία ή την τροποποίηση των Azure Service Bus namespaces μπορεί να εκμεταλλευτεί αυτό για να διαταράξει τις λειτουργίες, να αναπτύξει μη εξουσιοδοτημένους πόρους ή να εκθέσει ευαίσθητα δεδομένα. Μπορούν να αλλάξουν κρίσιμες ρυθμίσεις όπως η ενεργοποίηση της δημόσιας πρόσβασης στο δίκτυο, η υποβάθμιση των ρυθμίσεων κρυπτογράφησης ή η αλλαγή των SKU για να υποβαθμίσουν την απόδοση ή να αυξήσουν το κόστος. Επιπλέον, θα μπορούσαν να απενεργοποιήσουν την τοπική αυθεντικοποίηση, να χειριστούν τις τοποθεσίες αναπαραγωγής ή να προσαρμόσουν τις εκδόσεις TLS για να αποδυναμώσουν τους ελέγχους ασφαλείας, καθιστώντας την κακή διαμόρφωση του namespace έναν σημαντικό κίνδυνο μετά την εκμετάλλευση. -```bash -az servicebus namespace create --resource-group --name --location -az servicebus namespace update --resource-group --name --tags -``` -### Ενέργειες: `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 --namespace-name --name az servicebus queue update --resource-group --namespace-name --name ``` -### Ενέργειες: `Microsoft.ServiceBus/namespaces/topics/write` (`Microsoft.ServiceBus/namespaces/topics/read`) +### 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 --namespace-name --name az servicebus topic update --resource-group --namespace-name --name @@ -72,12 +65,12 @@ az servicebus topic subscription update --resource-group --n ## Αναφορές -- https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues -- https://learn.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api -- https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes -- https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-python-how-to-use-topics-subscriptions?tabs=passwordless -- https://learn.microsoft.com/en-us/azure/role-based-access-control/permissions/integration#microsoftservicebus -- https://learn.microsoft.com/en-us/cli/azure/servicebus/namespace?view=azure-cli-latest -- https://learn.microsoft.com/en-us/cli/azure/servicebus/queue?view=azure-cli-latest +- [https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues](https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues) +- [https://learn.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api](https://learn.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api) +- [https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes](https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes) +- [https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-python-how-to-use-topics-subscriptions?tabs=passwordless](https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-python-how-to-use-topics-subscriptions?tabs=passwordless) +- [https://learn.microsoft.com/en-us/azure/role-based-access-control/permissions/integration#microsoftservicebus](https://learn.microsoft.com/en-us/azure/role-based-access-control/permissions/integration#microsoftservicebus) +- [https://learn.microsoft.com/en-us/cli/azure/servicebus/namespace?view=azure-cli-latest](https://learn.microsoft.com/en-us/cli/azure/servicebus/namespace?view=azure-cli-latest) +- [https://learn.microsoft.com/en-us/cli/azure/servicebus/queue?view=azure-cli-latest](https://learn.microsoft.com/en-us/cli/azure/servicebus/queue?view=azure-cli-latest) {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-sql-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-sql-post-exploitation.md index 2515e4951..ad6d87dba 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-sql-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-sql-post-exploitation.md @@ -19,6 +19,16 @@ az sql db create --resource-group --server --name # Update Database az sql db update --resource-group --server --name --max-size +``` +Με αυτές τις άδειες (`Microsoft.Sql/servers/read` && `Microsoft.Sql/servers/databases/write`) μπορείτε να επαναφέρετε μια διαγραμμένη βάση δεδομένων: +```bash +az sql db restore \ +--dest-name \ +--name \ +--resource-group \ +--server \ +--deleted-time "" + ``` ### `Microsoft.Sql/servers/elasticPools/write` && `Microsoft.Sql/servers/elasticPools/read` @@ -62,7 +72,7 @@ az sql server connection-policy update \ ``` ### `Microsoft.Sql/servers/databases/export/action` -Με αυτή την άδεια, μπορείτε να εξάγετε μια βάση δεδομένων από έναν Azure SQL Server σε έναν λογαριασμό αποθήκευσης. Ένας επιτιθέμενος ή εξουσιοδοτημένος χρήστης με αυτή την άδεια μπορεί να εξάγει ευαίσθητα δεδομένα από τη βάση δεδομένων εξάγοντας τα σε μια τοποθεσία που ελέγχουν, θέτοντας σε κίνδυνο μια σημαντική παραβίαση δεδομένων. Είναι σημαντικό να γνωρίζετε το κλειδί αποθήκευσης για να μπορέσετε να το εκτελέσετε αυτό. +Με αυτή την άδεια, μπορείτε να εξάγετε μια βάση δεδομένων από έναν Azure SQL Server σε έναν λογαριασμό αποθήκευσης. Ένας επιτιθέμενος ή εξουσιοδοτημένος χρήστης με αυτή την άδεια μπορεί να εξάγει ευαίσθητα δεδομένα από τη βάση δεδομένων εξάγοντας τα σε μια τοποθεσία που ελέγχει, θέτοντας σε κίνδυνο μια σημαντική διαρροή δεδομένων. Είναι σημαντικό να γνωρίζετε το κλειδί αποθήκευσης για να μπορέσετε να το εκτελέσετε αυτό. ```bash az sql db export \ --server \ @@ -87,4 +97,41 @@ az sql db import --admin-user \ --storage-key \ --storage-uri `https://.blob.core.windows.net/bacpac-container/MyDatabase.bacpac` ``` +### `Microsoft.Sql/servers/connectionPolicies/write` && `Microsoft.Sql/servers/connectionPolicies/read` + +Με αυτές τις άδειες, ένας χρήστης μπορεί να τροποποιήσει και να ανακτήσει τις πολιτικές σύνδεσης ενός Azure SQL server. Αυτές οι άδειες επιτρέπουν σε κάποιον να αλλάξει τον τρόπο που οι πελάτες συνδέονται στον server—επιλέγοντας μεταξύ μεθόδων όπως redirect ή proxy—που θα μπορούσε να εκμεταλλευτεί για να αποδυναμώσει την ασφάλεια, να ανακατευθύνει την κίνηση ή να παρεμποδίσει ευαίσθητα δεδομένα αν είναι κακώς ρυθμισμένο. +```bash +az sql server conn-policy update \ +--resource-group \ +--server \ +--connection-policy +``` +### `Microsoft.Sql/servers/keys/write` && `Microsoft.Sql/servers/keys/read` + +Με αυτές τις άδειες, ένας χρήστης μπορεί να ενημερώσει και να ανακτήσει τα κλειδιά κρυπτογράφησης που σχετίζονται με έναν Azure SQL Server. Αυτά τα κλειδιά χρησιμοποιούνται συχνά για την ασφάλιση ευαίσθητων δεδομένων μέσω κρυπτογράφησης, οπότε η χειραγώγησή τους θα μπορούσε να θέσει σε κίνδυνο την ασφάλεια των δεδομένων επιτρέποντας μη εξουσιοδοτημένη αποκρυπτογράφηση ή αλλαγές στην περιστροφή κλειδιών. +```bash +az sql server key create \ +--resource-group MyResourceGroup \ +--server MyServer \ +--kid "https://mykeyvault.vault.azure.net/keys/mykey/1234567890abcdef +``` +### `Microsoft.Sql/servers/databases/ledgerDigestUploads/disable/action`, `Microsoft.Sql/locations/ledgerDigestUploadsAzureAsyncOperation/read`, `Microsoft.Sql/locations/ledgerDigestUploadsOperationResults/read` + +Αυτή η άδεια επιτρέπει την απενεργοποίηση του Ledger Digest για μια Azure SQL Database, η οποία σταματά την περιοδική μεταφόρτωση κρυπτογραφικών αρχείων καταγραφής στο Azure Blob Storage που επαληθεύει την ακεραιότητα των δεδομένων. +```bash +az sql db ledger-digest-uploads disable \ +--name ledgerDB \ +--resource-group myResourceGroup \ +--server my-sql-server +``` +### `Microsoft.Sql/servers/databases/transparentDataEncryption/write`, `Microsoft.Sql/locations/transparentDataEncryptionAzureAsyncOperation/read`, `Microsoft.Sql/servers/databases/transparentDataEncryption/read` + +Αυτή η άδεια επιτρέπει σε έναν εξουσιοδοτημένο χρήστη ή επιτιθέμενο να ενεργοποιήσει, να απενεργοποιήσει ή να τροποποιήσει τις ρυθμίσεις Κρυπτογράφησης Διαφάνειας Δεδομένων (TDE) σε μια βάση δεδομένων Azure SQL, ενδεχομένως επηρεάζοντας την ασφάλεια των δεδομένων τροποποιώντας τις ρυθμίσεις κρυπτογράφησης. +```bash +az sql db tde set \ +--database \ +--resource-group \ +--server \ +--status +``` {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-container-instances-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-container-instances-privesc.md deleted file mode 100644 index e175cc226..000000000 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-container-instances-privesc.md +++ /dev/null @@ -1,64 +0,0 @@ -# Az - Azure Container Instances Privesc - -{{#include ../../../banners/hacktricks-training.md}} - -## Azure Container Instances - -Για περισσότερες πληροφορίες ελέγξτε: - -{{#ref}} -../az-services/az-container-instances.md -{{#endref}} - -### `Microsoft.ContainerInstance/containerGroups/read`, `Microsoft.ContainerInstance/containerGroups/containers/exec/action` - -Αυτές οι άδειες επιτρέπουν στον χρήστη να **εκτελεί μια εντολή** σε ένα τρέχον κοντέινερ. Αυτό μπορεί να χρησιμοποιηθεί για **αναβάθμιση δικαιωμάτων** στο κοντέινερ αν έχει οποιαδήποτε διαχειριζόμενη ταυτότητα συνδεδεμένη. Φυσικά, είναι επίσης δυνατό να αποκτήσετε πρόσβαση στον πηγαίο κώδικα και σε οποιαδήποτε άλλη ευαίσθητη πληροφορία αποθηκευμένη μέσα στο κοντέινερ. - -Για να εκτελέσετε ένα `ls` και να λάβετε την έξοδο είναι τόσο απλό όσο: -```bash -az container exec --name --resource-group --exec-command 'ls' -``` -Είναι επίσης δυνατό να **διαβάσετε την έξοδο** του κοντέινερ με: -```bash -az container attach --name --resource-group -``` -Ή αποκτήστε τα αρχεία καταγραφής με: -```bash -az container logs --name --resource-group -``` -### `Microsoft.ContainerInstance/containerGroups/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action` - -Αυτές οι άδειες επιτρέπουν να **συνδεθεί μια ταυτότητα που διαχειρίζεται ο χρήστης** σε μια ομάδα κοντέινερ. Αυτό είναι πολύ χρήσιμο για την αναβάθμιση δικαιωμάτων στο κοντέινερ. - -Για να συνδέσετε μια ταυτότητα που διαχειρίζεται ο χρήστης σε μια ομάδα κοντέινερ: -```bash -az rest \ ---method PATCH \ ---url "/subscriptions//resourceGroups//providers/Microsoft.ContainerInstance/containerGroups/?api-version=2021-09-01" \ ---body '{ -"identity": { -"type": "UserAssigned", -"userAssignedIdentities": { -"/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/": {} -} -} -}' \ ---headers "Content-Type=application/json" -``` -### `Microsoft.Resources/subscriptions/resourcegroups/read`, `Microsoft.ContainerInstance/containerGroups/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action` - -Αυτές οι άδειες επιτρέπουν να **δημιουργηθεί ή να ενημερωθεί μια ομάδα κοντέινερ** με μια **ταυτότητα διαχειριζόμενη από χρήστη** συνδεδεμένη σε αυτήν. Αυτό είναι πολύ χρήσιμο για την κλιμάκωση δικαιωμάτων στο κοντέινερ. -```bash -az container create \ ---resource-group > \ ---name nginx2 \ ---image mcr.microsoft.com/oss/nginx/nginx:1.9.15-alpine \ ---assign-identity "/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/" \ ---restart-policy OnFailure \ ---os-type Linux \ ---cpu 1 \ ---memory 1.0 -``` -Επιπλέον, είναι επίσης δυνατή η ενημέρωση μιας υπάρχουσας ομάδας κοντέινερ προσθέτοντας για παράδειγμα το **`--command-line` επιχείρημα** με ένα reverse shell. - -{{#include ../../../banners/hacktricks-training.md}} 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 388729ea9..43aaf6e88 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 @@ -56,8 +56,8 @@ az storage queue policy set --name --permissions rwd --expiry 2024- ``` ## Αναφορές -- https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues -- https://learn.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api -- https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes +- [https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues](https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues) +- [https://learn.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api](https://learn.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api) +- [https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes](https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes) {{#include ../../../banners/hacktricks-training.md}} 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 3ec91a218..8b32819cc 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 @@ -24,7 +24,7 @@ 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 ``` @@ -82,129 +82,204 @@ az servicebus queue authorization-rule update --resource-group --nam ```bash az servicebus namespace update --disable-local-auth false -n --resource-group ``` -### Αποστολή Μηνυμάτων με κλειδιά (Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action Ή Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action) +### Αποστολή Μηνυμάτων με κλειδιά (Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action OR Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action) -Μπορείτε να ανακτήσετε το `PrimaryConnectionString`, το οποίο λειτουργεί ως διαπιστευτήριο για το Service Bus namespace. Με αυτή τη σύνδεση, μπορείτε να αυθεντικοποιηθείτε πλήρως ως το Service Bus namespace, επιτρέποντάς σας να στείλετε μηνύματα σε οποιαδήποτε ουρά ή θέμα και ενδεχομένως να αλληλεπιδράσετε με το σύστημα με τρόπους που θα μπορούσαν να διαταράξουν τις λειτουργίες, να προσποιηθείτε έγκυρους χρήστες ή να εισάγετε κακόβουλα δεδομένα στη ροή μηνυμάτων. +Μπορείτε να ανακτήσετε το `PrimaryConnectionString`, το οποίο λειτουργεί ως διαπιστευτήριο για το Service Bus namespace. Με αυτή τη σύνδεση, μπορείτε να αυθεντικοποιηθείτε πλήρως ως το Service Bus namespace, επιτρέποντάς σας να στείλετε μηνύματα σε οποιαδήποτε ουρά ή θέμα και ενδεχομένως να αλληλεπιδράσετε με το σύστημα με τρόπους που θα μπορούσαν να διαταράξουν τις λειτουργίες, να προσποιηθούν έγκυρους χρήστες ή να εισάγουν κακόβουλα δεδομένα στη ροή μηνυμάτων. Αυτή η μέθοδος λειτουργεί αν το `--disable-local-auth` είναι ρυθμισμένο σε false. ```python -#You need to install the following libraries -#pip install azure-servicebus -#pip install aiohttp -#pip install azure-identity - import asyncio from azure.servicebus.aio import ServiceBusClient from azure.servicebus import ServiceBusMessage -# Constants NAMESPACE_CONNECTION_STR = "" -TOPIC_NAME = "" +TOPIC_OR_QUEUE_NAME = "" -# Function to send a single message to a Service Bus topic -async def send_individual_message(publisher): -# Prepare a single message with updated content -single_message = ServiceBusMessage("Hacktricks-Training: Single Item") -# Send the message to the topic -await publisher.send_messages(single_message) -print("Sent a single message containing 'Hacktricks-Training'") +async def send_message(): +async with ServiceBusClient.from_connection_string(NAMESPACE_CONNECTION_STR) as client: +async with client.get_topic_sender(topic_name=TOPIC_OR_QUEUE_NAME) as sender: +await sender.send_messages(ServiceBusMessage("Hacktricks-Training: Single Item")) +print("Sent message") -# Function to send multiple messages to a Service Bus topic -async def send_multiple_messages(publisher): -# Generate a collection of messages with updated content -message_list = [ServiceBusMessage(f"Hacktricks-Training: Item {i+1} in list") for i in range(5)] -# Send the entire collection of messages to the topic -await publisher.send_messages(message_list) -print("Sent a list of 5 messages containing 'Hacktricks-Training'") +asyncio.run(send_message()) +``` +Επιπλέον, μπορείτε να στείλετε μηνύματα με az rest, σε αυτή την περίπτωση χρειάζεται να δημιουργήσετε ένα sas token για να το χρησιμοποιήσετε. +```python +import time, urllib.parse, hmac, hashlib, base64 -# Function to send a grouped batch of messages to a Service Bus topic -async def send_grouped_messages(publisher): -# Send a grouped batch of messages with updated content -async with publisher: -grouped_message_batch = await publisher.create_message_batch() -for i in range(10): -try: -# Append a message to the batch with updated content -grouped_message_batch.add_message(ServiceBusMessage(f"Hacktricks-Training: Item {i+1}")) -except ValueError: -# If batch reaches its size limit, handle by creating another batch -break -# Dispatch the batch of messages to the topic -await publisher.send_messages(grouped_message_batch) -print("Sent a batch of 10 messages containing 'Hacktricks-Training'") +def generate_sas_token(uri, key_name, key, expiry_in_seconds=3600): +expiry = int(time.time() + expiry_in_seconds) +string_to_sign = urllib.parse.quote_plus(uri) + "\n" + str(expiry) +signed_hmac_sha256 = hmac.new(key.encode('utf-8'), string_to_sign.encode('utf-8'), hashlib.sha256).digest() +signature = urllib.parse.quote_plus(base64.b64encode(signed_hmac_sha256)) +token = f"SharedAccessSignature sr={urllib.parse.quote_plus(uri)}&sig={signature}&se={expiry}&skn={key_name}" +return token -# Main function to execute all tasks -async def execute(): -# Instantiate the Service Bus client with the connection string -async with ServiceBusClient.from_connection_string( -conn_str=NAMESPACE_CONNECTION_STR, -logging_enable=True) as sb_client: -# Create a topic sender for dispatching messages to the topic -publisher = sb_client.get_topic_sender(topic_name=TOPIC_NAME) -async with publisher: -# Send a single message -await send_individual_message(publisher) -# Send multiple messages -await send_multiple_messages(publisher) -# Send a batch of messages -await send_grouped_messages(publisher) +# Replace these with your actual values +resource_uri = "https://.servicebus.windows.net/" +key_name = "" +primary_key = "" -# Run the asynchronous execution -asyncio.run(execute()) -print("Messages Sent") -print("----------------------------") +sas_token = generate_sas_token(resource_uri, key_name, primary_key) +print(sas_token) +``` + +```bash +az rest --method post \ +--uri "https://.servicebus.windows.net//messages" \ +--headers "Content-Type=application/atom+xml;type=entry;charset=utf-8" "Authorization=SharedAccessSignature sr=https%3A%2F%2F.servicebus.windows.net%2F&sig=&se=&skn=" \ +--body "" ``` ### Λάβετε με κλειδιά (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, επιτρέποντας την πρόσβαση σε δυνητικά ευαίσθητα ή κρίσιμα δεδομένα, διευκολύνοντας την εξαγωγή δεδομένων ή παρεμβαίνοντας στη διαδικασία επεξεργασίας μηνυμάτων και στις ροές εργασίας εφαρμογών. Αυτή η μέθοδος λειτουργεί αν το `--disable-local-auth` είναι ρυθμισμένο σε false. ```python -#You need to install the following libraries -#pip install azure-servicebus -#pip install aiohttp -#pip install azure-identity - import asyncio from azure.servicebus.aio import ServiceBusClient -NAMESPACE_CONNECTION_STR = "" -TOPIC_NAME = "" -SUBSCRIPTION_NAME = "" #Topic Subscription +CONN_STR = "" +QUEUE = "" -# Function to receive and process messages from a Service Bus subscription -async def receive_and_process_messages(): -# Create a Service Bus client using the connection string -async with ServiceBusClient.from_connection_string( -conn_str=NAMESPACE_CONNECTION_STR, -logging_enable=True) as servicebus_client: +# For topics/subscriptions, you would use: +# TOPIC = "" +# SUBSCRIPTION = "" -# Get the Subscription Receiver object for the specified topic and subscription -receiver = servicebus_client.get_subscription_receiver( -topic_name=TOPIC_NAME, -subscription_name=SUBSCRIPTION_NAME, -max_wait_time=5 -) - -async with receiver: -# Receive messages with a defined maximum wait time and count -received_msgs = await receiver.receive_messages( -max_wait_time=5, -max_message_count=20 -) -for msg in received_msgs: -print("Received: " + str(msg)) -# Complete the message to remove it from the subscription +async def receive(): +async with ServiceBusClient.from_connection_string(CONN_STR) as client: +# For a queue receiver: +async with client.get_queue_receiver(queue_name=QUEUE, max_wait_time=5) as receiver: +msgs = await receiver.receive_messages(max_wait_time=5, max_message_count=20) +for msg in msgs: +print("Received:", msg) await receiver.complete_message(msg) -# Run the asynchronous message processing function -asyncio.run(receive_and_process_messages()) -print("Message Receiving Completed") -print("----------------------------") +# For a topic/subscription receiver (commented out): +# async with client.get_subscription_receiver(topic_name=TOPIC, subscription_name=SUBSCRIPTION, max_wait_time=5) as receiver: +# msgs = await receiver.receive_messages(max_wait_time=5, max_message_count=20) +# for msg in msgs: +# print("Received:", msg) +# await receiver.complete_message(msg) + +asyncio.run(receive()) +print("Done receiving messages") +``` +Επιπλέον, μπορείτε να στείλετε μηνύματα με az rest, σε αυτή την περίπτωση χρειάζεται να δημιουργήσετε ένα sas token για να το χρησιμοποιήσετε. +```python +import time, urllib.parse, hmac, hashlib, base64 + +def generate_sas_token(uri, key_name, key, expiry_in_seconds=3600): +expiry = int(time.time() + expiry_in_seconds) +string_to_sign = urllib.parse.quote_plus(uri) + "\n" + str(expiry) +signature = urllib.parse.quote_plus(base64.b64encode( +hmac.new(key.encode('utf-8'), string_to_sign.encode('utf-8'), hashlib.sha256).digest() +)) +token = f"SharedAccessSignature sr={urllib.parse.quote_plus(uri)}&sig={signature}&se={expiry}&skn={key_name}" +return token + +# Example usage: +resource_uri = "https://.servicebus.windows.net/queue" # For queue +# resource_uri = "https://.servicebus.windows.net//subscriptions/" # For topic subscription +sas_token = generate_sas_token(resource_uri, "", "") +print(sas_token) + +``` +Για μια ουρά μπορείτε να αποκτήσετε ή να ρίξετε μια ματιά στο μήνυμα (η απόκτηση μηνυμάτων θα τα αφαιρέσει, ενώ η ρίψη ματιάς δεν θα το κάνει): +```bash +#Get a message +az rest --method post \ +--uri "https://.servicebus.windows.net//messages/head?timeout=60" \ +--headers "Content-Type=application/atom+xml;type=entry;charset=utf-8" "Authorization=SharedAccessSignature sr=&sig=&se=&skn=" + +#Peek a message +az rest --method get \ +--uri "https://.servicebus.windows.net//messages/head?peekonly=true&timeout=60" \ +--headers "Authorization=SharedAccessSignature sr=&sig=&se=&skn=" + +#You can select the meesage changing the field PreviousSequenceNumber +az rest --method get \ +--uri "https://.servicebus.windows.net//messages?timeout=60&PreviousSequenceNumber=&api-version=2017-04" \ +--headers "Authorization=SharedAccessSignature sr=&sig=&se=&skn=" +``` +Please provide the text you would like translated. +```bash +#Get a message +az rest --method post \ +--uri "https://.servicebus.windows.net//subscriptions//messages/head?timeout=60" \ +--headers "Content-Type=application/atom+xml;type=entry;charset=utf-8" "Authorization=SharedAccessSignature sr=&sig=&se=&skn=" + +#Peek a message +az rest --method get \ +--uri "https://.servicebus.windows.net//subscriptions//messages/head?timeout=60&api-version=2017-04" \ +--headers "Authorization=SharedAccessSignature sr=&sig=&se=&skn=" + +#You can select the meesage changing the field PreviousSequenceNumber +az rest --method get \ +--uri "https://.servicebus.windows.net//subscriptions//messages?timeout=60&PreviousSequenceNumber=&api-version=2017-04" \ +--headers "Authorization=SharedAccessSignature sr=&sig=&se=&skn=" +``` +### Αποστολή Μηνυμάτων. DataActions: `Microsoft.ServiceBus/namespaces/messages/send/action` + +Μπορείτε να χρησιμοποιήσετε αυτές τις άδειες για να στείλετε μηνύματα, ακόμη και αν το `--disable-local-auth` είναι ρυθμισμένο σε true. +```python +import asyncio +from azure.identity.aio import DefaultAzureCredential +from azure.servicebus.aio import ServiceBusClient +from azure.servicebus import ServiceBusMessage + +NS = ".servicebus.windows.net" # Your namespace +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_queue_sender(queue_name=QUEUE) as sender: +await sender.send_messages(ServiceBusMessage("Single Message")) +print("Sent a single message") +await credential.close() + +if __name__ == "__main__": +asyncio.run(run()) +``` +### Λάβετε Μηνύματα. DataActions: `Microsoft.ServiceBus/namespaces/messages/receive/action` + +Μπορείτε να χρησιμοποιήσετε αυτές τις άδειες για να λάβετε μηνύματα, ακόμη και αν το `--disable-local-auth` είναι ρυθμισμένο σε true. +```python +import asyncio +from azure.identity.aio import DefaultAzureCredential +from azure.servicebus.aio import ServiceBusClient + +NS = ".servicebus.windows.net" +QUEUE = "" + +# For a topic subscription, uncomment and set these values: +# TOPIC = "" +# SUBSCRIPTION = "" + +async def run(): +credential = DefaultAzureCredential() +async with ServiceBusClient(fully_qualified_namespace=NS, credential=credential) as client: +# Receiving from a queue: +async with client.get_queue_receiver(queue_name=QUEUE, max_wait_time=5) as receiver: +async for msg in receiver: +print("Received from Queue:", msg) +await receiver.complete_message(msg) + +# To receive from a topic subscription, uncomment the code below and comment out the queue receiver above: +# async with client.get_subscription_receiver(topic_name=TOPIC, subscription_name=SUBSCRIPTION, max_wait_time=5) as receiver: +# async for msg in receiver: +# print("Received from Topic Subscription:", msg) +# await receiver.complete_message(msg) + +await credential.close() + +asyncio.run(run()) +print("Done receiving messages") ``` ## Αναφορές -- https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues -- https://learn.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api -- https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes -- https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-python-how-to-use-topics-subscriptions?tabs=passwordless -- https://learn.microsoft.com/en-us/azure/role-based-access-control/permissions/integration#microsoftservicebus +- [https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues](https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues) +- [https://learn.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api](https://learn.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api) +- [https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes](https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes) +- [https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-python-how-to-use-topics-subscriptions?tabs=passwordless](https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-python-how-to-use-topics-subscriptions?tabs=passwordless) +- [https://learn.microsoft.com/en-us/azure/role-based-access-control/permissions/integration#microsoftservicebus](https://learn.microsoft.com/en-us/azure/role-based-access-control/permissions/integration#microsoftservicebus) {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-sql-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-sql-privesc.md index 01c4202d5..ba3ab67fe 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-sql-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-sql-privesc.md @@ -12,7 +12,7 @@ ### `Microsoft.Sql/servers/read` && `Microsoft.Sql/servers/write` -Με αυτές τις άδειες, ένας χρήστης μπορεί να εκτελέσει κλιμάκωση προνομίων ενημερώνοντας ή δημιουργώντας Azure SQL servers και τροποποιώντας κρίσιμες ρυθμίσεις, συμπεριλαμβανομένων των διαπιστευτηρίων διαχειριστή. Αυτή η άδεια επιτρέπει στον χρήστη να ενημερώνει τις ιδιότητες του διακομιστή, συμπεριλαμβανομένου του κωδικού πρόσβασης του διαχειριστή SQL, επιτρέποντας μη εξουσιοδοτημένη πρόσβαση ή έλεγχο του διακομιστή. Μπορούν επίσης να δημιουργήσουν νέους διακομιστές, ενδεχομένως εισάγοντας σκιασμένη υποδομή για κακόβουλους σκοπούς. Αυτό γίνεται ιδιαίτερα κρίσιμο σε περιβάλλοντα όπου η "Microsoft Entra Authentication Only" είναι απενεργοποιημένη, καθώς μπορούν να εκμεταλλευτούν την SQL-based authentication για να αποκτήσουν απεριόριστη πρόσβαση. +Με αυτές τις άδειες, ένας χρήστης μπορεί να εκτελέσει κλιμάκωση προνομίων ενημερώνοντας ή δημιουργώντας Azure SQL servers και τροποποιώντας κρίσιμες ρυθμίσεις, συμπεριλαμβανομένων των διαπιστευτηρίων διαχειριστή. Αυτή η άδεια επιτρέπει στον χρήστη να ενημερώνει τις ιδιότητες του διακομιστή, συμπεριλαμβανομένου του κωδικού πρόσβασης του διαχειριστή SQL server, επιτρέποντας μη εξουσιοδοτημένη πρόσβαση ή έλεγχο του διακομιστή. Μπορούν επίσης να δημιουργήσουν νέους διακομιστές, ενδεχομένως εισάγοντας σκιασμένη υποδομή για κακόβουλους σκοπούς. Αυτό γίνεται ιδιαίτερα κρίσιμο σε περιβάλλοντα όπου η "Microsoft Entra Authentication Only" είναι απενεργοποιημένη, καθώς μπορούν να εκμεταλλευτούν την SQL-based authentication για να αποκτήσουν απεριόριστη πρόσβαση. ```bash # Change the server password az sql server update \ @@ -26,7 +26,7 @@ az sql server create \ --resource-group \ --location \ --admin-user \ ---admin-password +--admin-password ``` Επιπλέον, είναι απαραίτητο να έχετε ενεργοποιημένη την δημόσια πρόσβαση αν θέλετε να έχετε πρόσβαση από ένα μη ιδιωτικό σημείο, για να το ενεργοποιήσετε: ```bash @@ -35,9 +35,34 @@ az sql server update \ --resource-group \ --enable-public-network true ``` +Επιπλέον, με τα δικαιώματα μπορείτε να ενεργοποιήσετε την εκχώρηση ταυτότητας, να λειτουργήσετε με την διαχειριζόμενη ταυτότητα που είναι συνδεδεμένη με τον διακομιστή. Για παράδειγμα εδώ με μια διαχειριζόμενη ταυτότητα που μπορεί να έχει πρόσβαση στο Azure Storage: +```bash +az sql server update \ +--name \ +--resource-group \ +--assign_identity +``` + +```sql +CREATE EXTERNAL DATA SOURCE ManagedIdentity +WITH ( +TYPE = BLOB_STORAGE, +LOCATION = 'https://.blob.core.windows.net/', +CREDENTIAL = ManagedIdentityCredential +); +GO + +SELECT * +FROM OPENROWSET( +BULK 'message.txt', +DATA_SOURCE = 'ManagedIdentity', +SINGLE_CLOB +) AS DataFile; +GO +``` ### `Microsoft.Sql/servers/firewallRules/write` -Ένας επιτιθέμενος μπορεί να χειριστεί τους κανόνες τείχους προστασίας στους Azure SQL servers για να επιτρέψει μη εξουσιοδοτημένη πρόσβαση. Αυτό μπορεί να εκμεταλλευτεί για να ανοίξει τον διακομιστή σε συγκεκριμένες διευθύνσεις IP ή σε ολόκληρες περιοχές διευθύνσεων IP, συμπεριλαμβανομένων των δημόσιων IPs, επιτρέποντας την πρόσβαση σε κακόβουλους παράγοντες. Αυτή η δραστηριότητα μετά την εκμετάλλευση μπορεί να χρησιμοποιηθεί για να παρακάμψει τους υπάρχοντες ελέγχους ασφάλειας δικτύου, να εδραιώσει την επιμονή ή να διευκολύνει την πλευρική κίνηση μέσα στο περιβάλλον εκθέτοντας ευαίσθητους πόρους. +Ένας επιτιθέμενος μπορεί να χειριστεί τους κανόνες τείχους προστασίας στους Azure SQL servers για να επιτρέψει μη εξουσιοδοτημένη πρόσβαση. Αυτό μπορεί να εκμεταλλευτεί για να ανοίξει τον διακομιστή σε συγκεκριμένες διευθύνσεις IP ή σε ολόκληρες περιοχές διευθύνσεων IP, συμπεριλαμβανομένων των δημόσιων IP, επιτρέποντας την πρόσβαση σε κακόβουλους παράγοντες. Αυτή η δραστηριότητα μετά την εκμετάλλευση μπορεί να χρησιμοποιηθεί για να παρακαμφθούν οι υπάρχοντες ελέγχοι ασφάλειας δικτύου, να καθιερωθεί επιμονή ή να διευκολυνθεί η πλευρική κίνηση μέσα στο περιβάλλον εκθέτοντας ευαίσθητους πόρους. ```bash # Create Firewall Rule az sql server firewall-rule create \ @@ -74,7 +99,7 @@ az sql server firewall-rule create \ ### `Microsoft.Sql/servers/administrators/write` && `Microsoft.Sql/servers/administrators/read` -Με αυτές τις άδειες μπορείτε να αποκτήσετε δικαιώματα σε ένα περιβάλλον Azure SQL Server, αποκτώντας πρόσβαση σε SQL βάσεις δεδομένων και ανακτώντας κρίσιμες πληροφορίες. Χρησιμοποιώντας την παρακάτω εντολή, ένας επιτιθέμενος ή εξουσιοδοτημένος χρήστης μπορεί να ορίσει τον εαυτό του ή έναν άλλο λογαριασμό ως διαχειριστή Azure AD. Εάν είναι ενεργοποιημένη η "Μόνο Αυθεντικοποίηση Microsoft Entra", μπορείτε να αποκτήσετε πρόσβαση στον διακομιστή και τις παρουσίες του. Ακολουθεί η εντολή για να ορίσετε τον διαχειριστή Azure AD για έναν SQL διακομιστή: +Με αυτές τις άδειες μπορείτε να κάνετε privesc σε ένα περιβάλλον Azure SQL Server αποκτώντας πρόσβαση σε SQL βάσεις δεδομένων και ανακτώντας κρίσιμες πληροφορίες. Χρησιμοποιώντας την παρακάτω εντολή, ένας επιτιθέμενος ή εξουσιοδοτημένος χρήστης μπορεί να ορίσει τον εαυτό του ή έναν άλλο λογαριασμό ως τον διαχειριστή Azure AD. Εάν είναι ενεργοποιημένη η "Μόνο Αυθεντικοποίηση Microsoft Entra", μπορείτε να αποκτήσετε πρόσβαση στον διακομιστή και τις παρουσίες του. Ακολουθεί η εντολή για να ορίσετε τον διαχειριστή Azure AD για έναν SQL διακομιστή: ```bash az sql server ad-admin create \ --server \ diff --git a/src/pentesting-cloud/azure-security/az-services/az-container-instances.md b/src/pentesting-cloud/azure-security/az-services/az-container-instances.md deleted file mode 100644 index 6ae53e488..000000000 --- a/src/pentesting-cloud/azure-security/az-services/az-container-instances.md +++ /dev/null @@ -1,45 +0,0 @@ -# Az - Container Instances - -{{#include ../../../banners/hacktricks-training.md}} - -## Basic Information - -Azure Container Instances (ACI) παρέχουν έναν **serverless, on-demand τρόπο** για να τρέχετε **containers** στο Azure cloud. Μπορείτε να **deploy** έναν ή πολλούς containers σε μια ομάδα με **scalable compute**, **networking options**, και την ευελιξία να συνδεθείτε με **άλλες υπηρεσίες Azure** (όπως Storage, Virtual Networks, ή Container Registries). - -Καθώς είναι **ephemeral** workloads, δεν χρειάζεται να διαχειρίζεστε την υποκείμενη υποδομή VM — το Azure το διαχειρίζεται για εσάς. Ωστόσο, από μια **offensive security perspective**, είναι κρίσιμο να κατανοήσετε πώς οι **permissions**, οι **identities**, οι **network configurations**, και τα **logs** μπορούν να αποκαλύψουν επιφάνειες επίθεσης και πιθανές κακοδιαμορφώσεις. - -### Configurations - -- Για να δημιουργήσετε έναν container, είναι δυνατόν να χρησιμοποιήσετε μια δημόσια εικόνα, μια εικόνα container από ένα Azure Container Registry ή ένα εξωτερικό αποθετήριο, το οποίο μπορεί να **απαιτεί να ρυθμίσετε έναν κωδικό πρόσβασης** για να έχετε πρόσβαση σε αυτό. -- Όσον αφορά το networking, μπορεί επίσης να έχει μια **δημόσια IP** ή να είναι **private endpoints**. -- Είναι επίσης δυνατόν να ρυθμίσετε κοινές ρυθμίσεις docker όπως: -- **Environment variables** -- **Volumes** (ακόμα και από Azure Files) -- **Ports** -- **CPU and memory limits** -- **Restart policy** -- **Run as privileged** -- **Command line to run** -- ... - -## Enumeration - -> [!WARNING] -> Όταν κάνετε enumeration ACI, μπορείτε να αποκαλύψετε ευαίσθητες ρυθμίσεις όπως **environment variables**, **network details**, ή **managed identities**. Να είστε προσεκτικοί με την καταγραφή ή την εμφάνισή τους. -```bash -# List all container instances in the subscription -az container list - -# Show detailed information about a specific container instance -az container show --name --resource-group - -# Fetch logs from a container -az container logs --name --resource-group - -# Execute a command in a running container and get the output -az container exec --name --resource-group --exec-command "ls" - -# Get yaml configuration of the container group -az container export --name --resource-group -``` - diff --git a/src/pentesting-cloud/azure-security/az-services/az-queue-enum.md b/src/pentesting-cloud/azure-security/az-services/az-queue-enum.md index 131124ad2..df82ae582 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-queue-enum.md +++ b/src/pentesting-cloud/azure-security/az-services/az-queue-enum.md @@ -4,7 +4,7 @@ ## Basic Information -Η Azure Queue Storage είναι μια υπηρεσία στην πλατφόρμα cloud της Microsoft Azure σχεδιασμένη για την ουρά μηνυμάτων μεταξύ των συστατικών εφαρμογών, **επιτρέποντας ασύγχρονη επικοινωνία και αποσύνδεση**. Σας επιτρέπει να αποθηκεύετε έναν απεριόριστο αριθμό μηνυμάτων, το καθένα έως 64 KB σε μέγεθος, και υποστηρίζει λειτουργίες όπως η δημιουργία και η διαγραφή ουρών, η προσθήκη, η ανάκτηση, η ενημέρωση και η διαγραφή μηνυμάτων, καθώς και η διαχείριση μεταδεδομένων και πολιτικών πρόσβασης. Ενώ συνήθως επεξεργάζεται τα μηνύματα με τη μέθοδο πρώτου εισερχόμενου-πρώτου εξερχόμενου (FIFO), η αυστηρή FIFO δεν εγγυάται. +Η Azure Queue Storage είναι μια υπηρεσία στην πλατφόρμα cloud της Microsoft Azure σχεδιασμένη για την ουρά μηνυμάτων μεταξύ των συστατικών εφαρμογών, **επιτρέποντας ασύγχρονη επικοινωνία και αποσύνδεση**. Σας επιτρέπει να αποθηκεύετε έναν απεριόριστο αριθμό μηνυμάτων, το καθένα με μέγεθος έως 64 KB, και υποστηρίζει λειτουργίες όπως η δημιουργία και η διαγραφή ουρών, η προσθήκη, η ανάκτηση, η ενημέρωση και η διαγραφή μηνυμάτων, καθώς και η διαχείριση μεταδεδομένων και πολιτικών πρόσβασης. Ενώ συνήθως επεξεργάζεται τα μηνύματα με τη μέθοδο πρώτου εισερχόμενου-πρώτου εξερχόμενου (FIFO), η αυστηρή FIFO δεν είναι εγγυημένη. ### Enumeration @@ -84,8 +84,8 @@ $queueMessage.Value ## Αναφορές -- https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues -- https://learn.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api -- https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes +- [https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues](https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues) +- [https://learn.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api](https://learn.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api) +- [https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes](https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes) {{#include ../../../banners/hacktricks-training.md}} 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 d238341db..750f97d50 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,27 +4,31 @@ ## Service Bus -Το Azure Service Bus είναι μια υπηρεσία **μηνυμάτων** που βασίζεται στο cloud, σχεδιασμένη για να επιτρέπει αξιόπιστη **επικοινωνία μεταξύ διαφορετικών τμημάτων μιας εφαρμογής ή ξεχωριστών εφαρμογών**. Λειτουργεί ως ασφαλής μεσάζων, διασφαλίζοντας ότι τα μηνύματα παραδίδονται με ασφάλεια, ακόμη και αν ο αποστολέας και ο παραλήπτης δεν λειτουργούν ταυτόχρονα. Αποσυνδέοντας τα συστήματα, επιτρέπει στις εφαρμογές να λειτουργούν ανεξάρτητα ενώ εξακολουθούν να ανταλλάσσουν δεδομένα ή οδηγίες. Είναι ιδιαίτερα χρήσιμο για σενάρια που απαιτούν κατανομή φορτίου σε πολλούς εργαζόμενους, αξιόπιστη παράδοση μηνυμάτων ή πολύπλοκο συντονισμό, όπως η επεξεργασία εργασιών με σειρά ή η ασφαλής διαχείριση πρόσβασης. +Azure Service Bus είναι μια υπηρεσία **μηνυμάτων** που βασίζεται στο cloud και έχει σχεδιαστεί για να επιτρέπει αξιόπιστη **επικοινωνία μεταξύ διαφορετικών τμημάτων μιας εφαρμογής ή ξεχωριστών εφαρμογών**. Λειτουργεί ως ασφαλής μεσάζων, διασφαλίζοντας ότι τα μηνύματα παραδίδονται με ασφάλεια, ακόμη και αν ο αποστολέας και ο παραλήπτης δεν λειτουργούν ταυτόχρονα. Αποσυνδέοντας τα συστήματα, επιτρέπει στις εφαρμογές να λειτουργούν ανεξάρτητα ενώ εξακολουθούν να ανταλλάσσουν δεδομένα ή οδηγίες. Είναι ιδιαίτερα χρήσιμο σε σενάρια που απαιτούν κατανομή φορτίου σε πολλούς εργαζόμενους, αξιόπιστη παράδοση μηνυμάτων ή σύνθετο συντονισμό, όπως η επεξεργασία εργασιών με σειρά ή η ασφαλής διαχείριση πρόσβασης. ### Key Concepts -1. **Queues:** ο σκοπός του είναι να αποθηκεύει μηνύματα μέχρι να είναι έτοιμος ο παραλήπτης. -- Τα μηνύματα είναι διατεταγμένα, χρονοσημασμένα και αποθηκεύονται με ανθεκτικότητα. +1. **Namespaces:** Ένας χώρος ονομάτων σε συστήματα μηνυμάτων είναι ένα λογικό δοχείο που οργανώνει και διαχειρίζεται τα συστατικά μηνυμάτων, τις ουρές και τα θέματα. Παρέχει ένα απομονωμένο περιβάλλον όπου οι εφαρμογές μπορούν να στέλνουν, να λαμβάνουν και να επεξεργάζονται μηνύματα. Οι ουρές και τα θέματα μοιράζονται την ίδια υποδομή και ρύθμιση εντός ενός χώρου ονομάτων Service Bus, αλλά λειτουργούν ανεξάρτητα χωρίς να αλληλεπιδρούν μεταξύ τους. +2. **Queues:** ο σκοπός της είναι να αποθηκεύει μηνύματα μέχρι να είναι έτοιμος ο παραλήπτης. +- Τα μηνύματα είναι ταξινομημένα, χρονοσημανμένα και αποθηκεύονται με ανθεκτικότητα. - Παραδίδονται σε λειτουργία pull (ανάκτηση κατόπιν αιτήματος). - Υποστηρίζει επικοινωνία σημείου προς σημείο. -2. **Topics:** Μηχανισμός δημοσίευσης-εγγραφής για μετάδοση. -- Πολλές ανεξάρτητες συνδρομές λαμβάνουν αντίγραφα μηνυμάτων. -- Οι συνδρομές μπορούν να έχουν κανόνες/φίλτρα για τον έλεγχο της παράδοσης ή την προσθήκη μεταδεδομένων. +3. **Topics:** Μηνύματα δημοσίευσης-εγγραφής για μετάδοση. +- Πολλές ανεξάρτητες εγγραφές λαμβάνουν αντίγραφα μηνυμάτων. +- Οι εγγραφές μπορούν να έχουν κανόνες/φίλτρα για τον έλεγχο της παράδοσης ή την προσθήκη μεταδεδομένων. - Υποστηρίζει επικοινωνία πολλών προς πολλούς. -3. **Namespaces:** Ένας κάδος για όλα τα συστατικά μηνυμάτων, ουρές και θέματα, είναι σαν το δικό σας κομμάτι ενός ισχυρού Azure cluster, παρέχοντας αφιερωμένη χωρητικότητα και προαιρετικά εκτείνοντας σε τρεις ζώνες διαθεσιμότητας. -### Advance Features +Η διεύθυνση/σύνδεσμος του service bus είναι: +```bash +https://.servicebus.windows.net:443/ +``` +### Προχωρημένα Χαρακτηριστικά -Ορισμένες προηγμένες δυνατότητες είναι: +Ορισμένα προχωρημένα χαρακτηριστικά είναι: - **Message Sessions**: Διασφαλίζει την επεξεργασία FIFO και υποστηρίζει πρότυπα αιτήματος-απάντησης. -- **Auto-Forwarding**: Μεταφέρει μηνύματα μεταξύ ουρών ή θεμάτων στην ίδια ζώνη ονομάτων. -- **Dead-Lettering**: Καταγράφει τα μη παραδιδόμενα μηνύματα για ανασκόπηση. +- **Auto-Forwarding**: Μεταφέρει μηνύματα μεταξύ ουρών ή θεμάτων στην ίδια οντότητα. +- **Dead-Lettering**: Καταγράφει μη παραδιδόμενα μηνύματα για ανασκόπηση. - **Scheduled Delivery**: Καθυστερεί την επεξεργασία μηνυμάτων για μελλοντικές εργασίες. - **Message Deferral**: Αναβάλλει την ανάκτηση μηνυμάτων μέχρι να είναι έτοιμα. - **Transactions**: Ομαδοποιεί τις λειτουργίες σε ατομική εκτέλεση. @@ -35,19 +39,24 @@ ### Authorization-Rule / SAS Policy -Οι πολιτικές SAS καθορίζουν τα δικαιώματα πρόσβασης για τις οντότητες του Azure Service Bus namespace (Το πιο σημαντικό), τις ουρές και τα θέματα. Κάθε πολιτική έχει τα εξής στοιχεία: +Οι πολιτικές SAS καθορίζουν τα δικαιώματα πρόσβασης για τις οντότητες του Azure Service Bus (Πιο Σημαντική), τις ουρές και τα θέματα. Κάθε πολιτική έχει τα εξής στοιχεία: - **Permissions**: Επιλογές για να καθορίσετε τα επίπεδα πρόσβασης: - Manage: Παρέχει πλήρη έλεγχο της οντότητας, συμπεριλαμβανομένης της διαχείρισης ρυθμίσεων και δικαιωμάτων. - Send: Επιτρέπει την αποστολή μηνυμάτων στην οντότητα. - Listen: Επιτρέπει την λήψη μηνυμάτων από την οντότητα. -- **Primary and Secondary Keys**: Αυτά είναι κρυπτογραφικά κλειδιά που χρησιμοποιούνται για τη δημιουργία ασφαλών tokens για την αυθεντικοποίηση πρόσβασης. +- **Primary and Secondary Keys**: Αυτά είναι κρυπτογραφικά κλειδιά που χρησιμοποιούνται για τη δημιουργία ασφαλών τοκέν για την αυθεντικοποίηση πρόσβασης. - **Primary and Secondary Connection Strings**: Προρυθμισμένες συμβολοσειρές σύνδεσης που περιλαμβάνουν το endpoint και το κλειδί για εύκολη χρήση σε εφαρμογές. - **SAS Policy ARM ID**: Η διαδρομή Azure Resource Manager (ARM) προς την πολιτική για προγραμματιστική αναγνώριση. -### NameSpace +Είναι σημαντικό να σημειωθεί ότι μια οντότητα έχει μία μόνο πολιτική SAS που επηρεάζει κάθε οντότητα εντός της, ενώ οι ουρές και τα θέματα μπορούν να έχουν τις δικές τους ατομικές πολιτικές SAS για πιο λεπτομερή έλεγχο. -sku, authrorization rule, +### "--disable-local-auth" + +Η παράμετρος --disable-local-auth χρησιμοποιείται για να ελέγξει αν η τοπική αυθεντικοποίηση (δηλαδή, η χρήση κλειδιών Shared Access Signature (SAS)) είναι ενεργοποιημένη για την οντότητα Service Bus σας. Ακολουθούν όσα πρέπει να γνωρίζετε: + +- Όταν οριστεί σε true: Η τοπική αυθεντικοποίηση με κλειδιά SAS είναι απενεργοποιημένη και επιτρέπεται η αυθεντικοποίηση μέσω Azure Active Directory (Azure AD). +- Όταν οριστεί σε false: Και οι δύο αυθεντικοποιήσεις SAS (τοπική) και Azure AD είναι διαθέσιμες και μπορείτε να χρησιμοποιήσετε συμβολοσειρές σύνδεσης με κλειδιά SAS για να αποκτήσετε πρόσβαση στους πόρους Service Bus σας. ### Enumeration 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 850593c9c..9c7dc5d84 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-sql.md +++ b/src/pentesting-cloud/azure-security/az-services/az-sql.md @@ -6,88 +6,142 @@ Το Azure SQL είναι μια οικογένεια διαχειριζόμενων, ασφαλών και έξυπνων προϊόντων που χρησιμοποιούν την **μηχανή βάσης δεδομένων SQL Server στο Azure cloud**. Αυτό σημαίνει ότι δεν χρειάζεται να ανησυχείτε για τη φυσική διαχείριση των διακομιστών σας και μπορείτε να εστιάσετε στη διαχείριση των δεδομένων σας. -Το Azure SQL αποτελείται από τρεις κύριες προσφορές: +Το Azure SQL αποτελείται από τέσσερις κύριες προσφορές: -1. **Azure SQL Database**: Αυτή είναι μια **πλήρως διαχειριζόμενη υπηρεσία βάσης δεδομένων**, που σας επιτρέπει να φιλοξενείτε μεμονωμένες βάσεις δεδομένων στο Azure cloud. Προσφέρει ενσωματωμένη νοημοσύνη που μαθαίνει τα μοναδικά πρότυπα της βάσης δεδομένων σας και παρέχει προσαρμοσμένες συστάσεις και αυτόματη ρύθμιση. -2. **Azure SQL Managed Instance**: Αυτό είναι για μεγαλύτερης κλίμακας, πλήρεις αναπτύξεις SQL Server. Παρέχει σχεδόν 100% συμβατότητα με την τελευταία έκδοση του SQL Server on-premises (Enterprise Edition) Database Engine, που προσφέρει μια εγγενή υλοποίηση εικονικού δικτύου (VNet) που αντιμετωπίζει κοινές ανησυχίες ασφαλείας, και ένα επιχειρηματικό μοντέλο ευνοϊκό για τους πελάτες SQL Server on-premises. -3. **Azure SQL Server on Azure VMs**: Αυτό είναι Infrastructure as a Service (IaaS) και είναι καλύτερο για μετεγκαταστάσεις όπου θέλετε **έλεγχο του λειτουργικού συστήματος και της παρουσίας SQL Server**, όπως αν ήταν ένας διακομιστής που λειτουργούσε on-premises. +1. **Azure SQL Server**: Το Azure SQL Server είναι μια διαχειριζόμενη υπηρεσία σχεσιακής βάσης δεδομένων που απλοποιεί την ανάπτυξη και τη διαχείριση βάσεων δεδομένων SQL Server, με ενσωματωμένα χαρακτηριστικά ασφάλειας και απόδοσης. +2. **Azure SQL Database**: Αυτή είναι μια **πλήρως διαχειριζόμενη υπηρεσία βάσης δεδομένων**, που σας επιτρέπει να φιλοξενείτε μεμονωμένες βάσεις δεδομένων στο Azure cloud. Προσφέρει ενσωματωμένη νοημοσύνη που μαθαίνει τα μοναδικά πρότυπα της βάσης δεδομένων σας και παρέχει προσαρμοσμένες συστάσεις και αυτόματη ρύθμιση. +3. **Azure SQL Managed Instance**: Αυτό είναι για μεγαλύτερης κλίμακας, πλήρεις αναπτύξεις βάσεων δεδομένων SQL Server. Παρέχει σχεδόν 100% συμβατότητα με την τελευταία μηχανή βάσης δεδομένων SQL Server on-premises (Enterprise Edition), η οποία παρέχει μια εγγενή υλοποίηση εικονικού δικτύου (VNet) που αντιμετωπίζει κοινές ανησυχίες ασφάλειας, και ένα επιχειρηματικό μοντέλο ευνοϊκό για τους πελάτες SQL Server on-premises. +4. **Azure SQL Server σε Azure VMs**: Αυτό είναι Infrastructure as a Service (IaaS) και είναι καλύτερο για μεταφορές όπου θέλετε **έλεγχο του λειτουργικού συστήματος και της παρουσίας SQL Server**, όπως αν ήταν ένας διακομιστής που λειτουργούσε on-premises. + +### Azure SQL Server + +Το Azure SQL Server είναι ένα σύστημα διαχείρισης σχεσιακής βάσης δεδομένων (RDBMS) που χρησιμοποιεί Transact-SQL για τις λειτουργίες δεδομένων και είναι κατασκευασμένο για να χειρίζεται συστήματα επιπέδου επιχείρησης. Προσφέρει ισχυρά χαρακτηριστικά για απόδοση, ασφάλεια, κλιμάκωση και ενσωμάτωση με διάφορες εφαρμογές της Microsoft. Οι βάσεις δεδομένων Azure SQL βασίζονται σε αυτόν τον διακομιστή, καθώς αυτές είναι κατασκευασμένες σε αυτούς τους διακομιστές και είναι το σημείο εισόδου για τους χρήστες να έχουν πρόσβαση στις βάσεις δεδομένων. + +#### Δίκτυο + +**Συνδεσιμότητα Δικτύου**: Επιλέξτε αν θα επιτρέψετε πρόσβαση μέσω δημόσιου ή ιδιωτικού σημείου. Εάν επιλέξετε Καμία πρόσβαση, δεν δημιουργούνται σημεία μέχρι να ρυθμιστούν χειροκίνητα: +- Καμία πρόσβαση: Δεν έχουν ρυθμιστεί σημεία, αποκλείοντας τις εισερχόμενες συνδέσεις μέχρι να ρυθμιστούν χειροκίνητα. +- Δημόσιο σημείο: Επιτρέπει άμεσες συνδέσεις μέσω του δημόσιου διαδικτύου, υπόκεινται σε κανόνες τείχους προστασίας και άλλες ρυθμίσεις ασφαλείας. +- Ιδιωτικό σημείο: Περιορίζει τη συνδεσιμότητα σε ένα ιδιωτικό δίκτυο. + +**Πολιτική Σύνδεσης**: Ορίστε πώς επικοινωνούν οι πελάτες με τον διακομιστή βάσης δεδομένων SQL: +- Προεπιλογή: Χρησιμοποιεί πολιτική Ανακατεύθυνσης για όλες τις συνδέσεις πελατών από μέσα στο Azure (εκτός από αυτές που χρησιμοποιούν Ιδιωτικά Σημεία) και πολιτική Proxy για συνδέσεις από έξω από το Azure. +- Proxy: Δρομολογεί όλες τις συνδέσεις πελατών μέσω της πύλης Azure SQL Database. +- Ανακατεύθυνση: Οι πελάτες συνδέονται απευθείας στον κόμβο που φιλοξενεί τη βάση δεδομένων. + +#### Μέθοδοι Αυθεντικοποίησης +Το Azure SQL υποστηρίζει διάφορες μεθόδους αυθεντικοποίησης για την ασφάλεια της πρόσβασης στη βάση δεδομένων: + +- **Μόνο αυθεντικοποίηση Microsoft Entra**: Χρησιμοποιεί το Microsoft Entra (πρώην Azure AD) για κεντρική διαχείριση ταυτοτήτων και ενιαία είσοδο. +- **Και SQL και Microsoft Entra αυθεντικοποίηση**: Σας επιτρέπει να χρησιμοποιείτε την παραδοσιακή αυθεντικοποίηση SQL παράλληλα με το Microsoft Entra. +- **Αυθεντικοποίηση SQL**: Βασίζεται αποκλειστικά σε ονόματα χρηστών και κωδικούς πρόσβασης SQL Server. + +#### Χαρακτηριστικά Ασφάλειας + +Οι διακομιστές SQL διαθέτουν **Διαχειριζόμενες Ταυτότητες**. Οι διαχειριζόμενες ταυτότητες επιτρέπουν στον διακομιστή σας να αυθεντικοποιείται με ασφάλεια με άλλες υπηρεσίες Azure χωρίς να αποθηκεύει διαπιστευτήρια. Επιτρέπουν την πρόσβαση σε άλλες υπηρεσίες που θα είναι η Διαχειριζόμενη ταυτότητα που έχει ανατεθεί από το σύστημα και θα προσπελάζεται από άλλες υπηρεσίες με άλλες ταυτότητες που είναι η Διαχειριζόμενη ταυτότητα που έχει ανατεθεί από τον χρήστη. Ορισμένες από τις υπηρεσίες που μπορεί να προσπελάσει το SQL είναι το Azure Storage Account(V2), το Azure Data Lake Storage Gen2, το SQL Server, το Oracle, το Teradata, το MongoDB ή το Cosmos DB API για MongoDB, το Generic ODBC, τις Μαζικές Λειτουργίες και την αποθήκευση αντικειμένων συμβατή με S3. + +Άλλα χαρακτηριστικά ασφαλείας που έχει ο διακομιστής SQL είναι: + +- **Κανόνες Τείχους Προστασίας**: Οι κανόνες τείχους προστασίας ελέγχουν την πρόσβαση στον διακομιστή σας περιορίζοντας ή επιτρέποντας την κυκλοφορία. Αυτό είναι ένα χαρακτηριστικό και των βάσεων δεδομένων. +- **Διαφάνεια Κρυπτογράφησης Δεδομένων (TDE)**: Το TDE κρυπτογραφεί τις βάσεις δεδομένων, τα αντίγραφα ασφαλείας και τα αρχεία καταγραφής σε κατάσταση αδράνειας για να προστατεύσει τα δεδομένα σας ακόμη και αν η αποθήκευση παραβιαστεί. Μπορεί να γίνει με ένα κλειδί που διαχειρίζεται η υπηρεσία ή ένα κλειδί που διαχειρίζεται ο πελάτης. +- **Microsoft Defender for SQL**: Ο Microsoft Defender for SQL μπορεί να ενεργοποιηθεί προσφέροντας αξιολογήσεις ευπαθειών και προηγμένη προστασία από απειλές για έναν διακομιστή. + +#### Μοντέλα Ανάπτυξης + +Η Azure SQL Database υποστηρίζει ευέλικτες επιλογές ανάπτυξης για να καλύψει διάφορες ανάγκες: + +- **Μοναδική Βάση Δεδομένων**: +- Μια πλήρως απομονωμένη βάση δεδομένων με τους δικούς της αφιερωμένους πόρους. +- Ιδανική για μικροϋπηρεσίες ή εφαρμογές που απαιτούν μια μόνο πηγή δεδομένων. +- **Ελαστική Πισίνα**: +- Επιτρέπει σε πολλές βάσεις δεδομένων να μοιράζονται πόρους εντός μιας πισίνας. +- Οικονομικά αποδοτική για εφαρμογές με μεταβαλλόμενα πρότυπα χρήσης σε πολλές βάσεις δεδομένων. ### Azure SQL Database -**Azure SQL Database** είναι μια **πλήρως διαχειριζόμενη πλατφόρμα βάσης δεδομένων ως υπηρεσία (PaaS)** που παρέχει κλιμακούμενες και ασφαλείς λύσεις σχεσιακής βάσης δεδομένων. Είναι βασισμένη στις τελευταίες τεχνολογίες SQL Server και εξαλείφει την ανάγκη για διαχείριση υποδομών, καθιστώντας την δημοφιλή επιλογή για εφαρμογές που βασίζονται στο cloud. +**Azure SQL Database** είναι μια **πλήρως διαχειριζόμενη πλατφόρμα βάσης δεδομένων ως υπηρεσία (PaaS)** που παρέχει κλιμακούμενες και ασφαλείς λύσεις σχεσιακής βάσης δεδομένων. Είναι κατασκευασμένη με τις τελευταίες τεχνολογίες SQL Server και εξαλείφει την ανάγκη για διαχείριση υποδομών, καθιστώντας την δημοφιλή επιλογή για εφαρμογές που βασίζονται στο cloud. #### Κύρια Χαρακτηριστικά - **Πάντα Ενημερωμένο**: Λειτουργεί στην τελευταία σταθερή έκδοση του SQL Server και λαμβάνει αυτόματα νέες δυνατότητες και ενημερώσεις. - **Δυνατότητες PaaS**: Ενσωματωμένη υψηλή διαθεσιμότητα, αντίγραφα ασφαλείας και ενημερώσεις. -- **Ευελιξία Δεδομένων**: Υποστηρίζει σχεσιακά και μη σχεσιακά δεδομένα (π.χ., γραφήματα, JSON, χωρικά και XML). +- **Ευελιξία Δεδομένων**: Υποστηρίζει σχεσιακά και μη σχεσιακά δεδομένα (π.χ. γραφήματα, JSON, χωρικά και XML). -#### Μοντέλα Αγοράς / Επίπεδα Υπηρεσιών +#### Δίκτυο + +**Συνδεσιμότητα Δικτύου**: Επιλέξτε αν θα επιτρέψετε πρόσβαση μέσω δημόσιου ή ιδιωτικού σημείου. Εάν επιλέξετε Καμία πρόσβαση, δεν δημιουργούνται σημεία μέχρι να ρυθμιστούν χειροκίνητα: +- Καμία πρόσβαση: Δεν έχουν ρυθμιστεί σημεία, αποκλείοντας τις εισερχόμενες συνδέσεις μέχρι να ρυθμιστούν χειροκίνητα. +- Δημόσιο σημείο: Επιτρέπει άμεσες συνδέσεις μέσω του δημόσιου διαδικτύου, υπόκεινται σε κανόνες τείχους προστασίας και άλλες ρυθμίσεις ασφαλείας. +- Ιδιωτικό σημείο: Περιορίζει τη συνδεσιμότητα σε ένα ιδιωτικό δίκτυο. + +**Πολιτική Σύνδεσης**: Ορίστε πώς επικοινωνούν οι πελάτες με τον διακομιστή βάσης δεδομένων SQL: +- Προεπιλογή: Χρησιμοποιεί πολιτική Ανακατεύθυνσης για όλες τις συνδέσεις πελατών από μέσα στο Azure (εκτός από αυτές που χρησιμοποιούν Ιδιωτικά Σημεία) και πολιτική Proxy για συνδέσεις από έξω από το Azure. +- Proxy: Δρομολογεί όλες τις συνδέσεις πελατών μέσω της πύλης Azure SQL Database. +- Ανακατεύθυνση: Οι πελάτες συνδέονται απευθείας στον κόμβο που φιλοξενεί τη βάση δεδομένων. + +#### Χαρακτηριστικά Ασφάλειας + +- **Microsoft Defender for SQL**: μπορεί να ενεργοποιηθεί προσφέροντας αξιολογήσεις ευπαθειών και προηγμένη προστασία από απειλές. +- **Ledger**: κρυπτογραφικά επαληθεύει την ακεραιότητα των δεδομένων, διασφαλίζοντας ότι οποιαδήποτε αλλοίωση ανιχνεύεται. +- **Ταυτότητα Διακομιστή**: χρησιμοποιεί διαχειριζόμενες ταυτότητες που έχουν ανατεθεί από το σύστημα και από τον χρήστη για να επιτρέψει κεντρική πρόσβαση. +- **Διαχείριση Κλειδιών Κρυπτογράφησης Διαφάνειας Δεδομένων**: κρυπτογραφεί τις βάσεις δεδομένων, τα αντίγραφα ασφαλείας και τα αρχεία καταγραφής σε κατάσταση αδράνειας χωρίς να απαιτεί αλλαγές στην εφαρμογή. Η κρυπτογράφηση μπορεί να ενεργοποιηθεί σε κάθε βάση δεδομένων, και αν ρυθμιστεί σε επίπεδο βάσης δεδομένων, αυτές οι ρυθμίσεις υπερκαλύπτουν τη ρύθμιση σε επίπεδο διακομιστή. +- **Πάντα Κρυπτογραφημένα**: είναι μια σουίτα προηγμένων χαρακτηριστικών προστασίας δεδομένων που διαχωρίζει την ιδιοκτησία των δεδομένων από τη διαχείριση των δεδομένων. Αυτό διασφαλίζει ότι οι διαχειριστές ή οι χειριστές με υψηλά προνόμια δεν μπορούν να έχουν πρόσβαση σε ευαίσθητα δεδομένα. + +#### Μοντέλα Αγοράς / Επιπέδων Υπηρεσίας - **vCore-based**: Επιλέξτε υπολογιστική ισχύ, μνήμη και αποθήκευση ανεξάρτητα. Για Γενική Χρήση, Επιχειρηματική Κρίσιμη (με υψηλή ανθεκτικότητα και απόδοση για εφαρμογές OLTP), και κλιμακώνεται έως 128 TB αποθήκευσης. - **DTU-based**: Συνδυάζει υπολογιστική ισχύ, μνήμη και I/O σε σταθερά επίπεδα. Ισορροπημένοι πόροι για κοινές εργασίες. -- Standard: Ισορροπημένοι πόροι για κοινές εργασίες. +- Πρότυπο: Ισορροπημένοι πόροι για κοινές εργασίες. - Premium: Υψηλή απόδοση για απαιτητικά φορτία εργασίας. -#### Μοντέλα Ανάπτυξης - -Το Azure SQL Database υποστηρίζει ευέλικτες επιλογές ανάπτυξης για να καλύψει διάφορες ανάγκες: - -- **Μοναδική Βάση Δεδομένων**: -- Μια πλήρως απομονωμένη βάση δεδομένων με τους δικούς της αφιερωμένους πόρους. -- Ιδανική για μικροϋπηρεσίες ή εφαρμογές που απαιτούν μια μοναδική πηγή δεδομένων. -- **Ελαστική Πισίνα**: -- Επιτρέπει σε πολλές βάσεις δεδομένων να μοιράζονται πόρους εντός μιας πισίνας. -- Οικονομικά αποδοτική για εφαρμογές με μεταβαλλόμενα πρότυπα χρήσης σε πολλές βάσεις δεδομένων. - #### Κλιμακούμενη απόδοση και πισίνες -- **Μοναδικές Βάσεις Δεδομένων**: Κάθε βάση δεδομένων είναι απομονωμένη και έχει τους δικούς της αφιερωμένους πόρους υπολογιστικής ισχύος, μνήμης και αποθήκευσης. Οι πόροι μπορούν να κλιμακωθούν δυναμικά (πάνω ή κάτω) χωρίς διακοπή (1–128 vCores, 32 GB–4 TB αποθήκευση, και έως 128 TB). -- **Ελαστικές Πισίνες**: Μοιράζονται πόροι σε πολλές βάσεις δεδομένων σε μια πισίνα για μέγιστη αποδοτικότητα και εξοικονόμηση κόστους. Οι πόροι μπορούν επίσης να κλιμακωθούν δυναμικά για ολόκληρη την πισίνα. -- **Ευελιξία Επιπέδου Υπηρεσίας**: Ξεκινήστε μικρά με μια μοναδική βάση δεδομένων στο επίπεδο Γενικής Χρήσης. Αναβαθμίστε σε Επιχειρηματική Κρίσιμη ή Υπερ-κλίμακα επίπεδα καθώς οι ανάγκες αυξάνονται. +- **Μοναδικές Βάσεις Δεδομένων**: Κάθε βάση δεδομένων είναι απομονωμένη και έχει τους δικούς της αφιερωμένους πόρους υπολογισμού, μνήμης και αποθήκευσης. Οι πόροι μπορούν να κλιμακωθούν δυναμικά (πάνω ή κάτω) χωρίς χρόνο διακοπής (1–128 vCores, 32 GB–4 TB αποθήκευση, και έως 128 TB). +- **Ελαστικές Πισίνες**: Μοιράζονται πόρους σε πολλές βάσεις δεδομένων σε μια πισίνα για να μεγιστοποιήσουν την αποδοτικότητα και να εξοικονομήσουν κόστος. Οι πόροι μπορούν επίσης να κλιμακωθούν δυναμικά για ολόκληρη την πισίνα. +- **Ευελιξία Επιπέδων Υπηρεσίας**: Ξεκινήστε μικρά με μια μοναδική βάση δεδομένων στο επίπεδο Γενικής Χρήσης. Αναβαθμίστε σε Επιχειρηματική Κρίσιμη ή Υπερμεγέθη επίπεδα καθώς οι ανάγκες αυξάνονται. - **Επιλογές Κλιμάκωσης**: Δυναμική Κλιμάκωση ή Εναλλακτικές Αυτόματης Κλιμάκωσης. #### Ενσωματωμένη Παρακολούθηση & Βελτιστοποίηση - **Query Store**: Παρακολουθεί προβλήματα απόδοσης, εντοπίζει τους κορυφαίους καταναλωτές πόρων και προσφέρει εφαρμόσιμες συστάσεις. -- **Αυτόματη Ρύθμιση**: Προληπτικά βελτιστοποιεί την απόδοση με δυνατότητες όπως αυτόματη ευρετηρίαση και διορθώσεις σχεδίων ερωτημάτων. +- **Αυτόματη Ρύθμιση**: Βελτιστοποιεί προληπτικά την απόδοση με χαρακτηριστικά όπως αυτόματη ευρετηρίαση και διορθώσεις σχεδίων ερωτημάτων. - **Ενοποίηση Τηλεμετρίας**: Υποστηρίζει παρακολούθηση μέσω Azure Monitor, Event Hubs ή Azure Storage για προσαρμοσμένες πληροφορίες. #### Ανάκτηση από Καταστροφή & Διαθεσιμότητα -- **Αυτόματα αντίγραφα ασφαλείας**: Η SQL Database εκτελεί αυτόματα πλήρη, διαφορικά και αντίγραφα ασφαλείας αρχείων καταγραφής συναλλαγών. -- **Ανάκτηση Σημείου στο Χρόνο**: Ανάκτηση βάσεων δεδομένων σε οποιαδήποτε προηγούμενη κατάσταση εντός της περιόδου διατήρησης αντιγράφων ασφαλείας. +- **Αυτόματα αντίγραφα ασφαλείας**: Η SQL Database εκτελεί αυτόματα πλήρη, διαφορικά και αντίγραφα ασφαλείας αρχείων καταγραφής βάσεων δεδομένων. +- **Ανάκτηση σε Σημείο στο Χρόνο**: Ανάκτηση βάσεων δεδομένων σε οποιαδήποτε προηγούμενη κατάσταση εντός της περιόδου διατήρησης αντιγράφων ασφαλείας. - **Γεω-Επικαλυπτικότητα** -- **Ομάδες Αποτυχίας**: Απλοποιεί την ανάκτηση από καταστροφή ομαδοποιώντας βάσεις δεδομένων για αυτόματη αποτυχία σε διάφορες περιοχές. +- **Ομάδες Αποτυχίας**: Απλοποιεί την ανάκτηση από καταστροφή ομαδοποιώντας βάσεις δεδομένων για αυτόματη εναλλαγή σε περιοχές. ### Azure SQL Managed Instance -**Azure SQL Managed Instance** είναι μια μηχανή βάσης δεδομένων Platform as a Service (PaaS) που προσφέρει σχεδόν 100% συμβατότητα με το SQL Server και χειρίζεται τις περισσότερες διαχειριστικές εργασίες (π.χ., αναβάθμιση, ενημερώσεις, αντίγραφα ασφαλείας, παρακολούθηση) αυτόματα. Παρέχει μια λύση cloud για τη μετεγκατάσταση βάσεων δεδομένων SQL Server on-premises με ελάχιστες αλλαγές. +**Azure SQL Managed Instance** είναι μια μηχανή βάσης δεδομένων Platform as a Service (PaaS) που προσφέρει σχεδόν 100% συμβατότητα με το SQL Server και χειρίζεται τις περισσότερες διαχειριστικές εργασίες (π.χ. αναβάθμιση, επιδιόρθωση, αντίγραφα ασφαλείας, παρακολούθηση) αυτόματα. Παρέχει μια λύση cloud για τη μετανάστευση βάσεων δεδομένων SQL Server on-premises με ελάχιστες αλλαγές. -#### Επίπεδα Υπηρεσιών +#### Επίπεδα Υπηρεσίας - **Γενική Χρήση**: Οικονομική επιλογή για εφαρμογές με τυπικές απαιτήσεις I/O και καθυστέρησης. - **Επιχειρηματική Κρίσιμη**: Υψηλής απόδοσης επιλογή με χαμηλή καθυστέρηση I/O για κρίσιμα φορτία εργασίας. -#### Προηγμένα Χαρακτηριστικά Ασφαλείας +#### Προηγμένα Χαρακτηριστικά Ασφάλειας -* **Προστασία από Απειλές**: Προηγμένες ειδοποιήσεις για ύποπτες δραστηριότητες και επιθέσεις SQL injection. Έλεγχος για την παρακολούθηση και καταγραφή γεγονότων βάσης δεδομένων για συμμόρφωση. -* **Έλεγχος Πρόσβασης**: Αυθεντικοποίηση Microsoft Entra για κεντρική διαχείριση ταυτότητας. Ασφάλεια σε επίπεδο γραμμής και Δυναμική Μάσκα Δεδομένων για λεπτομερή έλεγχο πρόσβασης. -* **Αντίγραφα Ασφαλείας**: Αυτοματοποιημένα και χειροκίνητα αντίγραφα ασφαλείας με δυνατότητα ανάκτησης σημείου στο χρόνο. +* **Προστασία από Απειλές**: Προηγμένη Προστασία από Απειλές που ειδοποιεί για ύποπτες δραστηριότητες και επιθέσεις SQL injection. Έλεγχος για την παρακολούθηση και καταγραφή γεγονότων βάσης δεδομένων για συμμόρφωση. +* **Έλεγχος Πρόσβασης**: Αυθεντικοποίηση Microsoft Entra για κεντρική διαχείριση ταυτοτήτων. Ασφάλεια σε Επίπεδο Γραμμής και Δυναμική Μάσκα Δεδομένων για λεπτομερή έλεγχο πρόσβασης. +* **Αντίγραφα Ασφαλείας**: Αυτοματοποιημένα και χειροκίνητα αντίγραφα ασφαλείας με δυνατότητα ανάκτησης σε σημείο στο χρόνο. ### Azure SQL Virtual Machines -**Azure SQL Virtual Machines** είναι καλύτερο για μετεγκαταστάσεις όπου θέλετε **έλεγχο του λειτουργικού συστήματος και της παρουσίας SQL Server**, όπως αν ήταν ένας διακομιστής που λειτουργούσε on-premises. Μπορεί να έχει διαφορετικά μεγέθη μηχανών και μια ευρεία επιλογή εκδόσεων και εκδόσεων SQL Server. +**Azure SQL Virtual Machines** είναι καλύτερο για μεταφορές όπου θέλετε **έλεγχο του λειτουργικού συστήματος και της παρουσίας SQL Server**, όπως αν ήταν ένας διακομιστής που λειτουργούσε on-premises. Μπορεί να έχει διαφορετικά μεγέθη μηχανών και μια ευρεία επιλογή εκδόσεων και εκδόσεων SQL Server. #### Κύρια Χαρακτηριστικά -**Αυτοματοποιημένο Αντίγραφο Ασφαλείας**: Προγραμματίστε αντίγραφα ασφαλείας για βάσεις δεδομένων SQL. -**Αυτόματη Ενημέρωση**: Αυτοματοποιεί την εγκατάσταση ενημερώσεων Windows και SQL Server κατά τη διάρκεια ενός παραθύρου συντήρησης. +**Αυτοματοποιημένα Αντίγραφα Ασφαλείας**: Προγραμματίστε αντίγραφα ασφαλείας για βάσεις δεδομένων SQL. +**Αυτόματη Επιδιόρθωση**: Αυτοματοποιεί την εγκατάσταση ενημερώσεων Windows και SQL Server κατά τη διάρκεια ενός παραθύρου συντήρησης. **Ενοποίηση Azure Key Vault**: Αυτόματα ρυθμίζει το Key Vault για SQL Server VMs. **Ενοποίηση Defender for Cloud**: Δείτε τις συστάσεις Defender for SQL στην πύλη. **Ευελιξία Έκδοσης/Έκδοσης**: Αλλάξτε τα μεταδεδομένα έκδοσης ή έκδοσης SQL Server χωρίς να αναπτύξετε ξανά το VM. -#### Χαρακτηριστικά Ασφαλείας +#### Χαρακτηριστικά Ασφάλειας **Microsoft Defender for SQL**: Ενημερώσεις και ειδοποιήσεις ασφαλείας. **Ενοποίηση Azure Key Vault**: Ασφαλής αποθήκευση διαπιστευτηρίων και κλειδιών κρυπτογράφησης. @@ -99,7 +153,7 @@ {{#tab name="az cli"}} ```bash # List Servers -az sql server list # --output table +az sql server list # managed identities are enumerated here too ## List Server Usages az sql server list-usages --name --resource-group ## List Server Firewalls diff --git a/src/pentesting-cloud/gcp-security/gcp-services/gcp-compute-instances-enum/gcp-compute-instance.md b/src/pentesting-cloud/gcp-security/gcp-services/gcp-compute-instances-enum/gcp-compute-instance.md index 32234cf47..814fb5c9f 100644 --- a/src/pentesting-cloud/gcp-security/gcp-services/gcp-compute-instances-enum/gcp-compute-instance.md +++ b/src/pentesting-cloud/gcp-security/gcp-services/gcp-compute-instances-enum/gcp-compute-instance.md @@ -34,13 +34,13 @@ Και οι **προεπιλεγμένες περιοχές πρόσβασης** είναι οι εξής: - **https://www.googleapis.com/auth/devstorage.read\_only** -- Πρόσβαση ανάγνωσης σε buckets :) -- https://www.googleapis.com/auth/logging.write -- https://www.googleapis.com/auth/monitoring.write -- https://www.googleapis.com/auth/servicecontrol -- https://www.googleapis.com/auth/service.management.readonly -- https://www.googleapis.com/auth/trace.append +- [https://www.googleapis.com/auth/logging.write](https://www.googleapis.com/auth/logging.write) +- [https://www.googleapis.com/auth/monitoring.write](https://www.googleapis.com/auth/monitoring.write) +- [https://www.googleapis.com/auth/servicecontrol](https://www.googleapis.com/auth/servicecontrol) +- [https://www.googleapis.com/auth/service.management.readonly](https://www.googleapis.com/auth/service.management.readonly) +- [https://www.googleapis.com/auth/trace.append](https://www.googleapis.com/auth/trace.append) -Ωστόσο, είναι δυνατόν να **χορηγήσετε `cloud-platform` με ένα κλικ** ή να καθορίσετε **προσαρμοσμένες**. +Ωστόσο, είναι δυνατόν να **χορηγήσετε `cloud-platform` με ένα κλικ** ή να καθορίσετε **προσαρμοσμένα**.
@@ -62,11 +62,11 @@ - **Secure boot:** Το Secure boot βοηθά στην προστασία των VM instances σας από κακόβουλο λογισμικό και rootkits σε επίπεδο εκκίνησης και πυρήνα. - **Enable vTPM:** Το Virtual Trusted Platform Module (vTPM) επικυρώνει την ακεραιότητα εκκίνησης και προεκκίνησης της guest VM σας και προσφέρει δημιουργία και προστασία κλειδιών. -- **Integrity supervision:** Η παρακολούθηση ακεραιότητας σας επιτρέπει να παρακολουθείτε και να επαληθεύετε την ακεραιότητα εκκίνησης runtime των shielded VM instances σας χρησιμοποιώντας αναφορές Stackdriver. Απαιτείται να είναι ενεργοποιημένο το vTPM. +- **Integrity supervision:** Η παρακολούθηση ακεραιότητας σας επιτρέπει να παρακολουθείτε και να επαληθεύετε την ακεραιότητα εκκίνησης των shielded VM instances σας χρησιμοποιώντας αναφορές Stackdriver. Απαιτείται να είναι ενεργοποιημένο το vTPM. ### VM Access -Ο κοινός τρόπος για να επιτρέψετε την πρόσβαση στη VM είναι να **επιτρέψετε ορισμένα δημόσια κλειδιά SSH** να έχουν πρόσβαση στη VM.\ +Ο κοινός τρόπος για να επιτρέψετε την πρόσβαση στη VM είναι να **επιτρέψετε ορισμένα SSH public keys** να έχουν πρόσβαση στη VM.\ Ωστόσο, είναι επίσης δυνατόν να **ενεργοποιήσετε την πρόσβαση στη VM μέσω της υπηρεσίας `os-config` χρησιμοποιώντας IAM**. Επιπλέον, είναι δυνατόν να ενεργοποιήσετε 2FA για πρόσβαση στη VM χρησιμοποιώντας αυτή την υπηρεσία.\ Όταν αυτή η **υπηρεσία** είναι **ενεργοποιημένη**, η πρόσβαση μέσω **SSH keys είναι απενεργοποιημένη.**