7.6 KiB
5671,5672 - Pentesting AMQP
{{#include ../banners/hacktricks-training.md}}
Basic Information
From cloudamqp:
RabbitMQ एक message-queueing software है जिसे message broker या queue manager के रूप में भी जाना जाता है। सरल शब्दों में; यह एक सॉफ़्टवेयर है जहाँ कतारें परिभाषित की जाती हैं, जिनसे अनुप्रयोग कनेक्ट होते हैं ताकि एक या अधिक संदेशों को स्थानांतरित किया जा सके।
एक संदेश में किसी भी प्रकार की जानकारी शामिल हो सकती है। उदाहरण के लिए, इसमें किसी प्रक्रिया या कार्य के बारे में जानकारी हो सकती है जो किसी अन्य अनुप्रयोग पर शुरू होनी चाहिए (जो कि किसी अन्य सर्वर पर भी हो सकता है), या यह बस एक साधारण पाठ संदेश हो सकता है। कतार-प्रबंधक सॉफ़्टवेयर संदेशों को तब तक संग्रहीत करता है जब तक कि एक प्राप्त करने वाला अनुप्रयोग कनेक्ट नहीं होता और कतार से एक संदेश नहीं लेता। प्राप्त करने वाला अनुप्रयोग फिर संदेश को संसाधित करता है।
Definition from .
Default port: 5672,5671
PORT STATE SERVICE VERSION
5672/tcp open amqp RabbitMQ 3.1.5 (0-9)
Enumeration
मैनुअल
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
Other RabbitMQ ports
In https://www.rabbitmq.com/networking.html you can find that rabbitmq कई पोर्ट का उपयोग करता है:
- 1883, 8883: (MQTT clients बिना और TLS के साथ, यदि MQTT plugin सक्षम है। यहां MQTT को pentest करने के बारे में अधिक जानें.
- 4369: epmd, एक पीयर डिस्कवरी सेवा जो RabbitMQ नोड्स और CLI टूल्स द्वारा उपयोग की जाती है। यहां इस सेवा को pentest करने के बारे में अधिक जानें.
- 5672, 5671: AMQP 0-9-1 और 1.0 क्लाइंट्स द्वारा बिना और TLS के साथ उपयोग किया जाता है
- 15672: HTTP API क्लाइंट्स, management 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 टूल्स सबनेट के बाहर मशीनों पर उपयोग किए जाते हैं), इन पोर्ट्स को सार्वजनिक रूप से उजागर नहीं किया जाना चाहिए। विवरण के लिए networking guide देखें। इनमें से केवल 9 पोर्ट इंटरनेट पर खुले हैं।
- 35672-35682: नोड्स के साथ संचार के लिए CLI टूल्स द्वारा उपयोग किया जाता है (Erlang वितरण क्लाइंट पोर्ट) और एक डायनामिक रेंज से आवंटित किया जाता है (सर्वर वितरण पोर्ट + 10000 से सर्वर वितरण पोर्ट + 10010 के रूप में गणना की जाती है)। विवरण के लिए networking guide देखें।
- 61613, 61614: STOMP clients बिना और TLS के साथ (केवल यदि STOMP plugin सक्षम है)। इस पोर्ट के साथ 10 से कम उपकरण खुले हैं और ज्यादातर DHT नोड्स के लिए UDP हैं।
Shodan
AMQP
{{#include ../banners/hacktricks-training.md}}