# Az - Queue Storage Privesc

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

## Queue

詳細については、次を確認してください：

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

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

この権限を持つ攻撃者は、Azure Storage Queueからメッセージを覗き見ることができます。これにより、攻撃者はメッセージの内容を処理済みとしてマークしたり、その状態を変更したりすることなく表示できます。これにより、機密情報への不正アクセスが可能になり、データの流出やさらなる攻撃のための情報収集が行われる可能性があります。
```bash
az storage message peek --queue-name <queue_name> --account-name <storage_account>
```
**潜在的な影響**: 不正なユーザーやサービスによるキューへの不正アクセス、メッセージの露出、またはキューの操作。

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

この権限を持つ攻撃者は、Azure Storage Queueからメッセージを取得して処理することができます。これは、メッセージの内容を読み取り、処理済みとしてマークすることを意味し、実際には正当なシステムから隠すことになります。これにより、機密データが露出したり、メッセージの処理方法に混乱が生じたり、メッセージを意図したユーザーに利用できなくすることで重要なワークフローが停止する可能性があります。
```bash
az storage message get --queue-name <queue_name> --account-name <storage_account>
```
### DataActions: `Microsoft.Storage/storageAccounts/queueServices/queues/messages/add/action`

この権限を持つ攻撃者は、Azure Storage Queueに新しいメッセージを追加できます。これにより、悪意のあるまたは不正なデータをキューに注入し、意図しないアクションを引き起こしたり、メッセージを処理する下流サービスを妨害したりする可能性があります。
```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`

この権限により、攻撃者はAzure Storage Queueに新しいメッセージを追加したり、既存のメッセージを更新したりすることができます。これを使用することで、攻撃者は有害なコンテンツを挿入したり、既存のメッセージを変更したりすることができ、キューに依存するアプリケーションを誤解させたり、システムに望ましくない動作を引き起こす可能性があります。
```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>
```
### Action: `Microsoft.Storage/storageAccounts/queueServices/queues/write`

この権限により、攻撃者はストレージアカウント内のキューおよびそのプロパティを作成または変更できます。これを使用して、不正なキューを作成したり、メタデータを変更したり、アクセス制御リスト（ACL）を変更してアクセスを付与または制限したりできます。この機能は、ワークフローを妨害したり、悪意のあるデータを注入したり、機密情報を抽出したり、さらなる攻撃を可能にするためにキュー設定を操作したりする可能性があります。
```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>
```
## 参考文献

- [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}}
