Az - Table Storage
Reading time: 4 minutes
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.
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 :
Post-exploitation
Az - Table Storage Post Exploitation
Persistance
Identique à la persistance de stockage :
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.