Az - PostgreSQL Post Exploitation

Reading time: 5 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

PostgreSQL Database Post Exploitation

Pour plus d'informations sur la base de données PostgreSQL, consultez :

Az - PostgreSQL

Utiliser l'extension pg_azure_storage pour accéder aux comptes de stockage

Il est possible d'utiliser l'extension pg_azure_storage pour accéder aux comptes de stockage Azure depuis un serveur PostgreSQL. Cela utilisera les autorisations de l'identité gérée assignée au serveur pour accéder au compte de stockage.

Pour plus d'informations, consultez cette technique expliquée dans la section sur l'escalade de privilèges :

Az - PostgreSQL Privesc

Microsoft.DBforPostgreSQL/flexibleServers/databases/write && Microsoft.DBforPostgreSQL/flexibleServers/databases/read

Avec cette autorisation, vous pouvez créer de nouvelles bases de données au sein d'une instance de Postgres Flexible Server sur Azure. Bien que cette action elle-même ne modifie pas les ressources existantes, la création excessive ou non autorisée de bases de données pourrait entraîner une consommation de ressources ou un potentiel abus du serveur.

bash
az postgres flexible-server db create \
--server-name <server_name> \
--resource-group <resource_group_name> \
--database-name <database_name>

Microsoft.DBforPostgreSQL/flexibleServers/advancedThreatProtectionSettings/write && Microsoft.DBforPostgreSQL/flexibleServers/advancedThreatProtectionSettings/read

Avec cette autorisation, vous pouvez configurer ou mettre à jour les paramètres de Protection Avancée contre les Menaces (ATP) pour une instance de Postgres Flexible Server sur Azure. Cela permet d'activer ou de désactiver des fonctionnalités de sécurité conçues pour détecter et répondre à des activités anormales et à des menaces potentielles.

bash
az postgres flexible-server threat-protection-policy update \
--name <server_name> \
--resource-group <resource_group_name> \
--state <Enabled|Disabled>

Microsoft.DBforPostgreSQL/flexibleServers/firewallRules/write, Microsoft.DBforPostgreSQL/flexibleServers/read && Microsoft.DBforPostgreSQL/flexibleServers/firewallRules/read

Avec cette autorisation, vous pouvez créer ou modifier des règles de pare-feu pour une instance de serveur flexible Postgres sur Azure. Cela permet de contrôler quelles adresses IP ou plages peuvent accéder au serveur. Une utilisation non autorisée ou inappropriée de cette autorisation pourrait exposer le serveur à un accès indésirable ou malveillant.

bash
# Create Rule
az postgres flexible-server firewall-rule create \
--name <server_name> \
--resource-group <resource_group_name> \
--rule-name <rule_name> \
--start-ip-address <start_ip> \
--end-ip-address <end_ip>

# Update Rule
az postgres flexible-server firewall-rule update \
--name <server_name> \
--resource-group <resource_group_name> \
--rule-name <rule_name> \
--start-ip-address <start_ip> \
--end-ip-address <end_ip>

Microsoft.DBforPostgreSQL/flexibleServers/configurations/write && Microsoft.DBforPostgreSQL/flexibleServers/configurations/read

Avec cette autorisation, vous pouvez mettre à jour les paramètres de configuration d'une instance de Postgres Flexible Server sur Azure. Cela permet de personnaliser des paramètres de serveur tels que l'optimisation des performances, les configurations de sécurité ou les paramètres opérationnels.

bash
az postgres flexible-server parameter set \
--resource-group <resource_group_name> \
--server-name <server_name> \
--name <parameter_name> \
--value <parameter_value>

Microsoft.DBforPostgreSQL/flexibleServers/stop/action

Avec cette autorisation, vous pouvez arrêter une instance de serveur flexible PostgreSQL sur Azure. L'arrêt d'un serveur peut entraîner une interruption temporaire du service, affectant les applications et les utilisateurs dépendants de la base de données.

bash
az postgres flexible-server stop \
--name <server_name> \
--resource-group <resource_group_name>

Microsoft.DBforPostgreSQL/flexibleServers/start/action

With this permission, you can start a stopped PostgreSQL Flexible Server instance on Azure. Starting a server restores its availability, enabling applications and users to reconnect and access the database.

bash
az postgres flexible-server start \
--name <server_name> \
--resource-group <resource_group_name>

Microsoft.DBforPostgreSQL/flexibleServers/read, Microsoft.DBforPostgreSQL/flexibleServers/write && Microsoft.ManagedIdentity/userAssignedIdentities/assign/action

With this permission, you can assign a user-assigned managed identity to postgres flexible servers.

bash
az postgres flexible-server identity assign \
--resource-group <ResourceGroupName> \
--server-name <ServerName> \
--identity <IdentityName>

*/delete

With this permissions you can delete resources related to postgres server in Azure such as server, firewalls, managed identities or configurations

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