AWS - MQ Enum

Wesprzyj HackTricks

Amazon MQ

Wprowadzenie do Pośredników Wiadomości

Pośrednicy 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, eksploatację i konserwację pośredników wiadomości w AWS. Zapewnia zarządzane usługi dla Apache ActiveMQ i RabbitMQ, zapewniając płynne dostarczanie i automatyczne aktualizacje wersji oprogramowania.

AWS - RabbitMQ

RabbitMQ to znane oprogramowanie do kolejkowania wiadomości, znane również jako pośrednik wiadomości lub menedżer kolejek. Jest to system, w którym konfigurowane są kolejki. Aplikacje łączą się z tymi kolejkami, aby wysyłać i odbierać wiadomości. Wiadomości w tym kontekście mogą przenosić różnorodne informacje, począwszy 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 do momentu ich pobrania i przetworzenia przez aplikację odbierającą. AWS zapewnia łatwe w użyciu rozwiązanie do hostowania i zarządzania serwerami RabbitMQ.

AWS - ActiveMQ

Apache ActiveMQ® to wiodący otwartoźródłowy, oparty na Javie pośrednik wiadomości znany z wszechstronności. Obsługuje wiele standardowych protokołów branżowych, oferując obszerną kompatybilność klienta w szerokim zakresie języków i platform. Użytkownicy mogą:

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

  • 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.

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

Wyliczanie

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

Eskalacja uprawnień

AWS - MQ Privesc

Nieuwierzytelniony dostęp

AWS - MQ Unauthenticated Enum

Trwałość

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

Odnośniki

Wsparcie dla HackTricks

Last updated