GCP - Filestore Post Exploitation

Support HackTricks

Filestore

Aby uzyskać więcej informacji o Filestore, sprawdź:

GCP - Filestore Enum

Mount Filestore

Wspólny system plików może zawierać wrażliwe informacje interesujące z perspektywy atakującego. Mając dostęp do Filestore, możliwe jest zamontowanie go:

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

Aby znaleźć adres IP instancji filestore, sprawdź sekcję enumeracji na stronie:

GCP - Filestore Enum

Usuń ograniczenia i uzyskaj dodatkowe uprawnienia

Jeśli atakujący nie znajduje się w adresie IP z dostępem do udostępnienia, ale masz wystarczające uprawnienia, aby je zmodyfikować, możliwe jest usunięcie ograniczeń lub dostępu do niego. Możliwe jest również przyznanie większych uprawnień dla twojego adresu IP, aby uzyskać dostęp administratora do udostępnienia:

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
}
]
}
}

Przywróć kopię zapasową

Jeśli istnieje kopia zapasowa, możliwe jest przywrócenie jej w istniejącej lub nowej instancji, aby jej informacje stały się dostępne:

# 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

Utwórz kopię zapasową i przywróć ją

Jeśli nie masz dostępu do udostępnienia i nie chcesz go modyfikować, możliwe jest utworzenie kopii zapasowej i przywrócenie jej, jak wcześniej wspomniano:

# 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
Wsparcie HackTricks

Last updated