Az - Bazy danych PostgreSQL

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks

Azure PostgreSQL

Azure Database for PostgreSQL to w pełni zarządzana usługa bazy danych relacyjnych oparta na PostgreSQL Community Edition. Została zaprojektowana w celu zapewnienia skalowalności, bezpieczeństwa i elastyczności dla różnych potrzeb aplikacji. Podobnie jak Azure MySQL, PostgreSQL oferuje dwa modele wdrożenia:

  • Single Server (na ścieżce wycofania):
  • Optymalizowane dla prostych, opłacalnych wdrożeń PostgreSQL.
  • Oferuje automatyczne kopie zapasowe, podstawowe monitorowanie i wysoką dostępność.
  • Idealne dla aplikacji o przewidywalnych obciążeniach.
  • Flexible Server:
  • Zapewnia większą kontrolę nad zarządzaniem bazą danych i konfiguracją.
  • Obsługuje wysoką dostępność, zarówno w tej samej strefie, jak i w różnych strefach.
  • Oferuje elastyczne skalowanie, automatyczne utrzymanie i funkcjonalność oszczędzającą koszty.
  • Umożliwia uruchamianie i zatrzymywanie serwera w celu optymalizacji kosztów.

Kluczowe funkcje

  • Niestandardowe okna konserwacji: Zaplanuj aktualizacje, aby zminimalizować zakłócenia.
  • Aktywne monitorowanie: Uzyskaj dostęp do szczegółowych metryk i dzienników, aby śledzić i poprawiać wydajność bazy danych.
  • Zatrzymaj/Uruchom serwer: Użytkownicy mogą zatrzymywać i uruchamiać serwer.
  • Automatyczne kopie zapasowe: Wbudowane codzienne kopie zapasowe z okresami przechowywania konfigurowalnymi do 35 dni.
  • Dostęp oparty na rolach: Kontroluj uprawnienia użytkowników i dostęp administracyjny za pośrednictwem Azure Active Directory.
  • Bezpieczeństwo i sieci: można zarządzać regułami zapory serwera w celu zapewnienia bezpiecznego dostępu do bazy danych oraz odłączać konfiguracje sieci wirtualnej w razie potrzeby.
  • Zarządzane tożsamości: pozwalają Twojemu serwerowi na bezpieczną autoryzację z innymi usługami Azure bez przechowywania poświadczeń. Umożliwia to dostęp do innych usług, które będą miały tożsamość zarządzaną przypisaną do systemu i będą dostępne przez inne usługi z innymi tożsamościami, które są tożsamościami przypisanymi przez użytkownika.

Enumeracja

# 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>

Połączenie

Za pomocą rozszerzenia rdbms-connect możesz uzyskać dostęp do bazy danych za pomocą:

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

Lub

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

Odniesienia

Eskalacja Uprawnień

Az - PostgreSQL Privesc

Po Eksploatacji

Az - PostgreSQL Post Exploitation

Do Zrobienia

  • Sprawdź sposób dostępu z ad-admin, aby zweryfikować, czy to metoda eskalacji uprawnień

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks