5671,5672 - Pentesting AMQP

Tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks

Grundlegende Informationen

From cloudamqp:

RabbitMQ ist eine Nachrichten-Warteschlangen-Software, auch bekannt als Nachrichtenvermittler oder Warteschlangen-Manager. Einfach gesagt: es ist Software, in der Queues definiert werden, mit denen sich Anwendungen verbinden, um eine oder mehrere Nachrichten zu übertragen.
Eine Nachricht kann beliebige Informationen enthalten. Sie könnte z. B. Informationen über einen Prozess oder eine Aufgabe enthalten, die in einer anderen Anwendung (die sogar auf einem anderen Server laufen könnte) gestartet werden soll, oder sie könnte einfach nur eine einfache Textnachricht sein. Die Software verwaltet die Warteschlangen und speichert die Nachrichten, bis sich eine empfangende Anwendung verbindet und eine Nachricht aus der Warteschlange entnimmt. Die empfangende Anwendung verarbeitet dann die Nachricht.
Definition von .

Standardport: 5672,5671

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

Enumeration

Manuell

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)

Automatisch

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

Weitere RabbitMQ-Ports

In https://www.rabbitmq.com/networking.html you can find that rabbitmq uses several ports:

  • 1883, 8883: (MQTT clients ohne bzw. mit TLS, falls das MQTT plugin aktiviert ist. Learn more about how to pentest MQTT here.
  • 4369: epmd, ein Peer-Discovery-Dienst, der von RabbitMQ-Nodes und CLI-Tools verwendet wird. Learn more about how to pentest this service here.
  • 5672, 5671: werden von AMQP 0-9-1- und 1.0-Clients ohne bzw. mit TLS verwendet
  • 15672: HTTP API-Clients, management UI und rabbitmqadmin (nur wenn das management plugin aktiviert ist). Learn more about how to pentest this service here.
  • 15674: STOMP-over-WebSockets-Clients (nur wenn das Web STOMP plugin aktiviert ist)
  • 15675: MQTT-over-WebSockets-Clients (nur wenn das Web MQTT plugin aktiviert ist)
  • 15692: Prometheus-Metriken (nur wenn das Prometheus plugin aktiviert ist)
  • 25672: wird für die Kommunikation zwischen Nodes und CLI-Tools verwendet (Erlang-Distribution-Server-Port) und wird aus einem dynamischen Bereich zugewiesen (standardmäßig auf einen einzelnen Port begrenzt, berechnet als AMQP-Port + 20000). Sofern externe Verbindungen auf diesen Ports nicht wirklich notwendig sind (z. B. wenn das Cluster federation verwendet oder CLI-Tools auf Maschinen außerhalb des Subnetzes eingesetzt werden), sollten diese Ports nicht öffentlich zugänglich sein. Siehe networking guide für Details. Nur 9 dieser Ports sind im Internet geöffnet.
  • 35672-35682: werden von CLI-Tools (Erlang-Distribution-Client-Ports) zur Kommunikation mit Nodes verwendet und werden aus einem dynamischen Bereich zugewiesen (berechnet als Server-Distribution-Port + 10000 bis Server-Distribution-Port + 10010). Siehe networking guide für Details.
  • 61613, 61614: STOMP clients ohne bzw. mit TLS (nur wenn das STOMP plugin aktiviert ist). Weniger als 10 Geräte mit diesem Port offen und größtenteils UDP für DHT-Knoten.

Siehe auch

4222 Pentesting Nats

Shodan

  • AMQP

Referenzen

Tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks