GCP - Bigtable Enum

Tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks

Bigtable

Google Cloud Bigtable è un database NoSQL fully managed e scalabile progettato per applicazioni che richiedono throughput molto elevato e latenza molto bassa. È pensato per gestire quantità massive di dati — petabyte su migliaia di nodi — fornendo comunque prestazioni rapide in lettura e scrittura. Bigtable è ideale per carichi di lavoro come dati di serie temporali, telemetria IoT, analisi finanziarie, motori di personalizzazione e database operativi su larga scala. Usa come modello di archiviazione sottostante una mappa ordinata, multidimensionale, sparsa e distribuita, il che la rende efficiente nello stoccare tabelle “wide” dove molte colonne possono essere vuote. Learn more.

Gerarchia

  1. Bigtable Instance

Una istanza Bigtable è la risorsa di livello superiore che crei. Non memorizza dati di per sé — pensala come un contenitore logico che raggruppa cluster e tabelle.

Esistono due tipi di istanze:

  • Development instance (single-node, economica, non per ambienti di produzione)
  • Production instance (può avere più cluster)
  1. Clusters

Un cluster contiene le risorse di calcolo e storage effettive usate per servire i dati di Bigtable.

  • Ogni cluster risiede in una singola regione.
  • È composto da nodi, che forniscono CPU, RAM e capacità di rete.
  • Puoi creare istanze multi-cluster per alta disponibilità o letture/scritture globali.
  • I dati vengono replicati automaticamente tra i cluster della stessa istanza.

Importante:

  • Le tabelle appartengono all’istanza, non a un cluster specifico.
  • I cluster forniscono semplicemente le risorse per servire i dati.
  1. Tables

Una tabella in Bigtable è simile a una tabella in database NoSQL:

  • I dati sono memorizzati in righe, identificate da una row key.
  • Ogni riga contiene column family, che a loro volta contengono colonne.
  • È sparsa: le celle vuote non consumano spazio.
  • Bigtable memorizza i dati ordinati lessicograficamente per row key.

Le tabelle sono servite da tutti i cluster nell’istanza.

  1. Tablets (and Hot Tablets)

Bigtable suddivide ogni tabella in partizioni orizzontali chiamate tablets. Un tablet è:

  • Un intervallo contiguo di row key.
  • Memorizzato su un singolo nodo in un dato momento.
  • I tablet vengono automaticamente splittati, uniti e spostati da Bigtable.

Un hot tablet si verifica quando:

  • Troppe letture o scritture colpiscono lo stesso intervallo di row-key (lo stesso tablet).
  • Quel tablet/nodo specifico diventa sovraccarico.
  • Questo porta a hotspot (colli di bottiglia nelle prestazioni).
  1. Authorized Views

Le authorized views permettono di creare un sottoinsieme dei dati di una tabella che può essere condiviso con utenti o applicazioni specifiche senza dare accesso all’intera tabella. Questo è utile per:

  • Limitare l’accesso a dati sensibili.
  • Fornire accesso in sola lettura a colonne o righe specifiche.
  1. App Profiles

Un app profile Bigtable è una configurazione che definisce come una specifica applicazione o client dovrebbe interagire con un’istanza Bigtable, specialmente in ambienti con più cluster. Controlla il comportamento di routing — se le richieste devono essere indirizzate a un singolo cluster o distribuite tra più cluster per alta disponibilità — e governa come le scritture vengono replicate, scegliendo tra modalità sincrona (consistenza più forte) o asincrona (minore latenza).

# Cloud Bigtable
gcloud bigtable instances list
gcloud bigtable instances describe <instance>
gcloud bigtable instances get-iam-policy <instance>

## Clusters
gcloud bigtable clusters list
gcloud bigtable clusters describe <cluster>

## Tables
gcloud bigtable tables list --instance <INSTANCE>
gcloud bigtable tables describe --instance <INSTANCE> <TABLE>
gcloud bigtable tables get-iam-policy --instance <INSTANCE> <TABLE>

## Backups
gcloud bigtable backups list --instance <INSTANCE>
gcloud bigtable backups describe --instance <INSTANCE> <backupname>
gcloud bigtable backups get-iam-policy --instance <INSTANCE> <backupname>

## Hot Tables
gcloud bigtable hot-tablets list

## App Profiles
gcloud bigtable app-profiles list --instance <INSTANCE>
gcloud bigtable app-profiles describe --instance <INSTANCE> <app-prof>

## Authorized Views
gcloud bigtable authorized-views list --instance <INSTANCE> --table <TABLE>
gcloud bigtable authorized-views describe --instance <INSTANCE> --table <TABLE> <VIEW>

Privilege Escalation

GCP - Bigtable Privesc

Post Exploitation

GCP - Bigtable Post Exploitation

Persistence

GCP - Bigtable Persistence

Tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks