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 管理 IoT 设备。

  • 维护现有的 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)

Privesc

未经身份验证的访问

持久性

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

参考

支持 HackTricks

Last updated