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

8.8 KiB
Raw Blame History

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
{% endhint %}

Basic Information

From cloudamqp:

RabbitMQ είναι ένα λογισμικό διαχείρισης μηνυμάτων που είναι επίσης γνωστό ως μεσίτης μηνυμάτων ή διαχειριστής ουρών. Απλά, είναι λογισμικό όπου ορίζονται οι ουρές, στις οποίες συνδέονται οι εφαρμογές για να μεταφέρουν ένα μήνυμα ή μηνύματα.
Ένα μήνυμα μπορεί να περιλαμβάνει οποιοδήποτε είδος πληροφορίας. Μπορεί, για παράδειγμα, να έχει πληροφορίες σχετικά με μια διαδικασία ή εργασία που θα πρέπει να ξεκινήσει σε μια άλλη εφαρμογή (η οποία μπορεί να είναι ακόμη και σε άλλο διακομιστή), ή μπορεί να είναι απλώς ένα απλό κείμενο. Το λογισμικό διαχείρισης ουρών αποθηκεύει τα μηνύματα μέχρι να συνδεθεί μια εφαρμογή παραλήπτης και να πάρει ένα μήνυμα από την ουρά. Η εφαρμογή παραλήπτης επεξεργάζεται στη συνέχεια το μήνυμα.
Definition from .

Default port: 5672,5671

PORT     STATE SERVICE VERSION
5672/tcp open  amqp    RabbitMQ 3.1.5 (0-9)

Enumeration

Manual

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)

Αυτόματη

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

Άλλες θύρες RabbitMQ

Στο https://www.rabbitmq.com/networking.html μπορείτε να βρείτε ότι το rabbitmq χρησιμοποιεί πολλές θύρες:

  • 1883, 8883: (MQTT clients χωρίς και με TLS, αν το MQTT plugin είναι ενεργοποιημένο. Μάθετε περισσότερα για το πώς να κάνετε pentest στο MQTT εδώ.
  • 4369: epmd, μια υπηρεσία ανακάλυψης peer που χρησιμοποιείται από τους κόμβους RabbitMQ και τα εργαλεία CLI. Μάθετε περισσότερα για το πώς να κάνετε pentest σε αυτή την υπηρεσία εδώ.
  • 5672, 5671: χρησιμοποιούνται από τους πελάτες AMQP 0-9-1 και 1.0 χωρίς και με TLS
  • 15672: HTTP API πελάτες, διαχείριση UI και rabbitmqadmin (μόνο αν το management plugin είναι ενεργοποιημένο). Μάθετε περισσότερα για το πώς να κάνετε pentest σε αυτή την υπηρεσία εδώ.
  • 15674: STOMP-over-WebSockets πελάτες (μόνο αν το Web STOMP plugin είναι ενεργοποιημένο)
  • 15675: MQTT-over-WebSockets πελάτες (μόνο αν το Web MQTT plugin είναι ενεργοποιημένο)
  • 15692: Μετρήσεις Prometheus (μόνο αν το Prometheus plugin είναι ενεργοποιημένο)
  • 25672: χρησιμοποιείται για επικοινωνία μεταξύ κόμβων και εργαλείων CLI (θύρα διανομής Erlang) και έχει εκχωρηθεί από μια δυναμική περιοχή (περιορισμένη σε μία μόνο θύρα από προεπιλογή, υπολογισμένη ως θύρα AMQP + 20000). Εκτός αν οι εξωτερικές συνδέσεις σε αυτές τις θύρες είναι πραγματικά απαραίτητες (π.χ. ο συμπλέκτης χρησιμοποιεί federation ή τα εργαλεία CLI χρησιμοποιούνται σε μηχανές εκτός του υποδικτύου), αυτές οι θύρες δεν θα πρέπει να είναι δημόσια εκτεθειμένες. Δείτε τον οδηγό δικτύωσης για λεπτομέρειες. Μόνο 9 από αυτές τις θύρες είναι ανοιχτές στο διαδίκτυο.
  • 35672-35682: χρησιμοποιούνται από εργαλεία CLI (θύρες πελάτη διανομής Erlang) για επικοινωνία με κόμβους και έχουν εκχωρηθεί από μια δυναμική περιοχή (υπολογισμένη ως θύρα διανομής διακομιστή + 10000 έως θύρα διανομής διακομιστή + 10010). Δείτε τον οδηγό δικτύωσης για λεπτομέρειες.
  • 61613, 61614: STOMP clients χωρίς και με TLS (μόνο αν το STOMP plugin είναι ενεργοποιημένο). Λιγότερες από 10 συσκευές με αυτή τη θύρα ανοιχτή και κυρίως UDP για κόμβους DHT.

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
{% endhint %}