Az - Bases de données PostgreSQL

Reading time: 6 minutes

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks

Azure PostgreSQL

Azure Database for PostgreSQL est un service de base de données relationnelle entièrement géré basé sur la version Community de PostgreSQL. Il est conçu pour offrir évolutivité, sécurité et flexibilité pour divers besoins d'application. Comme Azure MySQL, PostgreSQL propose deux modèles de déploiement :

  • Serveur unique (sur la voie de la retraite) :
  • Optimisé pour des déploiements PostgreSQL simples et rentables.
  • Comprend des sauvegardes automatisées, une surveillance de base et une haute disponibilité.
  • Idéal pour les applications avec des charges de travail prévisibles.
  • Serveur flexible :
  • Offre un meilleur contrôle sur la gestion et la configuration de la base de données.
  • Prend en charge la haute disponibilité, à la fois dans la même zone et entre les zones.
  • Comprend une mise à l'échelle élastique, une maintenance automatisée et des fonctionnalités d'économie de coûts.
  • Permet de démarrer et d'arrêter le serveur pour optimiser les coûts.

Caractéristiques clés

  • Fenêtres de maintenance personnalisées : Planifiez des mises à jour pour minimiser les interruptions.
  • Surveillance active : Accédez à des métriques et des journaux détaillés pour suivre et améliorer les performances de la base de données.
  • Arrêter/Démarrer le serveur : Les utilisateurs peuvent arrêter et démarrer le serveur.
  • Sauvegardes automatiques : Sauvegardes quotidiennes intégrées avec des périodes de conservation configurables jusqu'à 35 jours.
  • Accès basé sur les rôles : Contrôlez les autorisations des utilisateurs et l'accès administratif via Azure Active Directory.
  • Sécurité et mise en réseau : peut gérer les règles de pare-feu du serveur pour un accès sécurisé à la base de données et détacher les configurations de réseau virtuel si nécessaire.
  • Identités gérées : permettent à votre serveur de s'authentifier de manière sécurisée avec d'autres services Azure sans stocker de credentials. Cela permet d'accéder à d'autres services qui seraient une identité gérée assignée au système et d'être accessibles par d'autres services avec d'autres identités qui sont une identité gérée assignée à l'utilisateur.

Énumération

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>

Connexion

Avec l'extension rdbms-connect, vous pouvez accéder à la base de données avec :

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

Ou

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

Références

Escalade de privilèges

Az - PostgreSQL Privesc

Post-exploitation

Az - PostgreSQL Post Exploitation

À faire

  • Chercher un moyen d'accéder avec ad-admin pour vérifier s'il s'agit d'une méthode d'escalade de privilèges

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks