Az - PostgreSQL Databases

Reading time: 6 minutes

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks

Azure PostgreSQL

Azure Database for PostgreSQL є повністю керованою реляційною базою даних, заснованою на PostgreSQL Community Edition. Вона розроблена для забезпечення масштабованості, безпеки та гнучкості для різноманітних потреб додатків. Подібно до Azure MySQL, PostgreSQL пропонує дві моделі розгортання:

  • Single Server (на етапі виведення з експлуатації):
  • Оптимізовано для простих, економічних розгортань PostgreSQL.
  • Має автоматизовані резервні копії, базове моніторинг та високу доступність.
  • Ідеально підходить для додатків з передбачуваними навантаженнями.
  • Flexible Server:
  • Забезпечує більший контроль над управлінням базою даних та конфігурацією.
  • Підтримує високу доступність, як в одній зоні, так і між зонами.
  • Має еластичне масштабування, автоматизоване обслуговування та функціональність для економії витрат.
  • Дозволяє запускати та зупиняти сервер для оптимізації витрат.

Key Features

  • Custom Maintenance Windows: Заплануйте оновлення, щоб мінімізувати перерви.
  • Active Monitoring: Отримуйте детальні метрики та журнали для відстеження та покращення продуктивності бази даних.
  • Stop/Start Server: Користувачі можуть зупиняти та запускати сервер.
  • Automatic Backups: Вбудовані щоденні резервні копії з періодами зберігання, які можна налаштувати до 35 днів.
  • Role-Based Access: Контролюйте дозволи користувачів та адміністративний доступ через Azure Active Directory.
  • Security and Networking: можна керувати правилами брандмауера сервера для безпечного доступу до бази даних та відключати конфігурації віртуальної мережі за потреби.
  • Managed Identities: дозволяють вашому серверу безпечно автентифікуватися з іншими службами Azure без зберігання облікових даних. Це дозволяє отримувати доступ до інших служб, які матимуть системно призначену керовану ідентичність і можуть бути доступні іншими службами з іншими ідентичностями, які є користувацькими призначеними керованими ідентичностями.

Enumeration

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>

З'єднання

З розширенням rdbms-connect ви можете отримати доступ до бази даних за допомогою:

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

Або

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

References

Підвищення Привілеїв

Az - PostgreSQL Privesc

Постексплуатація

Az - PostgreSQL Post Exploitation

ToDo

  • Знайти спосіб доступу з ad-admin, щоб перевірити, чи це метод підвищення привілеїв

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks