GCP - Filestore Enum

Wesprzyj HackTricks

Podstawowe informacje

Google Cloud Filestore to zarządzana usługa przechowywania plików dostosowana do aplikacji potrzebujących zarówno interfejsu systemu plików, jak i współdzielonego systemu plików do przechowywania danych. Ta usługa wyróżnia się oferowaniem udziałów plików o wysokiej wydajności, które można zintegrować z różnymi usługami GCP. Jej użyteczność przejawia się w scenariuszach, gdzie tradycyjne interfejsy i semantyka systemu plików są kluczowe, takich jak przetwarzanie mediów, zarządzanie treścią i tworzenie kopii zapasowych baz danych.

Możesz to porównać do dowolnego repozytorium dokumentów NFS - potencjalnego źródła poufnych informacji.

Połączenia

Podczas tworzenia instancji Filestore możliwe jest wybranie sieci, w której będzie dostępna.

Co więcej, domyślnie wszyscy klienci w wybranej sieci VPC i regionie będą mieli do niej dostęp, jednakże możliwe jest ograniczenie dostępu również przez adres IP lub zakres oraz określenie uprawnień dostępu (Administrator, Administrator Widz, Edytor, Widz) dla klienta w zależności od adresu IP.

Można również uzyskać do niej dostęp za pośrednictwem Połączenia z Prywatnym Dostępem do Usługi:

  • Dotyczą one sieci VPC i mogą być używane we wszystkich usługach zarządzanych, takich jak Memorystore, Tensorflow i SQL.

  • między twoją siecią VPC a siecią należącą do Google za pomocą połączenia VPC peering, umożliwiając twoim instancjom i usługom komunikację wyłącznie za pomocą adresów IP wewnętrznych.

  • Tworzą izolowany projekt dla ciebie po stronie producenta usługi, co oznacza, że nie dzielą go inni klienci. Będziesz płacił tylko za zasoby, które udostępnisz.

  • VPC peering importuje nowe trasy do twojej sieci VPC

Kopie zapasowe

Możliwe jest utworzenie kopii zapasowych udziałów plików. Mogą one być później przywrócone w oryginalnej nowej instancji udziału plików lub w nowych.

Szyfrowanie

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

Wyliczanie

Jeśli znajdziesz dostępny plikstore w projekcie, możesz go zamontować z wewnątrz skompromitowanej instancji obliczeniowej. Użyj poniższej komendy, aby sprawdzić, czy istnieją jakiekolwiek.

# Instances
gcloud filestore instances list # Check the IP address
gcloud filestore instances describe --zone <zone> <name> # Check IP and access restrictions

# Backups
gcloud filestore backups list
gcloud filestore backups describe --region <region> <backup>

# Search for NFS shares in a VPC subnet
sudo nmap -n -T5 -Pn -p 2049 --min-parallelism 100 --min-rate 1000 --open 10.99.160.2/20

Należy pamiętać, że usługa filestore może znajdować się w całkowicie nowej podsieci utworzonej dla niej (w ramach Połączenia Dostępu do Usługi Prywatnej, które jest peerem VPC). Dlatego może być konieczne wyliczenie peerów VPC w celu uruchomienia nmap na tych zakresach sieciowych.

# Get peerings
gcloud compute networks peerings list
# Get routes imported from a peering
gcloud compute networks peerings list-routes <peering-name> --network=<network-name> --region=<region> --direction=INCOMING

Eskalacja uprawnień i wykorzystanie po włamaniu

Nie ma bezpośrednich sposobów eskalacji uprawnień w usłudze GCP, ale korzystając z niektórych sztuczek wykorzystania po włamaniu, można uzyskać dostęp do danych i być może znajdziesz pewne poświadczenia do eskalacji uprawnień:

GCP - Filestore Post Exploitation

Trwałość

GCP - Filestore Persistence
Wesprzyj HackTricks

Last updated