Az - CosmosDB Post Exploitation

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

CosmosDB Post Exploitation

Για περισσότερες πληροφορίες σχετικά με τη SQL Database, ελέγξτε:

Az - CosmosDB

Microsoft.DocumentDB/databaseAccounts/read && Microsoft.DocumentDB/databaseAccounts/write

Με αυτή την άδεια, μπορείτε να δημιουργήσετε ή να ενημερώσετε λογαριασμούς Azure Cosmos DB. Αυτό περιλαμβάνει την τροποποίηση ρυθμίσεων σε επίπεδο λογαριασμού, την ενεργοποίηση ή απενεργοποίηση αυτόματης εναλλαγής, τη διαχείριση ελέγχων πρόσβασης δικτύου, την ρύθμιση πολιτικών αντιγράφων ασφαλείας και την προσαρμογή επιπέδων συνέπειας. Οι επιτιθέμενοι με αυτή την άδεια θα μπορούσαν να τροποποιήσουν ρυθμίσεις για να αποδυναμώσουν τους ελέγχους ασφαλείας, να διαταράξουν τη διαθεσιμότητα ή να εξάγουν δεδομένα τροποποιώντας κανόνες δικτύου.

az cosmosdb update \
--name <account_name> \
--resource-group <resource_group_name> \
--public-network-access ENABLED
az cosmosdb update \
--account-name <account_name> \
--resource-group <resource_group_name> \
--capabilities EnableMongoRoleBasedAccessControl

Επιπλέον, μπορείτε να ενεργοποιήσετε τις διαχειριζόμενες ταυτότητες στον λογαριασμό:

az cosmosdb identity assign \
--name <cosmosdb_account_name> \
--resource-group <resource_group_name>

Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/read && Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/write

Με αυτή την άδεια, μπορείτε να δημιουργήσετε ή να τροποποιήσετε κοντέινερ (συλλογές) εντός μιας SQL βάσης δεδομένων ενός λογαριασμού Azure Cosmos DB. Τα κοντέινερ χρησιμοποιούνται για την αποθήκευση δεδομένων, και οι αλλαγές σε αυτά μπορούν να επηρεάσουν τη δομή και τα πρότυπα πρόσβασης της βάσης δεδομένων.

# Create
az cosmosdb sql container create \
--account-name <account_name> \
--resource-group <resource_group_name> \
--database-name <database_name> \
--name <container_name> \
--partition-key-path <partition_key_path>

#Update
az cosmosdb sql container update \
--account-name <account_name> \
--resource-group <resource_group_name> \
--database-name <database_name> \
--name <container_name> \
--ttl 3600

Microsoft.DocumentDB/databaseAccounts/sqlDatabases/write && Microsoft.DocumentDB/databaseAccounts/sqlDatabases/read

Με αυτή την άδεια, μπορείτε να δημιουργήσετε ή να τροποποιήσετε SQL βάσεις δεδομένων εντός ενός λογαριασμού Azure Cosmos DB. Αυτό επιτρέπει τη διαχείριση της δομής της βάσης δεδομένων και την προσθήκη νέων βάσεων δεδομένων στον λογαριασμό. Ενώ αυτή η άδεια επιτρέπει τη δημιουργία βάσεων δεδομένων, η ακατάλληλη ή μη εξουσιοδοτημένη χρήση θα μπορούσε να έχει ως αποτέλεσμα περιττή κατανάλωση πόρων, αυξημένα κόστη ή λειτουργικές αναποτελεσματικότητες.

az cosmosdb sql database create \
--account-name <account_name> \
--resource-group <resource_group_name> \
--name <database_name>

Microsoft.DocumentDB/databaseAccounts/failoverPriorityChange/action

Με αυτή την άδεια, μπορείτε να αλλάξετε την προτεραιότητα αποτυχίας των περιοχών για έναν λογαριασμό βάσης δεδομένων Azure Cosmos DB. Αυτή η ενέργεια καθορίζει τη σειρά με την οποία οι περιοχές γίνονται κύριες κατά τη διάρκεια ενός συμβάντος αποτυχίας. Η ακατάλληλη χρήση αυτής της άδειας μπορεί να διαταράξει την υψηλή διαθεσιμότητα της βάσης δεδομένων ή να οδηγήσει σε απρόβλεπτες επιχειρησιακές επιπτώσεις.

az cosmosdb failover-priority-change \
--name <database_account_name> \
--resource-group <resource_group_name> \
--failover-policies <region1=priority1> <region2=priority2>

Microsoft.DocumentDB/databaseAccounts/regenerateKey/action

Με αυτή την άδεια, μπορείτε να αναγεννήσετε τα κύρια ή δευτερεύοντα κλειδιά για έναν λογαριασμό Azure Cosmos DB. Αυτό χρησιμοποιείται συνήθως για την ενίσχυση της ασφάλειας αντικαθιστώντας τα παλιά κλειδιά, αλλά μπορεί να διαταράξει την πρόσβαση σε υπηρεσίες ή εφαρμογές που βασίζονται στα τρέχοντα κλειδιά.

az cosmosdb keys regenerate \
--name <account_name> \
--resource-group <resource_group_name> \
--key-kind <primary|secondary>

Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/userDefinedFunctions/write && Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/userDefinedFunctions/read

Με αυτή την άδεια, μπορείτε να δημιουργήσετε ή να τροποποιήσετε triggers μέσα σε ένα container μιας SQL βάσης δεδομένων σε έναν λογαριασμό Azure Cosmos DB. Τα triggers σας επιτρέπουν να εκτελείτε λογική server-side ως απάντηση σε λειτουργίες.

az cosmosdb sql trigger create \
--account-name <account_name> \
--resource-group <resource_group_name> \
--database-name <sql_database_name> \
--container-name <container_name> \
--name <trigger_name> \
--body 'function trigger() { var context = getContext(); var request = context.getRequest(); request.setBody("Triggered operation!"); }' \
--type Pre \
--operation All

Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/storedProcedures/write && Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/storedProcedures/read

Με αυτή την άδεια, μπορείτε να δημιουργήσετε ή να τροποποιήσετε αποθηκευμένες διαδικασίες εντός ενός κοντέινερ μιας SQL βάσης δεδομένων σε έναν λογαριασμό Azure Cosmos DB. Οι αποθηκευμένες διαδικασίες στο Cosmos DB είναι JavaScript συναρτήσεις πλευράς διακομιστή που σας επιτρέπουν να ενσωματώσετε λογική για την επεξεργασία δεδομένων ή την εκτέλεση λειτουργιών απευθείας μέσα στη βάση δεδομένων.

az cosmosdb sql stored-procedure create \
--account-name <account_name> \
--resource-group <resource_group_name> \
--database-name <sql_database_name> \
--container-name <container_name> \
--name <stored_procedure_name> \
--body 'function sample() { return "Hello, Cosmos!"; }'

Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers/write && Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers/read

Με αυτή την άδεια, μπορείτε να δημιουργήσετε ή να τροποποιήσετε triggers μέσα σε ένα container μιας SQL βάσης δεδομένων σε έναν λογαριασμό Azure Cosmos DB. Τα triggers σας επιτρέπουν να εκτελείτε λογική server-side ως απάντηση σε ενέργειες όπως εισαγωγές, ενημερώσεις ή διαγραφές.

az cosmosdb sql trigger create \
--account-name <account_name> \
--resource-group <resource_group_name> \
--database-name <sql_database_name> \
--container-name <container_name> \
--name <trigger_name> \
--body 'function trigger() { var context = getContext(); var request = context.getRequest(); request.setBody("Triggered operation!"); }' \
--type Pre \
--operation All

Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections/read && Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections/write

Με αυτή την άδεια, μπορείτε να δημιουργήσετε ή να τροποποιήσετε συλλογές εντός των βάσεων δεδομένων MongoDB σε έναν λογαριασμό Azure Cosmos DB. Οι συλλογές χρησιμοποιούνται για την αποθήκευση εγγράφων και τον καθορισμό της δομής και της κατανομής των δεδομένων.

az cosmosdb mongodb collection create \
--account-name <account_name> \
--resource-group <resource_group_name> \
--database-name <mongodb_database_name> \
--name <collection_name>

Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/write && Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/read

Με αυτή την άδεια, μπορείτε να δημιουργήσετε νέες βάσεις δεδομένων MongoDB εντός ενός λογαριασμού Azure Cosmos DB. Αυτό επιτρέπει την προμήθεια νέων βάσεων δεδομένων για την αποθήκευση και διαχείριση συλλογών και εγγράφων.

az cosmosdb mongodb database create \
--account-name <account_name> \
--resource-group <resource_group_name> \
--name <database_name>

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks