# Az - Queue Storage Post Exploitation

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

## Queue

Per ulteriori informazioni controlla:

{{#ref}}
../az-services/az-queue.md
{{#endref}}

### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/read`

Un attaccante con questo permesso può visualizzare i messaggi da una Azure Storage Queue. Questo consente all'attaccante di vedere il contenuto dei messaggi senza contrassegnarli come elaborati o alterare il loro stato. Questo potrebbe portare a un accesso non autorizzato a informazioni sensibili, consentendo l'exfiltrazione dei dati o la raccolta di informazioni per ulteriori attacchi.
```bash
az storage message peek --queue-name <queue_name> --account-name <storage_account>
```
**Impatto Potenziale**: Accesso non autorizzato alla coda, esposizione dei messaggi o manipolazione della coda da parte di utenti o servizi non autorizzati.

### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/process/action`

Con questo permesso, un attaccante può recuperare e elaborare messaggi da una Azure Storage Queue. Ciò significa che possono leggere il contenuto del messaggio e contrassegnarlo come elaborato, nascondendolo di fatto dai sistemi legittimi. Questo potrebbe portare all'esposizione di dati sensibili, interruzioni nel modo in cui i messaggi vengono gestiti, o addirittura fermare flussi di lavoro importanti rendendo i messaggi non disponibili per gli utenti previsti.
```bash
az storage message get --queue-name <queue_name> --account-name <storage_account>
```
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/add/action`

Con questo permesso, un attaccante può aggiungere nuovi messaggi a una Azure Storage Queue. Questo consente loro di iniettare dati dannosi o non autorizzati nella coda, potenzialmente attivando azioni indesiderate o interrompendo i servizi a valle che elaborano i messaggi.
```bash
az storage message put --queue-name <queue-name> --content "Injected malicious message" --account-name <storage-account>
```
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/write`

Questo permesso consente a un attaccante di aggiungere nuovi messaggi o aggiornare quelli esistenti in una Azure Storage Queue. Utilizzando questo, potrebbero inserire contenuti dannosi o alterare messaggi esistenti, potenzialmente fuorviando le applicazioni o causando comportamenti indesiderati nei sistemi che si basano sulla coda.
```bash
az storage message put --queue-name <queue-name> --content "Injected malicious message" --account-name <storage-account>

#Update the message
az storage message update --queue-name <queue-name> \
--id <message-id> \
--pop-receipt <pop-receipt> \
--content "Updated message content" \
--visibility-timeout <timeout-in-seconds> \
--account-name <storage-account>
```
### Azioni: `Microsoft.Storage/storageAccounts/queueServices/queues/delete`

Questo permesso consente a un attaccante di eliminare le code all'interno dell'account di archiviazione. Sfruttando questa capacità, un attaccante può rimuovere permanentemente le code e tutti i loro messaggi associati, causando significative interruzioni ai flussi di lavoro e portando a una perdita critica di dati per le applicazioni che dipendono dalle code interessate. Questa azione può anche essere utilizzata per sabotare i servizi rimuovendo componenti essenziali del sistema.
```bash
az storage queue delete --name <queue-name> --account-name <storage-account>
```
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/delete`

Con questo permesso, un attaccante può cancellare tutti i messaggi da una Azure Storage Queue. Questa azione rimuove tutti i messaggi, interrompendo i flussi di lavoro e causando la perdita di dati per i sistemi dipendenti dalla coda.
```bash
az storage message clear --queue-name <queue-name> --account-name <storage-account>
```
### Azioni: `Microsoft.Storage/storageAccounts/queueServices/queues/write`

Questo permesso consente a un attaccante di creare o modificare code e le loro proprietà all'interno dell'account di archiviazione. Può essere utilizzato per creare code non autorizzate, modificare i metadati o cambiare le liste di controllo degli accessi (ACL) per concedere o limitare l'accesso. Questa capacità potrebbe interrompere i flussi di lavoro, iniettare dati dannosi, esfiltrare informazioni sensibili o manipolare le impostazioni della coda per abilitare ulteriori attacchi.
```bash
az storage queue create --name <new-queue-name> --account-name <storage-account>

az storage queue metadata update --name <queue-name> --metadata key1=value1 key2=value2 --account-name <storage-account>

az storage queue policy set --name <queue-name> --permissions rwd --expiry 2024-12-31T23:59:59Z --account-name <storage-account>
```
## Riferimenti

- [https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues](https://learn.microsoft.com/en-us/azure/storage/queues/storage-powershell-how-to-use-queues)
- [https://learn.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api](https://learn.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api)
- [https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes](https://learn.microsoft.com/en-us/azure/storage/queues/queues-auth-abac-attributes)

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