mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
74 lines
6.7 KiB
Markdown
74 lines
6.7 KiB
Markdown
# 5671,5672 - Pentesting AMQP
|
||
|
||
{{#include ../banners/hacktricks-training.md}}
|
||
|
||
## Basic Information
|
||
|
||
From [cloudamqp](https://www.cloudamqp.com/blog/2015-05-18-part1-rabbitmq-for-beginners-what-is-rabbitmq.html):
|
||
|
||
> **RabbitMQ** είναι ένα **λογισμικό διαχείρισης μηνυμάτων** που είναι επίσης γνωστό ως _μεσίτης μηνυμάτων_ ή _διαχειριστής ουρών._ Απλά, είναι λογισμικό όπου ορίζονται οι ουρές, στις οποίες συνδέονται οι εφαρμογές για να μεταφέρουν ένα μήνυμα ή μηνύματα.\
|
||
> Ένα **μήνυμα μπορεί να περιλαμβάνει οποιοδήποτε είδος πληροφορίας**. Μπορεί, για παράδειγμα, να έχει πληροφορίες σχετικά με μια διαδικασία ή εργασία που θα πρέπει να ξεκινήσει σε μια άλλη εφαρμογή (η οποία μπορεί να είναι ακόμη και σε άλλο διακομιστή), ή μπορεί να είναι απλώς ένα απλό κείμενο. Το λογισμικό διαχείρισης ουρών αποθηκεύει τα μηνύματα μέχρι να συνδεθεί μια εφαρμογή παραλήπτης και να πάρει ένα μήνυμα από την ουρά. Η εφαρμογή παραλήπτης επεξεργάζεται στη συνέχεια το μήνυμα.\
|
||
> Ορισμός από .
|
||
|
||
**Default port**: 5672,5671
|
||
```
|
||
PORT STATE SERVICE VERSION
|
||
5672/tcp open amqp RabbitMQ 3.1.5 (0-9)
|
||
```
|
||
## Απαρίθμηση
|
||
|
||
### Χειροκίνητα
|
||
```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():
|
||
print(k, v)
|
||
```
|
||
### Αυτόματη
|
||
```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)
|
||
| 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 Protocol Brute-Force**](../generic-hacking/brute-force.md#amqp-activemq-rabbitmq-qpid-joram-and-solace)
|
||
- [**STOMP Protocol Brute-Force**](../generic-hacking/brute-force.md#stomp-activemq-rabbitmq-hornetq-and-openmq)
|
||
|
||
## Άλλες θύρες RabbitMQ
|
||
|
||
Στο [https://www.rabbitmq.com/networking.html](https://www.rabbitmq.com/networking.html) μπορείτε να βρείτε ότι **το rabbitmq χρησιμοποιεί πολλές θύρες**:
|
||
|
||
- **1883, 8883**: ([MQTT clients](http://mqtt.org) χωρίς και με TLS, αν το [MQTT plugin](https://www.rabbitmq.com/mqtt.html) είναι ενεργοποιημένο. [**Μάθετε περισσότερα για το πώς να κάνετε pentest στο MQTT εδώ**](1883-pentesting-mqtt-mosquitto.md).
|
||
- **4369: epmd**, μια υπηρεσία ανακάλυψης peer που χρησιμοποιείται από τους κόμβους RabbitMQ και τα εργαλεία CLI. [**Μάθετε περισσότερα για το πώς να κάνετε pentest σε αυτή την υπηρεσία εδώ**](4369-pentesting-erlang-port-mapper-daemon-epmd.md).
|
||
- **5672, 5671**: χρησιμοποιούνται από τους πελάτες AMQP 0-9-1 και 1.0 χωρίς και με TLS
|
||
- **15672**: [HTTP API](https://www.rabbitmq.com/management.html) πελάτες, [διαχείριση UI](https://www.rabbitmq.com/management.html) και [rabbitmqadmin](https://www.rabbitmq.com/management-cli.html) (μόνο αν το [management plugin](https://www.rabbitmq.com/management.html) είναι ενεργοποιημένο). [**Μάθετε περισσότερα για το πώς να κάνετε pentest σε αυτή την υπηρεσία εδώ**](15672-pentesting-rabbitmq-management.md).
|
||
- 15674: STOMP-over-WebSockets πελάτες (μόνο αν το [Web STOMP plugin](https://www.rabbitmq.com/web-stomp.html) είναι ενεργοποιημένο)
|
||
- 15675: MQTT-over-WebSockets πελάτες (μόνο αν το [Web MQTT plugin](https://www.rabbitmq.com/web-mqtt.html) είναι ενεργοποιημένο)
|
||
- 15692: Μετρήσεις Prometheus (μόνο αν το [Prometheus plugin](https://www.rabbitmq.com/prometheus.html) είναι ενεργοποιημένο)
|
||
- 25672: χρησιμοποιείται για επικοινωνία μεταξύ κόμβων και εργαλείων CLI (θύρα διανομής Erlang) και κατανέμεται από μια δυναμική περιοχή (περιορισμένη σε μία μόνο θύρα από προεπιλογή, υπολογισμένη ως θύρα AMQP + 20000). Εκτός αν οι εξωτερικές συνδέσεις σε αυτές τις θύρες είναι πραγματικά απαραίτητες (π.χ. ο συμπλέκτης χρησιμοποιεί [federation](https://www.rabbitmq.com/federation.html) ή τα εργαλεία CLI χρησιμοποιούνται σε μηχανές εκτός του υποδικτύου), αυτές οι θύρες δεν θα πρέπει να είναι δημόσια εκτεθειμένες. Δείτε τον [οδηγό δικτύωσης](https://www.rabbitmq.com/networking.html) για λεπτομέρειες. **Μόνο 9 από αυτές τις θύρες είναι ανοιχτές στο διαδίκτυο**.
|
||
- 35672-35682: χρησιμοποιούνται από εργαλεία CLI (θύρες πελάτη διανομής Erlang) για επικοινωνία με κόμβους και κατανέμονται από μια δυναμική περιοχή (υπολογισμένη ως θύρα διανομής server + 10000 έως θύρα διανομής server + 10010). Δείτε τον [οδηγό δικτύωσης](https://www.rabbitmq.com/networking.html) για λεπτομέρειες.
|
||
- 61613, 61614: [STOMP clients](https://stomp.github.io/stomp-specification-1.2.html) χωρίς και με TLS (μόνο αν το [STOMP plugin](https://www.rabbitmq.com/stomp.html) είναι ενεργοποιημένο). Λιγότερες από 10 συσκευές με αυτή τη θύρα ανοιχτή και κυρίως UDP για κόμβους DHT.
|
||
|
||
## Shodan
|
||
|
||
- `AMQP`
|
||
|
||
{{#include ../banners/hacktricks-training.md}}
|