AWS - MQ Enum

Support HackTricks

Amazon MQ

Introdução aos Corretores de Mensagens

Corretores de mensagens servem como intermediários, facilitando a comunicação entre diferentes sistemas de software, que podem ser construídos em plataformas variadas e programados em diferentes linguagens. Amazon MQ simplifica a implantação, operação e manutenção de corretores de mensagens na AWS. Ele fornece serviços gerenciados para Apache ActiveMQ e RabbitMQ, garantindo provisionamento contínuo e atualizações automáticas de versão de software.

AWS - RabbitMQ

RabbitMQ é um proeminente software de enfileiramento de mensagens, também conhecido como corretor de mensagens ou gerenciador de filas. É fundamentalmente um sistema onde filas são configuradas. Aplicações interagem com essas filas para enviar e receber mensagens. Mensagens nesse contexto podem carregar uma variedade de informações, desde comandos para iniciar processos em outras aplicações (potencialmente em servidores diferentes) até mensagens de texto simples. As mensagens são mantidas pelo software gerenciador de filas até serem recuperadas e processadas por uma aplicação receptora. A AWS fornece uma solução fácil de usar para hospedar e gerenciar servidores RabbitMQ.

AWS - ActiveMQ

Apache ActiveMQ® é um corretor de mensagens de código aberto, baseado em Java, conhecido por sua versatilidade. Ele suporta múltiplos protocolos padrão da indústria, oferecendo ampla compatibilidade de clientes em uma vasta gama de linguagens e plataformas. Os usuários podem:

  • Conectar-se com clientes escritos em JavaScript, C, C++, Python, .Net e mais.

  • Aproveitar o protocolo AMQP para integrar aplicações de diferentes plataformas.

  • Usar STOMP sobre websockets para trocas de mensagens em aplicações web.

  • Gerenciar dispositivos IoT com MQTT.

  • Manter a infraestrutura JMS existente e expandir suas capacidades.

A robustez e flexibilidade do ActiveMQ o tornam adequado para uma multitude de requisitos de mensagens.

Enumeração

# 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: Indique como enumerar RabbitMQ e ActiveMQ internamente e como escutar em todas as filas e enviar dados (envie PR se você souber como fazer isso)

Privesc

Acesso Não Autenticado

Persistência

Se você souber as credenciais para acessar o console web do RabbitMQ, pode criar um novo usuário com privilégios de administrador.

Referências

Support HackTricks

Last updated