Az - PostgreSQL-Datenbanken

Reading time: 6 minutes

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks

Azure PostgreSQL

Azure Database for PostgreSQL ist ein vollständig verwalteter relationaler Datenbankdienst, der auf der PostgreSQL Community Edition basiert. Er wurde entwickelt, um Skalierbarkeit, Sicherheit und Flexibilität für unterschiedliche Anwendungsbedürfnisse zu bieten. Ähnlich wie Azure MySQL bietet PostgreSQL zwei Bereitstellungsmodelle:

  • Single Server (auf dem Rückzugspfad):
  • Optimiert für einfache, kosteneffiziente PostgreSQL-Bereitstellungen.
  • Bietet automatisierte Backups, grundlegende Überwachung und hohe Verfügbarkeit.
  • Ideal für Anwendungen mit vorhersehbaren Arbeitslasten.
  • Flexible Server:
  • Bietet mehr Kontrolle über Datenbankmanagement und -konfiguration.
  • Unterstützt hohe Verfügbarkeit, sowohl in derselben Zone als auch über Zonen hinweg.
  • Bietet elastische Skalierung, automatisierte Wartung und kostensparende Funktionen.
  • Ermöglicht das Starten und Stoppen des Servers zur Kostenoptimierung.

Hauptmerkmale

  • Benutzerdefinierte Wartungsfenster: Planen Sie Updates, um Störungen zu minimieren.
  • Aktive Überwachung: Greifen Sie auf detaillierte Metriken und Protokolle zu, um die Datenbankleistung zu verfolgen und zu verbessern.
  • Server Stop/Start: Benutzer können den Server stoppen und starten.
  • Automatische Backups: Eingebaute tägliche Backups mit konfigurierbaren Aufbewahrungsfristen von bis zu 35 Tagen.
  • Rollenbasierter Zugriff: Steuern Sie Benutzerberechtigungen und administrativen Zugriff über Azure Active Directory.
  • Sicherheit und Netzwerk: können Firewall-Regeln für den Server verwalten, um einen sicheren Datenbankzugriff zu gewährleisten, und virtuelle Netzwerk-Konfigurationen nach Bedarf trennen.
  • Verwaltete Identitäten: ermöglichen es Ihrem Server, sich sicher bei anderen Azure-Diensten zu authentifizieren, ohne Anmeldeinformationen zu speichern. Es ermöglicht den Zugriff auf andere Dienste, die eine systemzugewiesene verwaltete Identität hätten, und kann von anderen Diensten mit anderen Identitäten, die eine benutzerzugewiesene verwaltete Identität sind, aufgerufen werden.

Aufzählung

bash
# 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>

Verbindung

Mit der Erweiterung rdbms-connect können Sie auf die Datenbank zugreifen mit:

bash
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>;"

Oder

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

Referenzen

Privilegieneskalation

Az - PostgreSQL Privesc

Post-Exploitation

Az - PostgreSQL Post Exploitation

ToDo

  • Suche nach einer Möglichkeit, mit ad-admin zuzugreifen, um zu überprüfen, ob es sich um eine Privilegieneskalationsmethode handelt

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks