5671,5672 - Pentesting AMQP

Tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks

Información básica

De cloudamqp:

RabbitMQ es un software de colas de mensajes también conocido como intermediario de mensajes o gestor de colas. Dicho de forma simple; es software donde se definen colas, a las que las aplicaciones se conectan para transferir un mensaje o mensajes.
Un mensaje puede incluir cualquier tipo de información. Podría, por ejemplo, contener información sobre un proceso o tarea que debería iniciarse en otra aplicación (que incluso podría estar en otro servidor), o podría ser simplemente un mensaje de texto simple. El software gestor de colas almacena los mensajes hasta que una aplicación receptora se conecta y toma un mensaje de la cola. La aplicación receptora entonces procesa el mensaje.
Definición de .

Puerto por defecto: 5672,5671

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

Enumeración

Manual

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)

Automático

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

Otros puertos de RabbitMQ

En https://www.rabbitmq.com/networking.html puedes encontrar que rabbitmq usa varios puertos:

  • 1883, 8883: (MQTT clients sin y con TLS, si el MQTT plugin está habilitado. Learn more about how to pentest MQTT here.
  • 4369: epmd, un servicio de descubrimiento de pares usado por nodos RabbitMQ y herramientas CLI. Learn more about how to pentest this service here.
  • 5672, 5671: usados por clientes AMQP 0-9-1 y 1.0 sin y con TLS
  • 15672: HTTP API clients, management UI and rabbitmqadmin (solo si el management plugin está habilitado). Learn more about how to pentest this service here.
  • 15674: STOMP-over-WebSockets clients (solo si el Web STOMP plugin está habilitado)
  • 15675: MQTT-over-WebSockets clients (solo si el Web MQTT plugin está habilitado)
  • 15692: Prometheus metrics (solo si el Prometheus plugin está habilitado)
  • 25672: utilizado para la comunicación entre nodos y herramientas CLI (Erlang distribution server port) y se asigna desde un rango dinámico (limitado a un solo puerto por defecto, calculado como AMQP port + 20000). A menos que las conexiones externas a estos puertos sean realmente necesarias (p. ej. el cluster usa federation o las herramientas CLI se usan en máquinas fuera de la subred), estos puertos no deberían estar expuestos públicamente. Ver networking guide para más detalles. Solo 9 de estos puertos están abiertos en Internet.
  • 35672-35682: usados por herramientas CLI (Erlang distribution client ports) para la comunicación con los nodos y se asignan desde un rango dinámico (calculado como server distribution port + 10000 hasta server distribution port + 10010). Ver networking guide para más detalles.
  • 61613, 61614: STOMP clients sin y con TLS (solo si el STOMP plugin está habilitado). Menos de 10 dispositivos con este puerto abierto y mayoritariamente UDP para nodos DHT.

Ver también

4222 Pentesting Nats

Shodan

  • AMQP

Referencias

Tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks