Files
hacktricks-cloud/src/pentesting-cloud/azure-security/az-services/az-queue.md
T

3.4 KiB

Az - Queue Storage

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

Podstawowe informacje

Azure Queue Storage to usługa w chmurze Azure firmy Microsoft zaprojektowana do kolejkowania wiadomości między komponentami aplikacji, umożliwiająca asynchroniczną komunikację i odseparowanie. Umożliwia przechowywanie nieograniczonej liczby wiadomości, z których każda ma maksymalny rozmiar 64 KB, i obsługuje operacje takie jak tworzenie i usuwanie kolejek, dodawanie, pobieranie, aktualizowanie i usuwanie wiadomości, a także zarządzanie metadanymi i politykami dostępu. Chociaż zazwyczaj przetwarza wiadomości w sposób FIFO (first-in-first-out), ścisłe FIFO nie jest gwarantowane.

Enumeracja

{{#tabs }} {{#tab name="Az Cli" }}

# You need to know the --account-name of the storage (az storage account list)
az storage queue list --account-name <storage_account> # --auth-mode login

# Queue Metadata
az storage queue metadata show --name <queue_name> --account-name <storage_account> # --auth-mode login

#Get ACL
az storage queue policy list --queue-name <queue_name> --account-name <storage_account> # --auth-mode login

# Get Messages (getting a message deletes it)
az storage message get --queue-name <queue_name> --account-name <storage_account> # --auth-mode login

# Peek Messages
az storage message peek --queue-name <queue_name> --account-name <storage_account> # --auth-mode login

{{#endtab }}

{{#tab name="Az PS" }}

# Get the Storage Context
$storageAccount = Get-AzStorageAccount -ResourceGroupName QueueResourceGroup -Name queuestorageaccount1994
$ctx = $storageAccount.Context

# Set Variables for Storage Account
$storageAccountName = "queuestorageaccount"

# List Queues
Get-AzStorageQueue -Context $context
$queueName = "myqueue"

# Retrieve a specific queue
$queue = Get-AzStorageQueue -Name $queueName -Context $context
$queue # Show the properties of the queue

# Retrieve the access policies for the queue
$accessPolicies = Get-AzStorageQueueStoredAccessPolicy -Context $context -QueueName $queueName
$accessPolicies

# Peek Messages
$queueMessage = $queue.QueueClient.PeekMessage()
$queueMessage.Value

# Set the amount of time you want to entry to be invisible after read from the queue
# If it is not deleted by the end of this time, it will show up in the queue again
$visibilityTimeout = [System.TimeSpan]::FromSeconds(10)

# Read the messages from the queue, then show the contents of the messages.
$queueMessage = $queue.QueueClient.ReceiveMessages(1,$visibilityTimeout)
$queueMessage.Value

{{#endtab }} {{#endtabs }}

Eskalacja Uprawnień

{{#ref}} ../az-privilege-escalation/az-queue-privesc.md {{#endref}}

Po Eksploatacji

{{#ref}} ../az-post-exploitation/az-queue-post-exploitation.md {{#endref}}

Utrzymywanie

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

Odniesienia

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