Az - Bases de datos PostgreSQL

Tip

Aprende y practica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks

Azure PostgreSQL

Azure Database for PostgreSQL es un servicio de base de datos relacional completamente gestionado basado en la edici贸n comunitaria de PostgreSQL. Est谩 dise帽ado para proporcionar escalabilidad, seguridad y flexibilidad para diversas necesidades de aplicaciones. Similar a Azure MySQL, PostgreSQL ofrece dos modelos de implementaci贸n:

  • Servidor 脷nico (en la ruta de retiro):
  • Optimizado para implementaciones de PostgreSQL sencillas y rentables.
  • Presenta copias de seguridad automatizadas, monitoreo b谩sico y alta disponibilidad.
  • Ideal para aplicaciones con cargas de trabajo predecibles.
  • Servidor Flexible:
  • Proporciona un mayor control sobre la gesti贸n y configuraci贸n de la base de datos.
  • Soporta alta disponibilidad, tanto en la misma zona como entre zonas.
  • Presenta escalado el谩stico, mantenimiento automatizado y funcionalidad de ahorro de costos.
  • Permite iniciar y detener el servidor para optimizar costos.

Caracter铆sticas Clave

  • Ventanas de Mantenimiento Personalizadas: Programa actualizaciones para minimizar interrupciones.
  • Monitoreo Activo: Accede a m茅tricas y registros detallados para rastrear y mejorar el rendimiento de la base de datos.
  • Detener/Iniciar Servidor: Los usuarios pueden detener e iniciar el servidor.
  • Copias de Seguridad Autom谩ticas: Copias de seguridad diarias integradas con per铆odos de retenci贸n configurables de hasta 35 d铆as.
  • Acceso Basado en Roles: Controla los permisos de usuario y el acceso administrativo a trav茅s de Azure Active Directory.
  • Seguridad y Redes: puede gestionar las reglas del firewall del servidor para un acceso seguro a la base de datos y desacoplar configuraciones de red virtual seg煤n sea necesario.
  • Identidades Gestionadas: permiten que su servidor se autentique de forma segura con otros servicios de Azure sin almacenar credenciales. Permite acceder a otros servicios que tendr铆an una identidad gestionada asignada por el sistema y ser accedidos por otros servicios con otras identidades que son identidades gestionadas asignadas por el usuario.

Enumeraci贸n

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

Conexi贸n

Con la extensi贸n rdbms-connect puedes acceder a la base de datos con:

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

O

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

Referencias

Escalaci贸n de Privilegios

Az - PostgreSQL Privesc

Post Explotaci贸n

Az - PostgreSQL Post Exploitation

ToDo

  • Buscar una forma de acceder con ad-admin para verificar si es un m茅todo de privesc

Tip

Aprende y practica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks