5671,5672 - Pentesting AMQP

Reading time: 5 minutes

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)

Soutenir HackTricks

Informations de base

De cloudamqp:

RabbitMQ est un logiciel de mise en file d'attente de messages Ă©galement connu sous le nom de courtier de messages ou gestionnaire de files d'attente. En termes simples ; c'est un logiciel oĂč des files d'attente sont dĂ©finies, auxquelles les applications se connectent pour transfĂ©rer un message ou des messages.
Un message peut inclure n'importe quel type d'information. Il pourrait, par exemple, contenir des informations sur un processus ou une tĂąche qui devrait commencer sur une autre application (qui pourrait mĂȘme ĂȘtre sur un autre serveur), ou il pourrait s'agir simplement d'un message texte. Le logiciel de gestion des files d'attente stocke les messages jusqu'Ă  ce qu'une application rĂ©ceptrice se connecte et prenne un message de la file d'attente. L'application rĂ©ceptrice traite ensuite le message.
DĂ©finition de .

Port par défaut : 5672,5671

PORT     STATE SERVICE VERSION
5672/tcp open  amqp    RabbitMQ 3.1.5 (0-9)

ÉnumĂ©ration

Manuel

python
import amqp
#By default it uses default credentials "guest":"guest"
conn = amqp.connection.Connection(host="<IP>", port=5672, virtual_host="/")
conn.connect()
for k, v in conn.server_properties.items():
print(k, v)

Automatique

bash
nmap -sV -Pn -n -T4 -p 5672 --script amqp-info <IP>

PORT     STATE SERVICE VERSION
5672/tcp open  amqp    RabbitMQ 3.1.5 (0-9)
| amqp-info:
|   capabilities:
|     publisher_confirms: YES
|     exchange_exchange_bindings: YES
|     basic.nack: YES
|     consumer_cancel_notify: YES
|   copyright: Copyright (C) 2007-2013 GoPivotal, Inc.
|   information: Licensed under the MPL.  See http://www.rabbitmq.com/
|   platform: Erlang/OTP
|   product: RabbitMQ
|   version: 3.1.5
|   mechanisms: PLAIN AMQPLAIN
|_  locales: en_US

Brute Force

Autres ports RabbitMQ

Dans https://www.rabbitmq.com/networking.html, vous pouvez trouver que rabbitmq utilise plusieurs ports :

  • 1883, 8883 : (clients MQTT sans et avec TLS, si le plugin MQTT est activĂ©. En savoir plus sur la façon de pentester MQTT ici.
  • 4369 : epmd, un service de dĂ©couverte de pairs utilisĂ© par les nƓuds RabbitMQ et les outils CLI. En savoir plus sur la façon de pentester ce service ici.
  • 5672, 5671 : utilisĂ©s par les clients AMQP 0-9-1 et 1.0 sans et avec TLS
  • 15672 : API HTTP clients, interface de gestion et rabbitmqadmin (uniquement si le plugin de gestion est activĂ©). En savoir plus sur la façon de pentester ce service ici.
  • 15674 : clients STOMP-over-WebSockets (uniquement si le plugin Web STOMP est activĂ©)
  • 15675 : clients MQTT-over-WebSockets (uniquement si le plugin Web MQTT est activĂ©)
  • 15692 : mĂ©triques Prometheus (uniquement si le plugin Prometheus est activĂ©)
  • 25672 : utilisĂ© pour la communication entre nƓuds et outils CLI (port de serveur de distribution Erlang) et est allouĂ© Ă  partir d'une plage dynamique (limitĂ© Ă  un seul port par dĂ©faut, calculĂ© comme port AMQP + 20000). À moins que des connexions externes sur ces ports ne soient vraiment nĂ©cessaires (par exemple, le cluster utilise fĂ©dĂ©ration ou des outils CLI sont utilisĂ©s sur des machines en dehors du sous-rĂ©seau), ces ports ne devraient pas ĂȘtre exposĂ©s publiquement. Voir guide de mise en rĂ©seau pour plus de dĂ©tails. Seulement 9 de ces ports ouverts sur Internet.
  • 35672-35682 : utilisĂ©s par les outils CLI (ports de client de distribution Erlang) pour la communication avec les nƓuds et sont allouĂ©s Ă  partir d'une plage dynamique (calculĂ©e comme port de distribution du serveur + 10000 Ă  travers le port de distribution du serveur + 10010). Voir guide de mise en rĂ©seau pour plus de dĂ©tails.
  • 61613, 61614 : clients STOMP sans et avec TLS (uniquement si le plugin STOMP est activĂ©). Moins de 10 appareils avec ce port ouvert et principalement UDP pour les nƓuds DHT.

Shodan

  • AMQP

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)

Soutenir HackTricks