Az - Service Bus Enum

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks

Service Bus

Azure Service Bus est un service de messagerie basĂ© sur le cloud conçu pour permettre une communication fiable entre diffĂ©rentes parties d’une application ou des applications sĂ©parĂ©es. Il agit comme un intermĂ©diaire sĂ©curisĂ©, garantissant que les messages sont livrĂ©s en toute sĂ©curitĂ©, mĂȘme si l’expĂ©diteur et le destinataire ne fonctionnent pas simultanĂ©ment. En dĂ©couplant les systĂšmes, il permet aux applications de fonctionner indĂ©pendamment tout en Ă©changeant des donnĂ©es ou des instructions. Il est particuliĂšrement utile pour des scĂ©narios nĂ©cessitant un Ă©quilibrage de charge entre plusieurs travailleurs, une livraison fiable des messages ou une coordination complexe, comme le traitement des tĂąches dans l’ordre ou la gestion sĂ©curisĂ©e des accĂšs.

Concepts Clés

  1. Namespaces : Un namespace dans les systĂšmes de messagerie est un conteneur logique qui organise et gĂšre les composants de messagerie, les files d’attente et les sujets. Il fournit un environnement isolĂ© oĂč les applications peuvent envoyer, recevoir et traiter des messages. Les files d’attente et les sujets partagent la mĂȘme infrastructure et configuration au sein d’un namespace Service Bus, mais ils fonctionnent indĂ©pendamment sans interagir les uns avec les autres.
  2. Queues : son but est de stocker les messages jusqu’à ce que le destinataire soit prĂȘt.
  • Les messages sont ordonnĂ©s, horodatĂ©s et stockĂ©s de maniĂšre durable.
  • LivrĂ©s en mode pull (rĂ©cupĂ©ration Ă  la demande) Ă  un consommateur.
  • Il peut ĂȘtre configurĂ© de sorte que lorsque le message est partagĂ©, il soit automatiquement supprimĂ© ou en mode “Peek lock” oĂč le consommateur doit reconnaĂźtre qu’il peut ĂȘtre supprimĂ©. Sinon, le message retournera Ă  la file d’attente.
  • Prend en charge la communication point Ă  point.
  1. Topics : Messagerie publish-subscribe pour la diffusion.
  • Plusieurs abonnements indĂ©pendants reçoivent des copies des messages.
  • Chaque abonnement est comme une file d’attente Ă  l’intĂ©rieur du sujet.
  • Les abonnements peuvent avoir des rĂšgles/filtres pour contrĂŽler la livraison ou ajouter des mĂ©tadonnĂ©es.

La chaĂźne de connexion/point de terminaison du service bus est :

https://<namespace>.servicebus.windows.net:443/

Fonctionnalités Avancées

Certaines fonctionnalités avancées sont :

  • Message Sessions : Assure le traitement FIFO et prend en charge les modĂšles de demande-rĂ©ponse.
  • Auto-Forwarding : TransfĂšre des messages entre des files d’attente ou des sujets dans le mĂȘme espace de noms.
  • Dead-Lettering : Capture les messages non livrables pour examen.
  • Scheduled Delivery : Retarde le traitement des messages pour des tĂąches futures.
  • Message Deferral : Retarde la rĂ©cupĂ©ration des messages jusqu’à ce qu’ils soient prĂȘts.
  • Transactions : Regroupe les opĂ©rations en exĂ©cution atomique.
  • Filters & Actions : Applique des rĂšgles pour filtrer ou annoter les messages.
  • Auto-Delete on Idle : Supprime les files d’attente aprĂšs une pĂ©riode d’inactivitĂ© (min : 5 minutes).
  • Duplicate Detection : Supprime les messages en double lors des renvois.
  • Batch Deletion : Supprime en masse les messages expirĂ©s ou inutiles.

Authentification Locale

Le paramĂštre --disable-local-auth de az cli est utilisĂ© pour contrĂŽler si l’authentification locale (permettant l’utilisation de clĂ©s de signature d’accĂšs partagĂ© (SAS)) est activĂ©e pour votre espace de noms Service Bus.

  • Lorsque disable est dĂ©fini sur true : L’authentification locale utilisant des clĂ©s SAS est dĂ©sactivĂ©e et l’authentification par ID Entra est autorisĂ©e.
  • Lorsque disable est dĂ©fini sur false (par dĂ©faut) : L’authentification locale SAS et l’authentification par ID Entra sont disponibles et vous pouvez utiliser des chaĂźnes de connexion avec des clĂ©s SAS pour accĂ©der Ă  vos ressources Service Bus.

Rùgle d’Autorisation / Politique SAS

Les politiques SAS dĂ©finissent les autorisations d’accĂšs pour les entitĂ©s d’espace de noms Azure Service Bus (la plus importante), les files d’attente et les sujets. Chaque politique a les composants suivants :

  • Permissions : Cases Ă  cocher pour spĂ©cifier les niveaux d’accĂšs :
  • GĂ©rer : Accorde un contrĂŽle total sur l’entitĂ©, y compris la gestion de la configuration et des autorisations.
  • Envoyer : Permet d’envoyer des messages Ă  l’entitĂ©.
  • Écouter : Permet de recevoir des messages de l’entitĂ©.
  • ClĂ©s Primaires et Secondaires : Ce sont des clĂ©s cryptographiques utilisĂ©es pour gĂ©nĂ©rer des jetons sĂ©curisĂ©s pour authentifier l’accĂšs.
  • ChaĂźnes de Connexion Primaires et Secondaires : ChaĂźnes de connexion prĂ©configurĂ©es qui incluent le point de terminaison et la clĂ© pour une utilisation facile dans les applications.
  • ID ARM de Politique SAS : Le chemin Azure Resource Manager (ARM) vers la politique pour identification programmatique.

Il est important de noter qu’un espace de noms a une seule politique SAS qui affecte chaque entitĂ© Ă  l’intĂ©rieur, tandis que les files d’attente et les sujets peuvent avoir leurs propres politiques SAS individuelles pour un contrĂŽle plus granulaire.

ÉnumĂ©ration

# Namespace Enumeration
az servicebus namespace list
az servicebus namespace network-rule-set list --resource-group <MyResourceGroup> --namespace-name <MyNamespace>
az servicebus namespace show --resource-group <MyResourceGroup> --name <MyNamespace>
az servicebus namespace network-rule-set show --resource-group <MyResourceGroup> --namespace-name <MyNamespace>
az servicebus namespace private-endpoint-connection list --resource-group <MyResourceGroup> --namespace-name <MyNamespace>
az servicebus namespace exists --name ProposedNamespace

# Authorization Rule Enumeration
az servicebus namespace authorization-rule list --resource-group <MyResourceGroup> --namespace-name <MyNamespace>
az servicebus queue authorization-rule list --resource-group <MyResourceGroup> --namespace-name <MyNamespace> --queue-name <MyQueue>
az servicebus topic authorization-rule list --resource-group <MyResourceGroup> --namespace-name <MyNamespace> --topic-name <MyTopic>
az servicebus namespace authorization-rule keys list --resource-group <MyResourceGroup> --namespace-name <MyNamespace> --name <MyAuthRule>

# Get keys
az servicebus namespace authorization-rule keys list --resource-group <res-group> --namespace-name <namespace-name> [--authorization-rule-name RootManageSharedAccessKey]
az servicebus topic authorization-rule keys list --resource-group <res-group> --namespace-name <namespace-name> --topic-name <topic-name> --name <auth-rule-name>
az servicebus queue authorization-rule keys list --resource-group <res-group> --namespace-name <namespace-name> --queue-name <topic-name> --name <auth-rule-name>

# Queue Enumeration
az servicebus queue list --resource-group <MyResourceGroup> --namespace-name <MyNamespace>
az servicebus queue show --resource-group <MyResourceGroup> --namespace-name <MyNamespace> --name <MyQueue>

# Topic Enumeration
az servicebus topic list --resource-group <MyResourceGroup> --namespace-name <MyNamespace>
az servicebus topic show --resource-group <MyResourceGroup> --namespace-name <MyNamespace> --name <MyTopic>

# Susbscription Enumeration
az servicebus topic subscription list --resource-group <MyResourceGroup> --namespace-name <MyNamespace> --topic-name <MyTopic>
az servicebus topic subscription show --resource-group <MyResourceGroup> --namespace-name <MyNamespace> --topic-name <MyTopic> --name <MySubscription>

Escalade de PrivilĂšges

Az - Service Bus Privesc

Post Exploitation

Az - Service Bus Post Exploitation

Références

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks