# 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="", 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 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}}