# GCP - Filestore Enum

{{#include ../../../banners/hacktricks-training.md}}

## Osnovne informacije

Google Cloud Filestore je **upravljana usluga za skladištenje datoteka** prilagođena aplikacijama koje zahtevaju i **interfejs datotečnog sistema i zajednički datotečni sistem za podatke**. Ova usluga se ističe pružanjem visokih performansi deljenja datoteka, koje se mogu integrisati sa raznim GCP uslugama. Njena korisnost se posebno ističe u scenarijima gde su tradicionalni interfejsi i semantika datotečnih sistema ključni, kao što su obrada medija, upravljanje sadržajem i pravljenje rezervnih kopija baza podataka.

Možete to zamisliti kao bilo koji drugi **NFS** **zajednički repozitorijum dokumenata -** potencijalni izvor osetljivih informacija.

### Povezivanje

Kada kreirate Filestore instancu, moguće je **izabrati mrežu gde će biti dostupna**.

Štaviše, **po defaultu, svi klijenti na odabranoj VPC mreži i regionu će moći da joj pristupe**, međutim, moguće je **ograničiti pristup i po IP adresi** ili opsegu i odrediti privilegije pristupa (Admin, Admin Viewer, Editor, Viewer) koje će korisnik klijenta dobiti **u zavisnosti od IP adrese.**

Takođe može biti dostupna putem **Privatne usluge pristupne veze:**

- Su po VPC mreži i mogu se koristiti širom svih upravljanih usluga kao što su Memorystore, Tensorflow i SQL.
- Su **između vaše VPC mreže i mreže koju poseduje Google koristeći VPC peering**, omogućavajući vašim instancama i uslugama da komuniciraju isključivo **koristeći interne IP adrese**.
- Kreiraju izolovani projekat za vas na strani proizvođača usluga, što znači da nijedan drugi kupac ne deli tu uslugu. Bićete naplaćeni samo za resurse koje obezbedite.
- VPC peering će uvesti nove rute u vašu VPC

### Rezervne kopije

Moguće je kreirati **rezervne kopije deljenja datoteka**. Ove se mogu kasnije **vratiti u izvor** novu Fileshare instancu ili u **nove**.

### Enkripcija

Po defaultu će se koristiti **Google-upravljani ključ za enkripciju** za enkripciju podataka, ali je moguće izabrati **Ključ za enkripciju koji upravlja kupac (CMEK)**.

### Enumeracija

Ako pronađete filestore dostupan u projektu, možete ga **montirati** iz vaše kompromitovane Compute Instance. Koristite sledeću komandu da vidite da li neki postoje.
```bash
# 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
```
> [!CAUTION]
> Imajte na umu da usluga filestore može biti u **potpuno novoj podmreži kreiranoj za nju** (unutar Privatne usluge pristupa, koja je **VPC peer**).\
> Tako da možda treba da **enumerišete VPC peerove** da biste takođe pokrenuli nmap preko tih mrežnih opsega.
>
> ```bash
> # 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
> ```

### Privilege Escalation & Post Exploitation

Ne postoje načini za eskalaciju privilegija u GCP direktno zloupotrebom ove usluge, ali korišćenjem nekih **Post Exploitation trikova moguće je dobiti pristup podacima** i možda možete pronaći neke akreditive za eskalaciju privilegija:

{{#ref}}
../gcp-post-exploitation/gcp-filestore-post-exploitation.md
{{#endref}}

### Persistence

{{#ref}}
../gcp-persistence/gcp-filestore-persistence.md
{{#endref}}

{{#include ../../../banners/hacktricks-training.md}}
