AWS - MQ Enum

Tip

学习并练习 AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

支持 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

Warning

TODO: 指示如何在内部枚举 RabbitMQ 和 ActiveMQ,以及如何监听所有队列并发送数据(如果您知道如何做到这一点,请发送 PR)

Privesc

AWS - MQ Privesc

Unauthenticated Access

AWS - MQ Unauthenticated Enum

Persistence

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

References

Tip

学习并练习 AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

支持 HackTricks