Az - PostgreSQL Databases

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

Azure PostgreSQL

Azure Database for PostgreSQL είναι μια πλήρως διαχειριζόμενη υπηρεσία σχεσιακής βάσης δεδομένων που βασίζεται στην έκδοση Community του PostgreSQL. Είναι σχεδιασμένη για να παρέχει κλιμάκωση, ασφάλεια και ευελιξία για ποικίλες ανάγκες εφαρμογών. Παρόμοια με το Azure MySQL, το PostgreSQL προσφέρει δύο μοντέλα ανάπτυξης:

  • Single Server (σε πορεία αποσύρσης):
  • Βελτιστοποιημένο για απλές, οικονομικά αποδοτικές αναπτύξεις PostgreSQL.
  • Διαθέτει αυτοματοποιημένα αντίγραφα ασφαλείας, βασική παρακολούθηση και υψηλή διαθεσιμότητα.
  • Ιδανικό για εφαρμογές με προβλέψιμα φορτία εργασίας.
  • Flexible Server:
  • Παρέχει μεγαλύτερο έλεγχο στη διαχείριση και τη διαμόρφωση της βάσης δεδομένων.
  • Υποστηρίζει υψηλή διαθεσιμότητα, τόσο στην ίδια ζώνη όσο και σε διαφορετικές ζώνες.
  • Διαθέτει ελαστική κλιμάκωση, αυτοματοποιημένη συντήρηση και λειτουργίες εξοικονόμησης κόστους.
  • Επιτρέπει την εκκίνηση και διακοπή του διακομιστή για βελτιστοποίηση του κόστους.

Key Features

  • Custom Maintenance Windows: Προγραμματίστε ενημερώσεις για να ελαχιστοποιήσετε τις διαταραχές.
  • Active Monitoring: Έχετε πρόσβαση σε λεπτομερείς μετρήσεις και αρχεία καταγραφής για την παρακολούθηση και τη βελτίωση της απόδοσης της βάσης δεδομένων.
  • Stop/Start Server: Οι χρήστες μπορούν να σταματούν και να ξεκινούν τον διακομιστή.
  • Automatic Backups: Ενσωματωμένα καθημερινά αντίγραφα ασφαλείας με ρυθμιζόμενες περιόδους διατήρησης έως 35 ημέρες.
  • Role-Based Access: Ελέγξτε τις άδειες χρηστών και την διοικητική πρόσβαση μέσω του Azure Active Directory.
  • Security and Networking: μπορείτε να διαχειριστείτε τους κανόνες τείχους προστασίας του διακομιστή για ασφαλή πρόσβαση στη βάση δεδομένων και να αποσυνδέσετε τις ρυθμίσεις εικονικού δικτύου όπως απαιτείται.
  • Managed Identities: επιτρέπουν στον διακομιστή σας να πιστοποιείται με ασφάλεια με άλλες υπηρεσίες Azure χωρίς να αποθηκεύει διαπιστευτήρια. Επιτρέπει την πρόσβαση σε άλλες υπηρεσίες που θα είναι η ταυτότητα που ανατίθεται από το σύστημα και θα προσπελάζεται από άλλες υπηρεσίες με άλλες ταυτότητες που είναι η ταυτότητα που ανατίθεται από τον χρήστη.

Enumeration

# List servers in a resource group
az postgres flexible-server list --resource-group <resource-group-name>
# List databases in a flexible-server
az postgres flexible-server db list --resource-group <resource-group-name> --server-name <server_name>
# Show specific details of a Postgre database
az postgres flexible-server db show --resource-group <resource-group-name> --server-name <server_name> --database-name <database_name>

# List firewall rules of the a server
az postgres flexible-server firewall-rule list --resource-group <resource-group-name> --name <server_name>
# List parameter values for a felxible server
az postgres flexible-server parameter list --resource-group <resource-group-name> --server-name <server_name>
# List private link
az postgres flexible-server private-link-resource list --resource-group <resource-group-name> --server-name <server_name>

# List all ad-admin in a server
az postgres flexible-server ad-admin list --resource-group <resource-group-name> --server-name <server_name>
# List all user assigned managed identities from the server
az postgres flexible-server identity list --resource-group <resource-group-name> --server-name <server_name>

# List the server backups
az postgres flexible-server backup list --resource-group <resource-group-name> --name <server_name>
# List all read replicas for a given server
az postgres flexible-server replica list --resource-group <resource-group-name> --name <server_name>
# List migrations
az postgres flexible-server migration list --resource-group <resource-group-name> --name <server_name>

# Get the server's advanced threat protection setting
az postgres flexible-server advanced-threat-protection-setting show --resource-group <resource-group-name> --name <server_name>
# List all of the maintenances of a flexible server
az postgres flexible-server maintenance list --resource-group <resource-group-name> --server-name <server_name>
# List log files for a server.
az postgres flexible-server server-logs list --resource-group <resource-group-name> --server-name <server_name>

Σύνδεση

Με την επέκταση rdbms-connect μπορείτε να αποκτήσετε πρόσβαση στη βάση δεδομένων με:

az postgres flexible-server connect -n <server-name> -u <username> -p <password> --interactive

#or execute commands
az postgres flexible-server execute \
-n <server-name> \
-u <username> \
-p "<password>" \
-d <database-name> \
--querytext "SELECT * FROM <table-name>;"

Ή

psql -h testpostgresserver1994.postgres.database.azure.com -p 5432 -U adminuser <database-name>

Αναφορές

Ανάβαση Δικαιωμάτων

Az - PostgreSQL Privesc

Μετά την Εκμετάλλευση

Az - PostgreSQL Post Exploitation

ToDo

  • Δείτε έναν τρόπο πρόσβασης με ad-admin για να επαληθεύσετε ότι είναι μέθοδος ανάβασης δικαιωμάτων

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