# GCP - Filestore Enum

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

## 基本情報

Google Cloud Filestoreは、**ファイルシステムインターフェースとデータの共有ファイルシステム**の両方を必要とするアプリケーション向けに特化した**管理されたファイルストレージサービス**です。このサービスは、高性能なファイル共有を提供し、さまざまなGCPサービスと統合できる点で優れています。従来のファイルシステムインターフェースとセマンティクスが重要なシナリオ、例えばメディア処理、コンテンツ管理、データベースのバックアップなどでその有用性が際立ちます。

これは、他の**NFS** **共有ドキュメントリポジトリ**のように考えることができ、機密情報の潜在的なソースとなります。

### 接続

Filestoreインスタンスを作成する際には、**アクセス可能なネットワークを選択することができます**。

さらに、**デフォルトでは選択したVPCネットワークとリージョンのすべてのクライアントがアクセスできるようになります**が、**IPアドレス**または範囲によってアクセスを**制限することも可能**で、クライアントが得るアクセス権限（Admin、Admin Viewer、Editor、Viewer）を**IPアドレスに応じて指定**できます。

また、**プライベートサービスアクセス接続**を介してアクセスすることも可能です：

- VPCネットワークごとにあり、Memorystore、Tensorflow、SQLなどのすべての管理サービスで使用できます。
- **VPCピアリングを使用して、Googleが所有するネットワークとあなたのVPCネットワークの間にあります**。これにより、インスタンスとサービスが**内部IPアドレスを使用して専用に通信**できます。
- サービスプロデューサー側にあなた専用の孤立したプロジェクトを作成し、他の顧客と共有されることはありません。プロビジョニングしたリソースに対してのみ請求されます。
- VPCピアリングは、新しいルートをあなたのVPCにインポートします。

### バックアップ

**ファイル共有のバックアップを作成することが可能です**。これらは後で**元の新しいファイル共有インスタンス**または**新しいものに復元**できます。

### 暗号化

デフォルトでは、**Google管理の暗号化キー**がデータを暗号化するために使用されますが、**顧客管理の暗号化キー（CMEK）**を選択することも可能です。

### 列挙

プロジェクト内で利用可能なFilestoreを見つけた場合、侵害されたCompute Instance内から**マウントすることができます**。次のコマンドを使用して、存在するかどうかを確認してください。
```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]
> Note that a filestore service might be in a **完全に新しいサブネットワークが作成されている**（プライベートサービスアクセス接続内、これは**VPCピア**です）。\
> そのため、**VPCピアを列挙する**必要があり、これらのネットワーク範囲でnmapを実行する必要があります。
>
> ```bash
> # ピアリングを取得
> gcloud compute networks peerings list
> # ピアリングからインポートされたルートを取得
> gcloud compute networks peerings list-routes <peering-name> --network=<network-name> --region=<region> --direction=INCOMING
> ```

### 権限昇格とポストエクスプロイト

このサービスを直接悪用してGCPで権限を昇格させる方法はありませんが、いくつかの**ポストエクスプロイトのトリックを使用することでデータにアクセスすることが可能です**。おそらく権限を昇格させるための資格情報を見つけることができるかもしれません：

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

### 永続性

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

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