AWS - MQ Enum

Support HackTricks

Amazon MQ

Introduction to Message Brokers

Message brokers служать посередниками, полегшуючи спілкування між різними програмними системами, які можуть бути побудовані на різних платформах і написані на різних мовах програмування. Amazon MQ спрощує розгортання, експлуатацію та обслуговування брокерів повідомлень на AWS. Він надає керовані послуги для Apache ActiveMQ та RabbitMQ, забезпечуючи безперебійне постачання та автоматичні оновлення версій програмного забезпечення.

AWS - RabbitMQ

RabbitMQ є видатним програмним забезпеченням для черг повідомлень, також відомим як брокер повідомлень або менеджер черг. Це, по суті, система, в якій налаштовуються черги. Додатки взаємодіють з цими чергами, щоб надсилати та отримувати повідомлення. Повідомлення в цьому контексті можуть містити різноманітну інформацію, починаючи від команд для ініціювання процесів в інших додатках (можливо, на різних серверах) до простих текстових повідомлень. Повідомлення зберігаються програмним забезпеченням менеджера черг, поки їх не отримають і не оброблять приймаючі додатки. AWS надає просте у використанні рішення для хостингу та управління серверами RabbitMQ.

AWS - ActiveMQ

Apache ActiveMQ® є провідним відкритим брокером повідомлень на базі Java, відомим своєю універсальністю. Він підтримує кілька стандартних протоколів промисловості, пропонуючи широку сумісність клієнтів на різних мовах і платформах. Користувачі можуть:

  • Підключатися до клієнтів, написаних на JavaScript, C, C++, Python, .Net та інших.

  • Використовувати протокол AMQP для інтеграції додатків з різних платформ.

  • Використовувати STOMP через веб-сокети для обміну повідомленнями веб-додатків.

  • Керувати IoT-пристроями за допомогою MQTT.

  • Підтримувати існуючу інфраструктуру JMS та розширювати її можливості.

Надійність і гнучкість ActiveMQ роблять його придатним для безлічі вимог до обміну повідомленнями.

Enumeration

# 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

Unauthenticated Access

Persistence

Якщо ви знаєте облікові дані для доступу до веб-консолі RabbitMQ, ви можете створити нового користувача з правами адміністратора.

References

Support HackTricks

Last updated