AWS - MQ 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

Amazon MQ

Introduction aux courtiers en messages

Les courtiers en messages servent d’intermĂ©diaires, facilitant la communication entre diffĂ©rents systĂšmes logiciels, qui peuvent ĂȘtre construits sur des plateformes variĂ©es et programmĂ©s dans diffĂ©rents langages. Amazon MQ simplifie le dĂ©ploiement, l’exploitation et la maintenance des courtiers en 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 files 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 des commandes pour initier des processus sur d’autres applications (potentiellement sur diffĂ©rents serveurs) Ă  de simples messages texte. Les messages sont conservĂ©s par le logiciel de gestionnaire de files 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 hĂ©berger et gĂ©rer 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 Ă  travers un large Ă©ventail de langages et de plateformes. 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 plateformes.
  • Utiliser STOMP sur websockets pour les Ă©changes de messages d’applications web.
  • GĂ©rer des appareils IoT avec MQTT.
  • Maintenir l’infrastructure JMS existante et Ă©tendre ses capacitĂ©s.

La robustesse et la flexibilitĂ© d’ActiveMQ en font un choix adaptĂ© Ă  une multitude de besoins 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

Warning

TODO : Indiquer comment Ă©numĂ©rer RabbitMQ et ActiveMQ en interne et comment Ă©couter toutes les files d’attente et envoyer des donnĂ©es (envoyez une PR si vous savez comment faire cela)

Privesc

AWS - MQ Privesc

AccÚs non authentifié

AWS - MQ Unauthenticated Enum

Persistance

Si vous connaissez les identifiants pour accĂ©der Ă  la console web RabbitMQ, vous pouvez crĂ©er un nouvel utilisateur avec des privilĂšges d’administrateur.

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