Az - PostgreSQL 后期利用

Tip

学习并练习 AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

支持 HackTricks

PostgreSQL 数据库后期利用

有关 PostgreSQL 数据库的更多信息,请查看:

Az - PostgreSQL

使用 pg_azure_storage 扩展访问存储帐户

可以使用扩展 pg_azure_storage 从 PostgreSQL 服务器访问 Azure 存储帐户。这将使用分配给服务器的托管身份的权限来访问存储帐户。

有关更多信息,请查看特权提升部分中解释的此技术:

Az - PostgreSQL Privesc

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

拥有此权限后,您可以在 Azure 的 Postgres Flexible Server 实例中创建新数据库。虽然此操作本身不会修改现有资源,但过度或未经授权的数据库创建可能会导致资源消耗或服务器的潜在滥用。

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

通过此权限,您可以配置或更新 Azure 上 Postgres Flexible Server 实例的高级威胁防护 (ATP) 设置。这允许启用或禁用旨在检测和响应异常活动及潜在威胁的安全功能。

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

通过此权限,您可以为 Azure 上的 Postgres Flexible Server 实例创建或修改防火墙规则。这允许控制哪些 IP 地址或范围可以访问服务器。未经授权或不当使用此权限可能会使服务器暴露于不必要或恶意的访问。

# 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

通过此权限,您可以更新 Azure 上 Postgres Flexible Server 实例的配置设置。这允许自定义服务器参数,例如性能调优、安全配置或操作设置。

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

通过此权限,您可以停止 Azure 上的 PostgreSQL Flexible Server 实例。停止服务器可能会导致临时服务中断,影响依赖于数据库的应用程序和用户。

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.

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.

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

学习并练习 AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

支持 HackTricks