# Az - PostgreSQL Post Exploitation

{{#include ../../../banners/hacktricks-training.md}}

## PostgreSQL Databasis Post Exploitation
Vir meer inligting oor PostgreSQL Databasis, kyk:

{{#ref}}
../az-services/az-postgresql.md
{{#endref}}

### Gebruik pg_azure_storage uitbreiding om Stoor rekeninge te benader

Dit is moontlik om die uitbreiding **`pg_azure_storage` te gebruik om Azure Stoor rekeninge** vanaf 'n PostgreSQL bediener te benader. Dit sal die regte van die bestuurde identiteit wat aan die bediener toegeken is, gebruik om toegang tot die stoor rekening te verkry.

Vir meer inligting, kyk na hierdie tegniek wat in die regte eskalasie afdeling verduidelik word:

{{#ref}}
../az-privilege-escalation/az-postgresql-privesc.md
{{#endref}}

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

Met hierdie reg kan jy nuwe databasis binne 'n Postgres Flexible Server instansie op Azure skep. Terwyl hierdie aksie self nie bestaande hulpbronne wysig nie, kan oormatige of ongeoorloofde skepping van databasisse lei tot hulpbronverbruik, of potensiële misbruik van die bediener.
```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`

Met hierdie toestemming kan jy die Advanced Threat Protection (ATP) instellings vir 'n Postgres Flexible Server instance op Azure konfigureer of opdateer. Dit stel jou in staat om sekuriteitskenmerke te aktiveer of te deaktiveer wat ontwerp is om anomale aktiwiteite en potensiële bedreigings te detecteer en daarop te reageer.
```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`

Met hierdie toestemming kan jy firewallreëls vir 'n Postgres Flexible Server-instantie op Azure skep of wysig. Dit stel jou in staat om te beheer watter IP-adresse of -reekse toegang tot die bediener kan hê. Onbevoegde of onvanpaste gebruik van hierdie toestemming kan die bediener aan ongewenste of kwaadwillige toegang blootstel.
```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`

Met hierdie toestemming kan jy die konfigurasie-instellings van 'n Postgres Flexible Server-instansie op Azure opdateer. Dit stel jou in staat om bedienerparameters soos prestasie-afstemming, sekuriteitskonfigurasies of operasionele instellings aan te pas.
```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`

Met hierdie toestemming kan jy 'n PostgreSQL Flexible Server-instansie op Azure stop. Om 'n bediener te stop, kan lei tot tydelike diensonderbreking, wat toepassings en gebruikers wat van die databasis afhanklik is, beïnvloed.
```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 identiteit toewys \
--hulpbron-groep <ResourceGroupName> \
--bediener-naam <ServerName> \
--identiteit <IdentityName>
```

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


{{#include ../../../banners/hacktricks-training.md}}
