AWS - MQ Enum

Support HackTricks

Amazon MQ

Wprowadzenie do brokerów wiadomości

Brokerzy wiadomości działają jako pośrednicy, ułatwiając komunikację między różnymi systemami oprogramowania, które mogą być zbudowane na różnych platformach i programowane w różnych językach. Amazon MQ upraszcza wdrażanie, obsługę i utrzymanie brokerów wiadomości na AWS. Oferuje zarządzane usługi dla Apache ActiveMQ i RabbitMQ, zapewniając bezproblemowe dostarczanie i automatyczne aktualizacje wersji oprogramowania.

AWS - RabbitMQ

RabbitMQ to prominentne oprogramowanie do kolejkowania wiadomości, znane również jako broker wiadomości lub menedżer kolejek. Jest to zasadniczo system, w którym konfigurowane są kolejki. Aplikacje komunikują się z tymi kolejkami, aby wysyłać i odbierać wiadomości. Wiadomości w tym kontekście mogą zawierać różnorodne informacje, od poleceń inicjujących procesy w innych aplikacjach (potencjalnie na różnych serwerach) po proste wiadomości tekstowe. Wiadomości są przechowywane przez oprogramowanie menedżera kolejek, aż zostaną pobrane i przetworzone przez aplikację odbierającą. AWS oferuje łatwe w użyciu rozwiązanie do hostowania i zarządzania serwerami RabbitMQ.

AWS - ActiveMQ

Apache ActiveMQ® to wiodący open-source'owy, oparty na Javie broker wiadomości, znany ze swojej wszechstronności. Obsługuje wiele standardowych protokołów branżowych, oferując szeroką kompatybilność z klientami w różnych językach i na różnych platformach. Użytkownicy mogą:

  • Łączyć się z klientami napisanymi w JavaScript, C, C++, Python, .Net i innych.

  • Wykorzystać protokół AMQP do integracji aplikacji z różnych platform.

  • Używać STOMP przez websockets do wymiany wiadomości w aplikacjach internetowych.

  • Zarządzać urządzeniami IoT za pomocą MQTT.

  • Utrzymywać istniejącą infrastrukturę JMS i rozszerzać jej możliwości.

Solidność i elastyczność ActiveMQ sprawiają, że jest odpowiedni do wielu wymagań dotyczących przesyłania wiadomości.

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: Wskaź, jak enumerować RabbitMQ i ActiveMQ wewnętrznie oraz jak nasłuchiwać na wszystkich kolejkach i wysyłać dane (wyślij PR, jeśli wiesz, jak to zrobić)

Privesc

AWS - MQ Privesc

Dostęp bez uwierzytelnienia

AWS - MQ Unauthenticated Enum

Utrzymywanie

Jeśli znasz dane uwierzytelniające do dostępu do konsoli internetowej RabbitMQ, możesz utworzyć nowego użytkownika z uprawnieniami administratora.

Odniesienia

Wsparcie dla HackTricks

Last updated