# Az - Table Storage Post Exploitation

{{#include ../../../banners/hacktricks-training.md}}

## Table Storage Post Exploitation

Per ulteriori informazioni su table storage, controlla:

{{#ref}}
../az-services/az-table-storage.md
{{#endref}}

### Microsoft.Storage/storageAccounts/tableServices/tables/entities/read

Un principale con questo permesso sarà in grado di **elencare** le tabelle all'interno di un table storage e **leggere le informazioni** che potrebbero contenere **informazioni sensibili**.
```bash
# List tables
az storage table list --auth-mode login --account-name <name>

# Read table (top 10)
az storage entity query \
--account-name <name> \
--table-name <t-name> \
--auth-mode login \
--top 10
```
### Microsoft.Storage/storageAccounts/tableServices/tables/entities/write | Microsoft.Storage/storageAccounts/tableServices/tables/entities/add/action | Microsoft.Storage/storageAccounts/tableServices/tables/entities/update/action

Un principale con questo permesso sarà in grado di **scrivere e sovrascrivere voci nelle tabelle**, il che potrebbe permettergli di causare danni o addirittura di elevare i privilegi (ad esempio, sovrascrivere alcuni dati fidati che potrebbero sfruttare una vulnerabilità di iniezione nell'app che li utilizza).

- Il permesso `Microsoft.Storage/storageAccounts/tableServices/tables/entities/write` consente tutte le azioni.
- Il permesso `Microsoft.Storage/storageAccounts/tableServices/tables/entities/add/action` consente di **aggiungere** voci.
- Il permesso `Microsoft.Storage/storageAccounts/tableServices/tables/entities/update/action` consente di **aggiornare** voci esistenti.
```bash
# Add
az storage entity insert \
--account-name <acc-name> \
--table-name <t-name> \
--auth-mode login \
--entity PartitionKey=HR RowKey=12345 Name="John Doe" Age=30 Title="Manager"

# Replace
az storage entity replace \
--account-name <acc-name> \
--table-name <t-name> \
--auth-mode login \
--entity PartitionKey=HR RowKey=12345 Name="John Doe" Age=30 Title="Manager"

# Update
az storage entity merge \
--account-name <acc-name> \
--table-name <t-name> \
--auth-mode login \
--entity PartitionKey=HR RowKey=12345 Name="John Doe" Age=30 Title="Manager"
```
### \*/delete

Questo permetterebbe di eliminare file all'interno del filesystem condiviso, il che potrebbe **interrompere alcuni servizi** o far perdere al cliente **informazioni preziose**.

{{#include ../../../banners/hacktricks-training.md}}
