GCP - Cloud SQL Enum

Support HackTricks

Podstawowe informacje

Google Cloud SQL to zarządzana usługa, która upraszcza konfigurację, utrzymanie i zarządzanie relacyjnymi bazami danych takimi jak MySQL, PostgreSQL i SQL Server na Google Cloud Platform, eliminując potrzebę zajmowania się zadaniami takimi jak dostarczanie sprzętu, konfiguracja bazy danych, łatanie i tworzenie kopii zapasowych.

Kluczowe cechy Google Cloud SQL obejmują:

  1. W pełni zarządzana: Google Cloud SQL to usługa w pełni zarządzana, co oznacza, że Google zajmuje się zadaniami związanymi z utrzymaniem bazy danych, takimi jak łatanie, aktualizacje, kopie zapasowe i konfiguracja.

  2. Skalowalność: Umożliwia skalowanie pojemności pamięci masowej i zasobów obliczeniowych bazy danych, często bez przestojów.

  3. Wysoka dostępność: Oferuje konfiguracje wysokiej dostępności, zapewniając, że usługi bazy danych są niezawodne i mogą wytrzymać awarie strefy lub instancji.

  4. Bezpieczeństwo: Oferuje solidne funkcje bezpieczeństwa, takie jak szyfrowanie danych, kontrole tożsamości i dostępu (IAM) oraz izolację sieci przy użyciu prywatnych adresów IP i VPC.

  5. Kopie zapasowe i odzyskiwanie: Obsługuje automatyczne kopie zapasowe i odzyskiwanie w punkcie w czasie, pomagając w zabezpieczeniu i przywracaniu danych.

  6. Integracja: Bezproblemowo integruje się z innymi usługami Google Cloud, oferując kompleksowe rozwiązanie do budowania, wdrażania i zarządzania aplikacjami.

  7. Wydajność: Oferuje metryki wydajności i diagnostykę do monitorowania, rozwiązywania problemów i poprawy wydajności bazy danych.

Hasło

W konsoli internetowej Cloud SQL użytkownik może ustawić hasło bazy danych, istnieje również funkcja generowania, ale co najważniejsze, MySQL pozwala pozostawić puste hasło, a wszystkie z nich pozwalają ustawić jako hasło tylko znak "a":

Możliwe jest również skonfigurowanie polityki haseł wymagającej długości, złożoności, wyłączenia ponownego użycia i wyłączenia nazwy użytkownika w haśle. Wszystkie są domyślnie wyłączone.

SQL Server może być skonfigurowany z uwierzytelnianiem Active Directory.

Dostępność strefy

Baza danych może być dostępna w 1 strefie lub w wielu, oczywiście zaleca się, aby ważne bazy danych były w wielu strefach.

Szyfrowanie

Domyślnie używany jest klucz szyfrowania zarządzany przez Google, ale możliwe jest również wybranie klucza szyfrowania zarządzanego przez klienta (CMEK).

Połączenia

  • Prywatny IP: Wskaźnik sieci VPC, a baza danych otrzyma prywatny adres IP w sieci

  • Publiczny IP: Baza danych otrzyma publiczny adres IP, ale domyślnie nikt nie będzie mógł się połączyć

  • Autoryzowane sieci: Wskaźnik publicznych zakresów IP, które powinny być dozwolone do połączenia z bazą danych

  • Prywatna ścieżka: Jeśli DB jest połączona w jakimś VPC, możliwe jest włączenie tej opcji i nadanie innym usługom GCP, takim jak BigQuery, dostępu przez nią

Ochrona danych

  • Codzienne kopie zapasowe: Wykonuj automatyczne codzienne kopie zapasowe i wskaźnik liczby kopii zapasowych, które chcesz utrzymać.

  • Odzyskiwanie w punkcie w czasie: Umożliwia odzyskiwanie danych z określonego punktu w czasie, aż do ułamka sekundy.

  • Ochrona przed usunięciem: Jeśli włączona, baza danych nie będzie mogła być usunięta, dopóki ta funkcja nie zostanie wyłączona.

Enumeracja

# Get SQL instances
gcloud sql instances list
gcloud sql instances describe <inst-name> # get IPs, CACert, settings

# Get database names inside an instance (like information_schema, sys...)
gcloud sql databases list --instance <intance-name>
gcloud sql databases describe <db-name> --instance <intance-name>

# Get usernames inside the db instance
gcloud sql users list --instance <intance-name>

# Backups
gcloud sql backups list --instance <intance-name>
gcloud sql backups describe <backup-name> --instance <intance-name>

Unauthenticated Enum

GCP - Cloud SQL Unauthenticated Enum

Post Exploitation

GCP - Cloud SQL Post Exploitation

Persistence

GCP - Cloud SQL Persistence
Wsparcie HackTricks

Last updated