# GCP - Filestore Post Exploitation

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

## Filestore

Vir meer inligting oor Filestore, kyk:

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

### Koppel Filestore

'n gedeelde lêerstelsel **mag sensitiewe inligting bevat** wat vir 'n aanvaller interessant is. Met toegang tot die Filestore is dit moontlik om dit te **koppel**:

<details>

<summary>Koppel Filestore lêerstelsel</summary>
```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
```
</details>

Om die IP address van 'n filestore instance te vind, kyk na die enumerasie-afdeling van die bladsy:

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

### Verwyder beperkings en kry ekstra permissions

As die aanvaller nie vanaf 'n IP address met toegang tot die share is nie, maar jy het genoeg permissions om dit te wysig, is dit moontlik om die beperkings of toegang daarop te verwyder. Dit is ook moontlik om meer voorregte aan jou IP address te gee sodat jy admin-toegang tot die share kry:

<details>

<summary>Werk Filestore instance by om toegang toe te laat</summary>
```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
}
]
}
}
```
</details>

### Herstel 'n rugsteun

As daar 'n rugsteun is, is dit moontlik om dit in 'n bestaande of in 'n nuwe instansie te **herstel** sodat die **inligting toeganklik word:**

<details>

<summary>Skep 'n nuwe instansie en herstel die rugsteun</summary>
```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
```
</details>

### Skep 'n backup en herstel dit

As jy **nie toegang tot 'n share het en dit nie wil wysig nie**, is dit moontlik om daarvan 'n **backup** te **skep** en dit te **herstel** soos voorheen genoem:

<details>

<summary>Skep backup en herstel in nuwe instance</summary>
```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
```
</details>

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