Az - Table Storage

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks

Informations de base

Azure Table Storage est un magasin de valeurs clĂ© NoSQL conçu pour stocker de grands volumes de donnĂ©es structurĂ©es et non relationnelles. Il offre une haute disponibilitĂ©, une faible latence et une Ă©volutivitĂ© pour gĂ©rer efficacement de grands ensembles de donnĂ©es. Les donnĂ©es sont organisĂ©es en tables, chaque entitĂ© Ă©tant identifiĂ©e par une clĂ© de partition et une clĂ© de ligne, permettant des recherches rapides. Il prend en charge des fonctionnalitĂ©s telles que le chiffrement au repos, le contrĂŽle d’accĂšs basĂ© sur les rĂŽles et les signatures d’accĂšs partagĂ© pour un stockage sĂ©curisĂ© et gĂ©rĂ© adaptĂ© Ă  un large Ă©ventail d’applications.

Il n’y a pas de mĂ©canisme de sauvegarde intĂ©grĂ© pour le stockage de tables.

Clés

PartitionKey

  • Le PartitionKey regroupe les entitĂ©s en partitions logiques. Les entitĂ©s ayant le mĂȘme PartitionKey sont stockĂ©es ensemble, ce qui amĂ©liore les performances des requĂȘtes et l’évolutivitĂ©.
  • Exemple : Dans une table stockant des donnĂ©es d’employĂ©s, PartitionKey pourrait reprĂ©senter un dĂ©partement, par exemple, "RH" ou "IT".

RowKey

  • Le RowKey est l’identifiant unique d’une entitĂ© au sein d’une partition. Lorsqu’il est combinĂ© avec le PartitionKey, il garantit que chaque entitĂ© dans la table a un identifiant unique au niveau mondial.
  • Exemple : Pour la partition "RH", RowKey pourrait ĂȘtre un identifiant d’employĂ©, par exemple, "12345".

Autres Propriétés (Propriétés Personnalisées)

  • En plus du PartitionKey et du RowKey, une entitĂ© peut avoir des propriĂ©tĂ©s personnalisĂ©es supplĂ©mentaires pour stocker des donnĂ©es. Celles-ci sont dĂ©finies par l’utilisateur et agissent comme des colonnes dans une base de donnĂ©es traditionnelle.
  • Les propriĂ©tĂ©s sont stockĂ©es sous forme de paires clĂ©-valeur.
  • Exemple : Nom, Âge, Titre pourraient ĂȘtre des propriĂ©tĂ©s personnalisĂ©es pour un employĂ©.

ÉnumĂ©ration

# Get storage accounts
az storage account list

# List tables
az storage table list --account-name <name>

# Read table
az storage entity query \
--account-name <name> \
--table-name <t-name> \
--top 10

# Write table
az storage entity insert \
--account-name <STORAGE_ACCOUNT_NAME> \
--table-name <TABLE_NAME> \
--entity PartitionKey=<PARTITION_KEY> RowKey=<ROW_KEY> <PROPERTY_KEY>=<PROPERTY_VALUE>

# Write example
az storage entity insert \
--account-name mystorageaccount \
--table-name mytable \
--entity PartitionKey=HR RowKey=12345 Name="John Doe" Age=30 Title="Manager"

# Update row
az storage entity merge \
--account-name mystorageaccount \
--table-name mytable \
--entity PartitionKey=pk1 RowKey=rk1 Age=31

Note

Par dĂ©faut, az cli utilisera une clĂ© de compte pour signer une clĂ© et effectuer l’action. Pour utiliser les privilĂšges du principal Entra ID, utilisez les paramĂštres --auth-mode login.

Tip

Utilisez le paramÚtre --account-key pour indiquer la clé de compte à utiliser
Utilisez le paramÚtre --sas-token avec le token SAS pour accéder via un token SAS

ÉlĂ©vation de privilĂšges

Identique Ă  la privesc de stockage :

Az - Storage Privesc

Post-exploitation

Az - Table Storage Post Exploitation

Persistance

Identique Ă  la persistance de stockage :

Az - Storage Persistence

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks