# 5671,5672 - Pentesting AMQP
{% hint style="success" %}
Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}
## Grundinformationen
Von [cloudamqp](https://www.cloudamqp.com/blog/2015-05-18-part1-rabbitmq-for-beginners-what-is-rabbitmq.html):
> **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
```python
import amqp
#By default it uses default credentials "guest":"guest"
conn = amqp.connection.Connection(host="", port=5672, virtual_host="/")
conn.connect()
for k, v in conn.server_properties.items():
print(k, v)
```
### Automatisch
```bash
nmap -sV -Pn -n -T4 -p 5672 --script amqp-info
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
* [**AMQP-Protokoll Brute-Force**](../generic-methodologies-and-resources/brute-force.md#amqp-activemq-rabbitmq-qpid-joram-and-solace)
* [**STOMP-Protokoll Brute-Force**](../generic-methodologies-and-resources/brute-force.md#stomp-activemq-rabbitmq-hornetq-and-openmq)
## Andere RabbitMQ-Ports
In [https://www.rabbitmq.com/networking.html](https://www.rabbitmq.com/networking.html) finden Sie, dass **RabbitMQ mehrere Ports verwendet**:
* **1883, 8883**: ([MQTT-Clients](http://mqtt.org) ohne und mit TLS, wenn das [MQTT-Plugin](https://www.rabbitmq.com/mqtt.html) aktiviert ist. [**Erfahren Sie hier mehr über das Pentesting von MQTT**](1883-pentesting-mqtt-mosquitto.md).
* **4369: epmd**, ein Peer-Discovery-Dienst, der von RabbitMQ-Knoten und CLI-Tools verwendet wird. [**Erfahren Sie hier mehr über das Pentesting dieses Dienstes**](4369-pentesting-erlang-port-mapper-daemon-epmd.md).
* **5672, 5671**: verwendet von AMQP 0-9-1 und 1.0-Clients ohne und mit TLS
* **15672**: [HTTP-API](https://www.rabbitmq.com/management.html) Clients, [Management-UI](https://www.rabbitmq.com/management.html) und [rabbitmqadmin](https://www.rabbitmq.com/management-cli.html) (nur wenn das [Management-Plugin](https://www.rabbitmq.com/management.html) aktiviert ist). [**Erfahren Sie hier mehr über das Pentesting dieses Dienstes**](15672-pentesting-rabbitmq-management.md).
* 15674: STOMP-über-WebSockets-Clients (nur wenn das [Web STOMP-Plugin](https://www.rabbitmq.com/web-stomp.html) aktiviert ist)
* 15675: MQTT-über-WebSockets-Clients (nur wenn das [Web MQTT-Plugin](https://www.rabbitmq.com/web-mqtt.html) aktiviert ist)
* 15692: Prometheus-Metriken (nur wenn das [Prometheus-Plugin](https://www.rabbitmq.com/prometheus.html) 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](https://www.rabbitmq.com/federation.html) oder CLI-Tools werden auf Maschinen außerhalb des Subnetzes verwendet), sollten diese Ports nicht öffentlich zugänglich sein. Siehe [Netzwerkanleitung](https://www.rabbitmq.com/networking.html) 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](https://www.rabbitmq.com/networking.html) für Details.
* 61613, 61614: [STOMP-Clients](https://stomp.github.io/stomp-specification-1.2.html) ohne und mit TLS (nur wenn das [STOMP-Plugin](https://www.rabbitmq.com/stomp.html) 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)**](https://training.hacktricks.xyz/courses/arte)\
Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}