AWS - MQ Enum

Support HackTricks

Amazon MQ

Introduzione ai Broker di Messaggi

I broker di messaggi fungono da intermediari, facilitando la comunicazione tra diversi sistemi software, che possono essere costruiti su piattaforme varie e programmati in lingue diverse. Amazon MQ semplifica il deployment, l'operazione e la manutenzione dei broker di messaggi su AWS. Fornisce servizi gestiti per Apache ActiveMQ e RabbitMQ, garantendo un provisioning senza soluzione di continuità e aggiornamenti automatici delle versioni software.

AWS - RabbitMQ

RabbitMQ è un noto software di gestione delle code di messaggi, conosciuto anche come broker di messaggi o gestore di code. Fondamentalmente è un sistema in cui le code sono configurate. Le applicazioni interagiscono con queste code per inviare e ricevere messaggi. I messaggi in questo contesto possono contenere una varietà di informazioni, che vanno da comandi per avviare processi su altre applicazioni (potenzialmente su server diversi) a semplici messaggi di testo. I messaggi sono trattenuti dal software gestore di code fino a quando non vengono recuperati e elaborati da un'applicazione ricevente. AWS fornisce una soluzione facile da usare per ospitare e gestire i server RabbitMQ.

AWS - ActiveMQ

Apache ActiveMQ® è un broker di messaggi open-source leader, basato su Java, noto per la sua versatilità. Supporta più protocolli standard del settore, offrendo ampia compatibilità con i client su una vasta gamma di lingue e piattaforme. Gli utenti possono:

  • Connettersi con client scritti in JavaScript, C, C++, Python, .Net e altro.

  • Sfruttare il protocollo AMQP per integrare applicazioni provenienti da diverse piattaforme.

  • Utilizzare STOMP su websockets per scambi di messaggi tra applicazioni web.

  • Gestire dispositivi IoT con MQTT.

  • Mantenere l'infrastruttura JMS esistente ed estenderne le capacità.

La robustezza e la flessibilità di ActiveMQ lo rendono adatto a una moltitudine di requisiti di messaggistica.

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: Indica come enumerare RabbitMQ e ActiveMQ internamente e come ascoltare in tutte le code e inviare dati (invia PR se sai come farlo)

Privesc

Accesso non autenticato

Persistenza

Se conosci le credenziali per accedere alla console web di RabbitMQ, puoi creare un nuovo utente con privilegi di amministratore.

Riferimenti

Supporta HackTricks

Last updated