GCP - Filestore Enum

Aprende hacking en AWS desde cero hasta experto con htARTE (Experto en Equipos Rojos de AWS de HackTricks)!

Otras formas de apoyar a HackTricks:

Información Básica

Google Cloud Filestore es un servicio de almacenamiento de archivos gestionado diseñado para aplicaciones que necesitan tanto una interfaz de sistema de archivos como un sistema de archivos compartido para datos. Este servicio destaca al ofrecer comparticiones de archivos de alto rendimiento, que pueden integrarse con varios servicios de GCP. Su utilidad brilla en escenarios donde las interfaces y semántica de sistemas de archivos tradicionales son cruciales, como en el procesamiento de medios, la gestión de contenido y la copia de seguridad de bases de datos.

Puedes pensar en esto como cualquier otro repositorio de documentos compartidos NFS - una posible fuente de información sensible.

Conexiones

Al crear una instancia de Filestore es posible seleccionar la red donde va a ser accesible.

Además, de forma predeterminada todos los clientes en la red VPC seleccionada y región podrán acceder a él, sin embargo, es posible restringir el acceso también por dirección IP o rango e indicar el privilegio de acceso (Administrador, Administrador de Visualización, Editor, Visualizador) que el cliente va a obtener dependiendo de la dirección IP.

También puede ser accesible a través de una Conexión de Acceso a Servicios Privados:

  • Son por red VPC y se pueden utilizar en todos los servicios gestionados como Memorystore, Tensorflow y SQL.

  • Son entre tu red VPC y la red propiedad de Google utilizando un emparejamiento de VPC, permitiendo que tus instancias y servicios se comuniquen exclusivamente utilizando direcciones IP internas.

  • Crea un proyecto aislado para ti en el lado del productor de servicios, lo que significa que ningún otro cliente lo comparte. Se te facturará solo por los recursos que provisiones.

  • El emparejamiento de VPC importará nuevas rutas a tu VPC

Copias de Seguridad

Es posible crear copias de seguridad de las comparticiones de archivos. Estas pueden ser luego restauradas en el origen de la nueva instancia de Fileshare o en nuevas.

Encriptación

Por defecto se utilizará una clave de encriptación gestionada por Google para encriptar los datos, pero es posible seleccionar una clave de encriptación gestionada por el cliente (CMEK).

Enumeración

Si encuentras un filestore disponible en el proyecto, puedes montarlo desde tu Instancia de Cómputo comprometida. Utiliza el siguiente comando para ver si existe alguno.

# 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

Ten en cuenta que un servicio de almacenamiento de archivos podría estar en una subred completamente nueva creada para él (dentro de una Conexión de Acceso a Servicios Privados, que es un VPC peer). Por lo tanto, es posible que necesites enumerar los VPC peers para también ejecutar nmap en esos rangos de red.

# 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

Escalada de privilegios y post explotación

No hay formas de escalar privilegios en GCP abusando directamente de este servicio, pero usando algunos trucos de post explotación es posible acceder a los datos y tal vez puedas encontrar algunas credenciales para escalar privilegios:

pageGCP - Filestore Post Exploitation

Persistencia

pageGCP - Filestore Persistence
Aprende hacking en AWS desde cero hasta experto con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Última actualización