AWS - MQ Enum

Aprende hacking en AWS desde cero hasta experto con htARTE (Experto en Red Team de HackTricks AWS)!

Otras formas de apoyar a HackTricks:

Amazon MQ

Introducción a los Corredores de Mensajes

Los corredores de mensajes actúan como intermediarios, facilitando la comunicación entre diferentes sistemas de software, que pueden estar construidos en plataformas variadas y programados en diferentes lenguajes. Amazon MQ simplifica la implementación, operación y mantenimiento de corredores de mensajes en AWS. Proporciona servicios gestionados para Apache ActiveMQ y RabbitMQ, garantizando una provisión sin problemas y actualizaciones automáticas de versiones de software.

AWS - RabbitMQ

RabbitMQ es un destacado software de encolado de mensajes, también conocido como un corredor 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 servidores diferentes) 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 destacado corredor de mensajes de código abierto basado en Java conocido por su versatilidad. Admite múltiples protocolos estándar de la industria, ofreciendo una amplia compatibilidad con clientes en una amplia gama de lenguajes y plataformas. Los usuarios pueden:

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

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

  • Utilizar STOMP sobre websockets para intercambios de mensajes de aplicaciones web.

  • Gestionar dispositivos IoT con MQTT.

  • Mantener la infraestructura existente de JMS y ampliar 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 (enviar PR si sabes cómo hacerlo)

Escalada de privilegios

pageAWS - MQ Privesc

Acceso no autenticado

pageAWS - MQ Unauthenticated Enum

Persistencia

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

Referencias

Aprende hacking en AWS desde cero hasta experto con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Última actualización