GCP - Filestore Enum

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :

Informations de base

Google Cloud Filestore est un service de stockage de fichiers géré conçu pour les applications ayant besoin à la fois d'une interface de système de fichiers et d'un système de fichiers partagé pour les données. Ce service se distingue en offrant des partages de fichiers haute performance, qui peuvent être intégrés à divers services GCP. Son utilité se manifeste dans des scénarios où des interfaces et sémantiques de système de fichiers traditionnels sont cruciaux, tels que le traitement des médias, la gestion de contenu et la sauvegarde de bases de données.

Vous pouvez le considérer comme tout autre dépôt de documents partagés NFS - une source potentielle d'informations sensibles.

Connexions

Lors de la création d'une instance Filestore, il est possible de sélectionner le réseau sur lequel elle sera accessible.

De plus, par défaut, tous les clients sur le réseau VPC et la région sélectionnés pourront y accéder, cependant, il est possible de restreindre l'accès également par adresse IP ou plage et indiquer le privilège d'accès (Administrateur, Administrateur Viewer, Éditeur, Viewer) que l'utilisateur du client va obtenir en fonction de l'adresse IP.

Il peut également être accessible via une connexion d'accès à un service privé :

  • Sont par réseau VPC et peuvent être utilisés avec tous les services gérés tels que Memorystore, Tensorflow et SQL.

  • Sont entre votre réseau VPC et le réseau détenu par Google en utilisant un couplage VPC, permettant à vos instances et services de communiquer exclusivement en utilisant des adresses IP internes.

  • Crée un projet isolé pour vous du côté du producteur de services, ce qui signifie qu'aucun autre client ne le partage. Vous serez facturé uniquement pour les ressources que vous provisionnez.

  • Le couplage VPC importera de nouvelles routes dans votre VPC.

Sauvegardes

Il est possible de créer des sauvegardes des partages de fichiers. Celles-ci peuvent être ensuite restaurées dans l'instance d'origine du nouveau partage de fichiers ou dans de nouveaux.

Chiffrement

Par défaut, une clé de chiffrement gérée par Google sera utilisée pour chiffrer les données, mais il est possible de sélectionner une clé de chiffrement gérée par le client (CMEK).

Énumération

Si vous trouvez un filestore disponible dans le projet, vous pouvez le monter depuis votre instance Compute compromise. Utilisez la commande suivante pour voir s'il en existe.

# 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

Notez qu'un service de stockage de fichiers pourrait se trouver dans un tout nouveau sous-réseau créé pour lui (à l'intérieur d'une connexion d'accès à un service privé, qui est un pair de VPC). Vous pourriez donc avoir besoin de énumérer les pairs de VPC pour également exécuter nmap sur ces plages réseau.

# 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

Élévation de privilèges et post-exploitation

Il n'y a pas de moyens d'escalader les privilèges dans GCP en abusant directement de ce service, mais en utilisant quelques astuces de post-exploitation, il est possible d'accéder aux données et peut-être trouver des identifiants pour escalader les privilèges :

Persistance

Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!

Autres façons de soutenir HackTricks :

Dernière mise à jour