GCP - Bigtable Privesc

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

Bigtable

Για περισσότερες πληροφορίες σχετικά με το Bigtable, δείτε:

GCP - Bigtable Enum

bigtable.instances.setIamPolicy

Δικαιώματα: bigtable.instances.setIamPolicy (και συνήθως bigtable.instances.getIamPolicy για να διαβάσετε τα τρέχοντα bindings).

Η κατοχή της πολιτικής IAM του instance σας επιτρέπει να δώσετε στον εαυτό σας roles/bigtable.admin (ή οποιονδήποτε προσαρμοσμένο ρόλο), ο οποίος εφαρμόζεται σε κάθε cluster, πίνακα, αντίγραφο ασφαλείας και εξουσιοδοτημένη προβολή στο instance.

Χορηγήστε στον εαυτό σας τον ρόλο bigtable.admin στο instance ```bash gcloud bigtable instances add-iam-policy-binding \ --member='user:' \ --role='roles/bigtable.admin' ```

Tip

Εάν δεν μπορείτε να απαριθμήσετε τα υπάρχοντα bindings, δημιουργήστε ένα νέο policy document και εφαρμόστε το με gcloud bigtable instances set-iam-policy εφ’ όσον διατηρείτε τον εαυτό σας σε αυτό.

Αφού έχετε αυτό το δικαίωμα, ελέγξτε τις τεχνικές στην Bigtable Post Exploitation section για περισσότερους τρόπους κατάχρησης των αδειών του Bigtable.

bigtable.tables.setIamPolicy

Δικαιώματα: bigtable.tables.setIamPolicy (προαιρετικά bigtable.tables.getIamPolicy).

Οι πολιτικές του instance μπορούν να κλειδωθούν ενώ μεμονωμένοι πίνακες εκχωρούνται. Αν μπορείτε να επεξεργαστείτε το IAM του πίνακα, μπορείτε να αναβαθμίσετε τον εαυτό σας σε owner του στοχευόμενου dataset χωρίς να αγγίξετε άλλα workloads.

Χορήγησε στον εαυτό σου τον ρόλο bigtable.admin στον πίνακα ```bash gcloud bigtable tables add-iam-policy-binding \ --instance= \ --member='user:' \ --role='roles/bigtable.admin' ```

After having this permission check in the Bigtable Post Exploitation section techniques for more ways to abuse Bigtable permissions.

bigtable.backups.setIamPolicy

Permissions: bigtable.backups.setIamPolicy

Backups can be restored to any instance in any project you control. First, give your identity access to the backup, then restore it into a sandbox where you hold Admin/Owner roles.

If you have the permission bigtable.backups.setIamPolicy you could grant yourself the permission bigtable.backups.restore to restore old backups and try to access sensitiv information.

Ανάληψη κυριότητας του snapshot του backup ```bash # Take ownership of the snapshot gcloud bigtable backups add-iam-policy-binding \ --instance= --cluster= \ --member='user:' \ --role='roles/bigtable.admin' ```

Αφού έχετε αυτόν τον έλεγχο δικαιωμάτων στην Bigtable Post Exploitation section για να δείτε πώς να επαναφέρετε ένα αντίγραφο ασφαλείας.

Update authorized view

Δικαιώματα: bigtable.authorizedViews.update

Οι Authorized Views προορίζονται να αποκρύπτουν σειρές/στήλες. Η τροποποίηση ή διαγραφή τους αφαιρεί τα λεπτομερή μέτρα προστασίας στα οποία βασίζονται οι υπερασπιστές.

Update authorized view to broaden access ```bash # Broaden the subset by uploading a permissive definition gcloud bigtable authorized-views update \ --instance= --table= \ --definition-file=/tmp/permissive-view.json --ignore-warnings

Json example not filtering any row or column

cat <<‘EOF’ > /tmp/permissive-view.json { “subsetView”: { “rowPrefixes”: [“”], “familySubsets”: { “”: { “qualifierPrefixes”: [“”] } } } } EOF

Describe the authorized view to get a family name

gcloud bigtable authorized-views describe
–instance= –table=

</details>

Μετά από αυτόν τον έλεγχο δικαιωμάτων στην [**Bigtable Post Exploitation section**](../gcp-post-exploitation/gcp-bigtable-post-exploitation.md) για να δείτε πώς να διαβάσετε από ένα Authorized View.

### `bigtable.authorizedViews.setIamPolicy`

**Δικαιώματα:**  `bigtable.authorizedViews.setIamPolicy`.

An attacker με αυτό το δικαίωμα μπορεί να παραχωρήσει στον εαυτό του πρόσβαση σε ένα Authorized View, το οποίο μπορεί να περιέχει ευαίσθητα δεδομένα στα οποία διαφορετικά δεν θα είχε πρόσβαση.

<details><summary>Παραχωρήστε στον εαυτό σας πρόσβαση σε Authorized View</summary>
```bash
# Give more permissions over an existing view
gcloud bigtable authorized-views add-iam-policy-binding <view-id> \
--instance=<instance-id> --table=<table-id> \
--member='user:<attacker@example.com>' \
--role='roles/bigtable.viewer'

Μετά από αυτόν τον έλεγχο δικαιωμάτων στην Bigtable Post Exploitation section για να δείτε πώς να διαβάσετε από μια εξουσιοδοτημένη προβολή.

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks