GCP - KMS Enum

Support HackTricks

KMS

Cloud Key Management Service służy jako bezpieczne miejsce do przechowywania kluczy kryptograficznych, które są niezbędne do operacji takich jak szyfrowanie i deszyfrowanie wrażliwych danych. Klucze te są zorganizowane w obręczy kluczy, co umożliwia strukturalne zarządzanie. Ponadto, kontrola dostępu może być starannie skonfigurowana, zarówno na poziomie pojedynczego klucza, jak i dla całej obręczy kluczy, zapewniając, że uprawnienia są dokładnie dopasowane do wymagań bezpieczeństwa.

Obręcze kluczy KMS są domyślnie tworzone jako globalne, co oznacza, że klucze wewnątrz tej obręczy są dostępne z dowolnego regionu. Możliwe jest jednak tworzenie specyficznych obręczy kluczy w konkretnych regionach.

Poziom ochrony kluczy

  • Klucze programowe: Klucze programowe są tworzone i zarządzane przez KMS całkowicie w oprogramowaniu. Klucze te nie są chronione przez żaden moduł bezpieczeństwa sprzętowego (HSM) i mogą być używane do testowania i celów rozwojowych. Klucze programowe nie są zalecane do użytku produkcyjnego, ponieważ zapewniają niskie bezpieczeństwo i są podatne na ataki.

  • Klucze hostowane w chmurze: Klucze hostowane w chmurze są tworzone i zarządzane przez KMS w chmurze przy użyciu wysoko dostępnej i niezawodnej infrastruktury. Klucze te są chronione przez HSM, ale HSM nie są dedykowane dla konkretnego klienta. Klucze hostowane w chmurze są odpowiednie dla większości przypadków użycia w produkcji.

  • Klucze zewnętrzne: Klucze zewnętrzne są tworzone i zarządzane poza KMS i są importowane do KMS do użycia w operacjach kryptograficznych. Klucze zewnętrzne mogą być przechowywane w module bezpieczeństwa sprzętowego (HSM) lub w bibliotece oprogramowania, w zależności od preferencji klienta.

Cele kluczy

  • Szyfrowanie/deszyfrowanie symetryczne: Używane do szyfrowania i deszyfrowania danych za pomocą jednego klucza dla obu operacji. Klucze symetryczne są szybkie i efektywne w szyfrowaniu i deszyfrowaniu dużych ilości danych.

  • Podpisywanie asymetryczne: Używane do bezpiecznej komunikacji między dwiema stronami bez dzielenia się kluczem. Klucze asymetryczne występują w parze, składającej się z klucza publicznego i klucza prywatnego. Klucz publiczny jest udostępniany innym, podczas gdy klucz prywatny jest zachowywany w tajemnicy.

  • Deszyfrowanie asymetryczne: Używane do weryfikacji autentyczności wiadomości lub danych. Podpis cyfrowy jest tworzony za pomocą klucza prywatnego i może być weryfikowany za pomocą odpowiadającego klucza publicznego.

  • Podpisywanie MAC: Używane do zapewnienia integralności i autentyczności danych poprzez tworzenie kodu uwierzytelniającego wiadomości (MAC) za pomocą tajnego klucza. HMAC jest powszechnie używane do uwierzytelniania wiadomości w protokołach sieciowych i aplikacjach oprogramowania.

Okres rotacji i okres zaplanowany do zniszczenia

Domyślnie każdy 90 dni, ale może być łatwo i całkowicie dostosowany.

Okres "zaplanowany do zniszczenia" to czas od momentu, gdy użytkownik poprosi o usunięcie klucza, aż do momentu, gdy klucz zostanie usunięty. Nie można go zmienić po utworzeniu klucza (domyślnie 1 dzień).

Wersja główna

Każdy klucz KMS może mieć kilka wersji, jedna z nich musi być domyślną, która będzie używana, gdy wersja nie jest określona podczas interakcji z kluczem KMS.

Enumeracja

Mając uprawnienia do wylistowania kluczy, oto jak możesz uzyskać do nich dostęp:

# List the global keyrings available
gcloud kms keyrings list --location global
gcloud kms keyrings get-iam-policy <KEYRING>

# List the keys inside a keyring
gcloud kms keys list --keyring <KEYRING> --location <global/other_locations>
gcloud kms keys get-iam-policy <KEY>

# Encrypt a file using one of your keys
gcloud kms encrypt --ciphertext-file=[INFILE] \
--plaintext-file=[OUTFILE] \
--key [KEY] \
--keyring [KEYRING] \
--location global

# Decrypt a file using one of your keys
gcloud kms decrypt --ciphertext-file=[INFILE] \
--plaintext-file=[OUTFILE] \
--key [KEY] \
--keyring [KEYRING] \
--location global

Eskalacja Uprawnień

GCP - KMS Privesc

Po Eksploatacji

GCP - KMS Post Exploitation

Odniesienia

Wsparcie dla HackTricks

Last updated