AWS - MQ Enum

Aprenda hacking na AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks:

Amazon MQ

Introdução aos Corretores de Mensagens

Os corretores de mensagens atuam como intermediários, facilitando a comunicação entre diferentes sistemas de software, que podem ser construídos em plataformas variadas e programados em diferentes idiomas. A 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 o provisionamento contínuo e atualizações automáticas de versão do software.

AWS - RabbitMQ

RabbitMQ é um software de fila de mensagens proeminente, também conhecido como um corretor de mensagens ou gerenciador de filas. É fundamentalmente um sistema onde filas são configuradas. As aplicações interagem com essas filas para enviar e receber mensagens. Mensagens neste contexto podem transportar uma variedade de informações, que vão desde comandos para iniciar processos em outras aplicações (potencialmente em servidores diferentes) até mensagens de texto simples. As mensagens são retidas pelo software do 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

O Apache ActiveMQ® é um principal corretor de mensagens de código aberto baseado em Java conhecido por sua versatilidade. Ele suporta múltiplos protocolos padrão do setor, oferecendo ampla compatibilidade com clientes em uma ampla variedade de idiomas e plataformas. Os usuários podem:

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

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

  • Usar STOMP sobre websockets para trocas de mensagens de aplicativos da web.

  • Gerenciar dispositivos IoT com MQTT.

  • Manter a infraestrutura existente de JMS e estender suas capacidades.

A robustez e flexibilidade do ActiveMQ o tornam adequado para uma infinidade 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

A FAZER: Indicar como enumerar RabbitMQ e ActiveMQ internamente e como escutar em todas as filas e enviar dados (envie PR se souber como fazer isso)

Privesc

pageAWS - MQ Privesc

Acesso não autenticado

pageAWS - MQ Unauthenticated Enum

Persistência

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

Referências

Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras formas de apoiar o HackTricks:

Última actualización