AWS - MQ Enum

Reading time: 4 minutes

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Amazon MQ

Uvod u posrednike poruka

Posrednici poruka služe kao posrednici, olakšavajući komunikaciju između različitih softverskih sistema, koji mogu biti izgrađeni na različitim platformama i programirani na različitim jezicima. Amazon MQ pojednostavljuje implementaciju, rad i održavanje posrednika poruka na AWS-u. Pruža upravljane usluge za Apache ActiveMQ i RabbitMQ, osiguravajući besprekornu opskrbu i automatske nadogradnje verzija softvera.

AWS - RabbitMQ

RabbitMQ je istaknuti softver za redove poruka, poznat i kao posrednik poruka ili menadžer redova. To je u suštini sistem gde su redovi konfigurisani. Aplikacije komuniciraju sa ovim redovima da bi slale i primale poruke. Poruke u ovom kontekstu mogu nositi razne informacije, od komandi za pokretanje procesa na drugim aplikacijama (potencijalno na različitim serverima) do jednostavnih tekstualnih poruka. Poruke se čuvaju od strane softvera menadžera redova dok ih ne preuzme i obradi aplikacija koja prima. AWS pruža jednostavno rešenje za hostovanje i upravljanje RabbitMQ serverima.

AWS - ActiveMQ

Apache ActiveMQ® je vodeći open-source, Java-bazirani posrednik poruka poznat po svojoj svestranosti. Podržava više industrijskih standardnih protokola, nudeći široku kompatibilnost klijenata kroz razne jezike i platforme. Korisnici mogu:

  • Povezati se sa klijentima napisanim u JavaScript-u, C, C++, Python-u, .Net-u i drugim.
  • Iskoristiti AMQP protokol za integraciju aplikacija sa različitih platformi.
  • Koristiti STOMP preko websockets za razmenu poruka u web aplikacijama.
  • Upravljati IoT uređajima sa MQTT.
  • Održavati postojeću JMS infrastrukturu i proširiti njene mogućnosti.

Robusnost i fleksibilnost ActiveMQ-a čine ga pogodnim za mnoštvo zahteva za razmenu poruka.

Enumeracija

bash
# 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

warning

TODO: Naznačiti kako interno enumerisati RabbitMQ i ActiveMQ i kako slušati sve redove i slati podatke (pošaljite PR ako znate kako to da uradite)

Privesc

AWS - MQ Privesc

Neautentifikovani pristup

AWS - MQ Unauthenticated Enum

Persistencija

Ako znate akreditive za pristup RabbitMQ web konzoli, možete kreirati novog korisnika sa administratorskim privilegijama.

Reference

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks