AWS - MQ Enum

Support HackTricks

Amazon MQ

Einführung in Message Broker

Message Broker fungieren als Vermittler und erleichtern die Kommunikation zwischen verschiedenen Softwaresystemen, die auf unterschiedlichen Plattformen basieren und in verschiedenen Sprachen programmiert sein können. Amazon MQ vereinfacht die Bereitstellung, den Betrieb und die Wartung von Message Brokern auf AWS. Es bietet verwaltete Dienste für Apache ActiveMQ und RabbitMQ und sorgt für nahtlose Bereitstellung und automatische Softwareversionsupdates.

AWS - RabbitMQ

RabbitMQ ist eine prominente Message-Queueing-Software, auch bekannt als Message Broker oder Queue Manager. Es handelt sich grundsätzlich um ein System, in dem Warteschlangen konfiguriert sind. Anwendungen interagieren mit diesen Warteschlangen, um Nachrichten zu senden und zu empfangen. Nachrichten können in diesem Kontext eine Vielzahl von Informationen tragen, von Befehlen zur Initiierung von Prozessen in anderen Anwendungen (möglicherweise auf anderen Servern) bis hin zu einfachen Textnachrichten. Die Nachrichten werden von der Queue-Manager-Software gehalten, bis sie von einer empfangenden Anwendung abgerufen und verarbeitet werden. AWS bietet eine benutzerfreundliche Lösung zum Hosten und Verwalten von RabbitMQ-Servern.

AWS - ActiveMQ

Apache ActiveMQ® ist ein führender Open-Source, Java-basierter Message Broker, der für seine Vielseitigkeit bekannt ist. Er unterstützt mehrere branchenübliche Protokolle und bietet umfassende Client-Kompatibilität über eine Vielzahl von Sprachen und Plattformen. Benutzer können:

  • Mit Clients verbinden, die in JavaScript, C, C++, Python, .Net und mehr geschrieben sind.

  • Das AMQP-Protokoll nutzen, um Anwendungen von verschiedenen Plattformen zu integrieren.

  • STOMP über Websockets für den Nachrichtenaustausch in Webanwendungen verwenden.

  • IoT-Geräte mit MQTT verwalten.

  • Bestehende JMS-Infrastruktur beibehalten und deren Fähigkeiten erweitern.

Die Robustheit und Flexibilität von ActiveMQ machen es geeignet für eine Vielzahl von Messaging-Anforderungen.

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: Geben Sie an, wie man RabbitMQ und ActiveMQ intern enumeriert und wie man in allen Warteschlangen mithört und Daten sendet (senden Sie PR, wenn Sie wissen, wie man das macht)

Privesc

AWS - MQ Privesc

Unauthenticated Access

AWS - MQ Unauthenticated Enum

Persistence

Wenn Sie die Anmeldeinformationen zum Zugriff auf die RabbitMQ-Webkonsole kennen, können Sie einen neuen Benutzer mit Administratorrechten erstellen.

References

Support HackTricks

Last updated