hacktricks/network-services-pentesting/5671-5672-pentesting-amqp.md

120 lines
9.5 KiB
Markdown
Raw Normal View History

# 5671,5672 - Pentesting AMQP
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 15:36:32 +00:00
<summary><strong>Lernen Sie AWS-Hacking von Grund auf mit</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 15:36:32 +00:00
Andere Möglichkeiten, HackTricks zu unterstützen:
2024-01-03 10:42:55 +00:00
2024-02-10 15:36:32 +00:00
* Wenn Sie Ihr **Unternehmen in HackTricks bewerben möchten** oder **HackTricks als PDF herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) **bei oder folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) **und** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **GitHub-Repositories senden.**
2022-04-28 16:01:33 +00:00
</details>
2024-02-10 15:36:32 +00:00
## Grundlegende Informationen
2024-02-10 15:36:32 +00:00
Von [cloudamqp](https://www.cloudamqp.com/blog/2015-05-18-part1-rabbitmq-for-beginners-what-is-rabbitmq.html):
2024-02-08 21:36:35 +00:00
2024-02-10 15:36:32 +00:00
> **RabbitMQ** ist eine **Nachrichtenwarteschlangen-Software**, die auch als _Message Broker_ oder _Queue Manager_ bezeichnet wird. Einfach ausgedrückt handelt es sich um Software, in der Warteschlangen definiert sind, mit denen Anwendungen verbunden werden, um eine Nachricht oder Nachrichten zu übertragen.\
> Eine **Nachricht kann jede Art von Informationen enthalten**. Sie könnte zum Beispiel Informationen über einen Prozess oder eine Aufgabe enthalten, die auf einer anderen Anwendung starten soll (die sogar auf einem anderen Server sein könnte), oder es könnte sich einfach um eine einfache Textnachricht handeln. Die Queue-Manager-Software speichert die Nachrichten, bis eine empfangende Anwendung eine Nachricht aus der Warteschlange abruft. Die empfangende Anwendung verarbeitet dann die Nachricht.\
Definition von .
2024-02-10 15:36:32 +00:00
**Standardport**: 5672,5671
```
PORT STATE SERVICE VERSION
5672/tcp open amqp RabbitMQ 3.1.5 (0-9)
```
## Enumeration
2024-02-10 15:36:32 +00:00
### Manuell
```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():
2024-02-10 15:36:32 +00:00
print(k, v)
```
2024-02-10 15:36:32 +00:00
### Automatisch
Automatisierung ist ein wichtiger Aspekt bei der Durchführung von Penetrationstests. Durch die Automatisierung von Aufgaben können Zeit und Ressourcen gespart werden, während gleichzeitig die Effizienz und Genauigkeit verbessert werden. Es gibt verschiedene Tools und Techniken, die verwendet werden können, um den Penetrationstestprozess zu automatisieren.
#### Skripting
Das Schreiben von Skripten ist eine gängige Methode zur Automatisierung von Penetrationstests. Skripte können verwendet werden, um wiederholte Aufgaben zu automatisieren und komplexe Abläufe zu vereinfachen. Skriptsprachen wie Python, Ruby und PowerShell sind beliebte Optionen für das Schreiben von Penetrationstest-Skripten.
#### Frameworks
2024-02-10 15:36:32 +00:00
Frameworks sind Sammlungen von Tools und Bibliotheken, die speziell für die Automatisierung von Penetrationstests entwickelt wurden. Diese Frameworks bieten eine Vielzahl von Funktionen und Funktionen, die den Penetrationstestprozess vereinfachen und beschleunigen können. Beispiele für Penetrationstest-Frameworks sind Metasploit, Burp Suite und OWASP ZAP.
2024-02-10 15:36:32 +00:00
#### Tools
Es gibt eine Vielzahl von Tools, die speziell für die Automatisierung von Penetrationstests entwickelt wurden. Diese Tools bieten Funktionen wie Schwachstellenscans, Exploit-Tests und Berichterstellung. Beispiele für automatisierte Penetrationstest-Tools sind Nessus, OpenVAS und Nikto.
#### CI/CD-Pipelines
Continuous Integration/Continuous Deployment (CI/CD)-Pipelines können auch zur Automatisierung von Penetrationstests verwendet werden. Durch die Integration von Penetrationstests in den CI/CD-Prozess können Schwachstellen frühzeitig erkannt und behoben werden. Dies hilft, die Sicherheit von Anwendungen und Systemen zu verbessern.
#### Fazit
Die Automatisierung von Penetrationstests ist ein wichtiger Schritt, um die Effizienz und Genauigkeit von Tests zu verbessern. Durch die Verwendung von Skripting, Frameworks, Tools und CI/CD-Pipelines können Penetrationstests effektiver und effizienter durchgeführt werden. Es ist jedoch wichtig zu beachten, dass die Automatisierung den menschlichen Faktor nicht vollständig ersetzen kann und dass manuelle Überprüfungen und Analysen weiterhin erforderlich sind.
```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)
2024-02-10 15:36:32 +00:00
| 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
2024-02-10 15:36:32 +00:00
* [**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)
2024-02-10 15:36:32 +00:00
## Andere RabbitMQ-Ports
2024-02-10 15:36:32 +00:00
Auf [https://www.rabbitmq.com/networking.html](https://www.rabbitmq.com/networking.html) finden Sie, dass **RabbitMQ mehrere Ports verwendet**:
2024-02-10 15:36:32 +00:00
* **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-Nodes 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-Benutzeroberfläche](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-over-WebSockets-Clients (nur wenn das [Web STOMP-Plugin](https://www.rabbitmq.com/web-stomp.html) aktiviert ist)
* 15675: MQTT-over-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 Nodes und CLI-Tools (Erlang-Distributions-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 diese Ports nicht wirklich erforderlich sind (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. Weitere Informationen finden Sie im [Networking-Leitfaden](https://www.rabbitmq.com/networking.html). **Nur 9 dieser Ports sind im Internet geöffnet**.
* 35672-35682: von CLI-Tools verwendet (Erlang-Distributions-Client-Ports) für die Kommunikation mit Nodes und wird aus einem dynamischen Bereich zugewiesen (berechnet als Server-Distributions-Port + 10000 bis Server-Distributions-Port + 10010). Weitere Informationen finden Sie im [Networking-Leitfaden](https://www.rabbitmq.com/networking.html).
* 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 geöffneten Port und meistens UDP für DHT-Nodes.
## Shodan
2020-10-01 14:38:08 +00:00
* `AMQP`
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 15:36:32 +00:00
<summary><strong>Lernen Sie das Hacken von AWS von Grund auf mit</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 15:36:32 +00:00
Andere Möglichkeiten, HackTricks zu unterstützen:
2024-01-03 10:42:55 +00:00
2024-02-10 15:36:32 +00:00
* Wenn Sie Ihr **Unternehmen in HackTricks bewerben möchten** oder **HackTricks als PDF herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repositories senden.
2022-04-28 16:01:33 +00:00
</details>