7 KiB
5671,5672 - Pentesting AMQP
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Grundinformationen
Von cloudamqp:
RabbitMQ ist eine Nachrichtenwarteschlangen-Software, die auch als Nachrichtenbroker oder Warteschlangenmanager bekannt ist. Einfach gesagt; es ist Software, in der Warteschlangen definiert sind, mit denen Anwendungen verbunden sind, um eine Nachricht oder Nachrichten zu übertragen.
Eine Nachricht kann jede Art von Informationen enthalten. Sie könnte beispielsweise Informationen über einen Prozess oder eine Aufgabe enthalten, die in einer anderen Anwendung (die sogar auf einem anderen Server sein könnte) gestartet werden soll, oder es könnte sich einfach um eine einfache Textnachricht handeln. Die Warteschlangenmanager-Software speichert die Nachrichten, bis eine empfangende Anwendung sich verbindet und eine Nachricht von der Warteschlange abruft. 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
Andere RabbitMQ-Ports
In https://www.rabbitmq.com/networking.html finden Sie, dass RabbitMQ mehrere Ports verwendet:
- 1883, 8883: (MQTT-Clients ohne und mit TLS, wenn das MQTT-Plugin aktiviert ist. Erfahren Sie hier mehr über das Pentesting von MQTT.
- 4369: epmd, ein Peer-Discovery-Dienst, der von RabbitMQ-Knoten und CLI-Tools verwendet wird. Erfahren Sie hier mehr über das Pentesting dieses Dienstes.
- 5672, 5671: verwendet von AMQP 0-9-1 und 1.0-Clients ohne und mit TLS
- 15672: HTTP-API Clients, Management-UI und rabbitmqadmin (nur wenn das Management-Plugin aktiviert ist). Erfahren Sie hier mehr über das Pentesting dieses Dienstes.
- 15674: STOMP-über-WebSockets-Clients (nur wenn das Web STOMP-Plugin aktiviert ist)
- 15675: MQTT-über-WebSockets-Clients (nur wenn das Web MQTT-Plugin aktiviert ist)
- 15692: Prometheus-Metriken (nur wenn das Prometheus-Plugin aktiviert ist)
- 25672: verwendet für die Kommunikation zwischen Knoten und CLI-Tools (Erlang-Distributionsserver-Port) und wird aus einem dynamischen Bereich zugewiesen (standardmäßig auf einen einzelnen Port beschränkt, berechnet als AMQP-Port + 20000). Es sei denn, externe Verbindungen auf diesen Ports sind wirklich notwendig (z. B. verwendet der Cluster Federation oder CLI-Tools werden auf Maschinen außerhalb des Subnetzes verwendet), sollten diese Ports nicht öffentlich zugänglich sein. Siehe Netzwerkanleitung für Details. Nur 9 dieser Ports sind im Internet geöffnet.
- 35672-35682: verwendet von CLI-Tools (Erlang-Distributionsclient-Ports) zur Kommunikation mit Knoten und wird aus einem dynamischen Bereich zugewiesen (berechnet als Server-Distributionsport + 10000 bis Server-Distributionsport + 10010). Siehe Netzwerkanleitung für Details.
- 61613, 61614: STOMP-Clients ohne und mit TLS (nur wenn das STOMP-Plugin aktiviert ist). Weniger als 10 Geräte mit diesem Port geöffnet und hauptsächlich UDP für DHT-Knoten.
Shodan
AMQP
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.