AWS - MQ Enum

支持 HackTricks

Amazon MQ

介绍消息代理

消息代理 充当中间人,促进不同软件系统之间的通信,这些系统可能构建在不同平台上,并用不同语言编程。Amazon MQ 简化了在 AWS 上部署、运行和维护消息代理的过程。它为 Apache ActiveMQRabbitMQ 提供托管服务,确保无缝的配置和自动软件版本更新。

AWS - RabbitMQ

RabbitMQ 是一种知名的 消息队列软件,也被称为 消息代理队列管理器。它基本上是一个配置了队列的系统。应用程序与这些队列进行接口,以便 发送和接收消息。在这种情况下,消息可以携带各种信息,从命令以启动其他应用程序上的进程(可能在不同服务器上)到简单的文本消息。这些消息由队列管理软件保存,直到被接收应用程序检索并处理。AWS 提供了一个易于使用的解决方案,用于托管和管理 RabbitMQ 服务器。

AWS - ActiveMQ

Apache ActiveMQ® 是一种领先的开源、基于 Java 的 消息代理,以其多功能性而闻名。它支持多种行业标准协议,提供广泛的客户端兼容性,适用于多种语言和平台。用户可以:

  • 连接使用 JavaScript、C、C++、Python、.Net 等编写的客户端。

  • 利用 AMQP 协议集成来自不同平台的应用程序。

  • 使用 STOMP 通过 Websockets 进行 Web 应用程序消息交换。

  • 使用 MQTT 管理物联网设备。

  • 维护现有的 JMS 基础设施并扩展其功能。

ActiveMQ 的稳健性和灵活性使其适用于多种消息传递需求。

枚举

# 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: 指示如何在内部枚举RabbitMQ和ActiveMQ,以及如何监听所有队列并发送数据(如果您知道如何执行此操作,请发送PR)

提权

AWS - MQ Privesc

未经身份验证访问

AWS - MQ Unauthenticated Enum

持久性

如果您知道访问RabbitMQ Web控制台的凭据,您可以创建一个具有管理员权限的新用户。

参考

支持HackTricks

Last updated