AWS - MQ Enum

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Amazon MQ

Introduzione ai Message Brokers

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

AWS - RabbitMQ

RabbitMQ è un noto software di message-queueing, noto anche come message broker o queue manager. Fondamentalmente è un sistema in cui vengono configurate code. 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 del queue manager fino a quando non vengono recuperati e elaborati da un'applicazione ricevente. AWS fornisce una soluzione facile da usare per l'hosting e la gestione dei server RabbitMQ.

AWS - ActiveMQ

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

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

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

  • Utilizzare STOMP tramite websockets per gli scambi di messaggi delle applicazioni web.

  • Gestire dispositivi IoT con MQTT.

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

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

Enumerazione

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

Privesc

pageAWS - MQ Privesc

Accesso non autenticato

pageAWS - MQ Unauthenticated Enum

Persistenza

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

Riferimenti

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Last updated