AWS - MQ Enum

Support HackTricks

Amazon MQ

Introducción a los Brokers de Mensajes

Los brokers de mensajes sirven como intermediarios, facilitando la comunicación entre diferentes sistemas de software, que pueden estar construidos en diversas plataformas y programados en diferentes lenguajes. Amazon MQ simplifica el despliegue, operación y mantenimiento de brokers de mensajes en AWS. Proporciona servicios gestionados para Apache ActiveMQ y RabbitMQ, asegurando aprovisionamiento sin problemas y actualizaciones automáticas de versiones de software.

AWS - RabbitMQ

RabbitMQ es un prominente software de cola de mensajes, también conocido como broker de mensajes o gestor de colas. Es fundamentalmente un sistema donde se configuran colas. Las aplicaciones interactúan con estas colas para enviar y recibir mensajes. Los mensajes en este contexto pueden llevar una variedad de información, que va desde comandos para iniciar procesos en otras aplicaciones (potencialmente en diferentes servidores) hasta simples mensajes de texto. Los mensajes son retenidos por el software del gestor de colas hasta que son recuperados y procesados por una aplicación receptora. AWS proporciona una solución fácil de usar para alojar y gestionar servidores RabbitMQ.

AWS - ActiveMQ

Apache ActiveMQ® es un broker de mensajes de código abierto, basado en Java, conocido por su versatilidad. Soporta múltiples protocolos estándar de la industria, ofreciendo amplia compatibilidad con clientes a través de una amplia gama de lenguajes y plataformas. Los usuarios pueden:

  • Conectarse con clientes escritos en JavaScript, C, C++, Python, .Net, y más.

  • Aprovechar el protocolo AMQP para integrar aplicaciones de diferentes plataformas.

  • Usar STOMP sobre websockets para intercambios de mensajes en aplicaciones web.

  • Gestionar dispositivos IoT con MQTT.

  • Mantener la infraestructura JMS existente y extender sus capacidades.

La robustez y flexibilidad de ActiveMQ lo hacen adecuado para una multitud de requisitos de mensajería.

Enumeración

# 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

TODO: Indicar cómo enumerar RabbitMQ y ActiveMQ internamente y cómo escuchar en todas las colas y enviar datos (envía PR si sabes cómo hacer esto)

Privesc

Acceso No Autenticado

Persistencia

Si conoces las credenciales para acceder a la consola web de RabbitMQ, puedes crear un nuevo usuario con privilegios de administrador.

Referencias

Apoya a HackTricks

Last updated