Az - Table Storage
Reading time: 4 minutes
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Grundinformationen
Azure Table Storage ist ein NoSQL-Key-Value-Speicher, der für die Speicherung großer Mengen strukturierter, nicht-relationaler Daten konzipiert ist. Es bietet hohe Verfügbarkeit, niedrige Latenz und Skalierbarkeit, um große Datensätze effizient zu verarbeiten. Daten sind in Tabellen organisiert, wobei jede Entität durch einen Partition Key und einen Row Key identifiziert wird, was schnelle Abfragen ermöglicht. Es unterstützt Funktionen wie Verschlüsselung im Ruhezustand, rollenbasierte Zugriffskontrolle und Shared Access Signatures für sicheren, verwalteten Speicher, der für eine Vielzahl von Anwendungen geeignet ist.
Es gibt keinen integrierten Backup-Mechanismus für Table Storage.
Schlüssel
PartitionKey
- Der PartitionKey gruppiert Entitäten in logische Partitionen. Entitäten mit demselben PartitionKey werden zusammen gespeichert, was die Abfrageleistung und Skalierbarkeit verbessert.
- Beispiel: In einer Tabelle, die Mitarbeiterdaten speichert, könnte der
PartitionKey
eine Abteilung darstellen, z.B."HR"
oder"IT"
.
RowKey
- Der RowKey ist der eindeutige Identifikator für eine Entität innerhalb einer Partition. In Kombination mit dem PartitionKey stellt er sicher, dass jede Entität in der Tabelle einen global eindeutigen Identifikator hat.
- Beispiel: Für die Partition
"HR"
könnte derRowKey
eine Mitarbeiter-ID sein, z.B."12345"
.
Weitere Eigenschaften (Benutzerdefinierte Eigenschaften)
- Neben dem PartitionKey und RowKey kann eine Entität zusätzliche benutzerdefinierte Eigenschaften zur Speicherung von Daten haben. Diese sind benutzerdefiniert und fungieren wie Spalten in einer traditionellen Datenbank.
- Eigenschaften werden als Schlüssel-Wert-Paare gespeichert.
- Beispiel:
Name
,Alter
,Titel
könnten benutzerdefinierte Eigenschaften für einen Mitarbeiter sein.
Aufzählung
# 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
Standardmäßig verwendet die az
CLI einen Kontoschlüssel, um einen Schlüssel zu signieren und die Aktion auszuführen. Um die Berechtigungen des Entra ID-Prinzipals zu verwenden, verwenden Sie die Parameter --auth-mode login
.
tip
Verwenden Sie den Parameter --account-key
, um den zu verwendenden Kontoschlüssel anzugeben
Verwenden Sie den Parameter --sas-token
mit dem SAS-Token, um über ein SAS-Token zuzugreifen
Privilegieneskalation
Gleich wie bei der Speicherprivilegieneskalation:
Post-Exploitation
Az - Table Storage Post Exploitation
Persistenz
Gleich wie bei der Speicherpersistenz:
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.