AWS - MQ Enum

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert Red Team AWS de HackTricks)!

Autres façons de soutenir HackTricks:

Amazon MQ

Introduction aux courtiers de messages

Les courtiers de messages servent d'intermédiaires, facilitant la communication entre différents systèmes logiciels, qui peuvent être construits sur des plates-formes variées et programmés dans des langues différentes. Amazon MQ simplifie le déploiement, l'exploitation et la maintenance des courtiers de messages sur AWS. Il fournit des services gérés pour Apache ActiveMQ et RabbitMQ, garantissant un approvisionnement sans faille et des mises à jour automatiques des versions logicielles.

AWS - RabbitMQ

RabbitMQ est un logiciel de file d'attente de messages de premier plan, également connu sous le nom de courtier de messages ou gestionnaire de file d'attente. C'est fondamentalement un système où des files d'attente sont configurées. Les applications interagissent avec ces files d'attente pour envoyer et recevoir des messages. Les messages dans ce contexte peuvent transporter une variété d'informations, allant de commandes pour initier des processus sur d'autres applications (potentiellement sur des serveurs différents) à de simples messages texte. Les messages sont conservés par le logiciel du gestionnaire de file d'attente jusqu'à ce qu'ils soient récupérés et traités par une application réceptrice. AWS fournit une solution facile à utiliser pour l'hébergement et la gestion des serveurs RabbitMQ.

AWS - ActiveMQ

Apache ActiveMQ® est un courtier de messages open source de premier plan basé sur Java, connu pour sa polyvalence. Il prend en charge plusieurs protocoles standard de l'industrie, offrant une compatibilité client étendue sur une large gamme de langues et de plates-formes. Les utilisateurs peuvent :

  • Se connecter avec des clients écrits en JavaScript, C, C++, Python, .Net, et plus encore.

  • Tirer parti du protocole AMQP pour intégrer des applications de différentes plates-formes.

  • Utiliser STOMP sur websockets pour les échanges de messages d'application web.

  • Gérer les appareils IoT avec MQTT.

  • Maintenir l'infrastructure JMS existante et étendre ses capacités.

La robustesse et la flexibilité d'ActiveMQ le rendent adapté à une multitude d'exigences en matière de messagerie.

Énumération

# List brokers
aws mq list-brokers

# Get broker info
aws mq describe-broker --broker-id <broker-id>
## Find endpoints in .BrokerInstances
## Find if public accessible in .PubliclyAccessible

# List usernames (only for ActiveMQ)
aws mq list-users --broker-id <broker-id>

# Get user info (PASSWORD NOT INCLUDED)
aws mq describe-user --broker-id <broker-id> --username <username>

# Lits configurations (only for ActiveMQ)
aws mq list-configurations
## Here you can find if simple or LDAP authentication is used

# Creacte Active MQ user
aws mq create-user --broker-id <value> --password <value> --username <value> --console-access

À FAIRE : Indiquer comment énumérer RabbitMQ et ActiveMQ en interne et comment écouter toutes les files d'attente et envoyer des données (envoyer une PR si vous savez comment faire cela)

Élévation de privilèges

pageAWS - MQ Privesc

Accès non authentifié

pageAWS - MQ Unauthenticated Enum

Persistance

Si vous connaissez les identifiants pour accéder à la console web de RabbitMQ, vous pouvez créer un nouvel utilisateur avec des privilèges d'administrateur.

Références

Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!

Autres façons de soutenir HackTricks :

Dernière mise à jour