hacktricks/network-services-pentesting/5671-5672-pentesting-amqp.md
Translator workflow 75e8745ba3 Translated to Hindi
2023-11-06 08:38:02 +00:00

106 lines
17 KiB
Markdown

<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks क्लाउड ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 ट्विटर 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ ट्विच 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 यूट्यूब 🎥</strong></a></summary>
- क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित करना चाहते हैं**? या क्या आपको **PEASS की नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग** करना है? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
- खोजें [**The PEASS परिवार**](https://opensea.io/collection/the-peass-family), हमारा विशेष [**NFT संग्रह**](https://opensea.io/collection/the-peass-family)
- प्राप्त करें [**आधिकारिक PEASS और HackTricks swag**](https://peass.creator-spring.com)
- **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **ट्विटर** पर **फ़ॉलो** करें [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
- **अपने हैकिंग ट्रिक्स को [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके साझा करें।**
</details>
# मूलभूत जानकारी
**RabbitMQ** एक **मैसेज-कतार सॉफ़्टवेयर** है जिसे _मैसेज ब्रोकर_ या _कतार प्रबंधक_ के रूप में भी जाना जाता है। सीधे तरीके से कहें तो यह सॉफ़्टवेयर है जहां कतारें परिभाषित की जाती हैं, जिनमें अनुप्रयोग संपर्क करते हैं ताकि संदेश या संदेशों को स्थानांतरित करने के लिए।\
**संदेश में किसी भी प्रकार की जानकारी शामिल हो सकती है**। यह, उदाहरण के लिए, एक प्रक्रिया या कार्य के बारे में जानकारी हो सकती है जो दूसरे अनुप्रयोग पर शुरू होनी चाहिए (जो कि दूसरे सर्वर पर भी हो सकता है), या यह एक साधारण सा पाठ संदेश हो सकता है। कतार प्रबंधक सॉफ़्टवेयर संदेशों को संदेश कतार से उठाने तक संदेश संग्रहीत करता है। संग्रहीत संदेश को एक प्राप्ति अनुप्रयोग संपर्क करता है और संदेश को कतार से हटा लेता है। फिर प्राप्ति अनुप्रयोग संदेश को प्रसंस्करण करता है।\
[यहां](https://www.cloudamqp.com/blog/2015-05-18-part1-rabbitmq-for-beginners-what-is-rabbitmq.html) से परिभाषा।
**डिफ़ॉल्ट पोर्ट**: 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)
```
## स्वचालित
AMQP (Advanced Message Queuing Protocol) का उपयोग डेटा को अनुरोधकर्ताओं और सेवा प्रदाताओं के बीच संदेशों को भेजने और प्राप्त करने के लिए किया जाता है। AMQP का उपयोग करके, उपयोगकर्ता डेटा को एक सेवा प्रदाता के पास भेज सकते हैं और सेवा प्रदाता उसे प्राप्त कर सकता है और उसे प्रोसेस कर सकता है।
AMQP का उपयोग करने के लिए, उपयोगकर्ता को एक AMQP क्लाइंट का उपयोग करके संदेश भेजने और प्राप्त करने की अनुमति होती है। AMQP क्लाइंट उपयोगकर्ता को AMQP सर्वर के साथ संदेशों को भेजने और प्राप्त करने के लिए संचार स्थापित करने में मदद करता है।
AMQP का उपयोग करके संदेशों को सुरक्षित रूप से भेजने और प्राप्त करने के लिए, उपयोगकर्ता को AMQP सर्वर के साथ सुरक्षा उपयोगकर्ता नाम और पासवर्ड का उपयोग करके प्रमाणीकरण करना चाहिए। इसके अलावा, AMQP सर्वर को सुरक्षा के लिए अन्य उपाय भी अपनाए जा सकते हैं, जैसे कि SSL/TLS का उपयोग करना।
AMQP का उपयोग करके, उपयोगकर्ता संदेशों को विभिन्न तरीकों से भेज सकते हैं, जैसे कि प्रकाशन/ग्राहक मॉडल और निर्देशिका मॉडल। प्रकाशन/ग्राहक मॉडल में, उपयोगकर्ता एक संदेश को एक या एक से अधिक सदस्यों को भेज सकता है, जबकि निर्देशिका मॉडल में, संदेश एक निर्देशिका में प्रकाशित होता है और सभी सदस्य उसे प्राप्त करते हैं।
AMQP का उपयोग करके, उपयोगकर्ता संदेशों को विभिन्न तरीकों से प्राप्त कर सकते हैं, जैसे कि सदस्यता, अनुदेश, और अनुरोध। सदस्यता में, उपयोगकर्ता एक निर्देशिका के सदस्य बन सकता है और संदेशों को प्राप्त कर सकता है जब वे प्रकाशित होते हैं। अनुदेश में, उपयोगकर्ता एक निर्देशिका के एक सदस्य को निर्देशित कर सकता है और संदेशों को प्राप्त कर सकता है जब वे प्रकाशित होते हैं। अनुरोध में, उपयोगकर्ता एक निर्देशिका के एक सदस्य को एक निर्देशित संदेश के लिए अनुरोध कर सकता है।
AMQP का उपयोग करके, उपयोगकर्ता संदेशों को विभिन्न तरीकों से प्रोसेस कर सकते हैं, जैसे कि संदेशों को रखें, उन्हें विश्लेषण करें, और उन्हें उपयोगकर्ता को भेजें। संदेशों को रखने के लिए, उपयोगकर्ता एक डेटाबेस या एक अन्य संग्रहण स्थान का उपयोग कर सकता है। संदेशों को विश्लेषण करने के लिए, उपयोगकर्ता विभिन्न विश्लेषण उपकरणों का उपयोग कर सकता है। संदेशों को उपयोगकर्ता को भेजने के लिए, उपयोगकर्ता एक अन्य सेवा प्रदाता का उपयोग कर सकता है जो संदेशों को प्राप्त करता है और उन्हें प्रोसेस करता है।
```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
```
# अन्य 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) सक्षम है। [**MQTT को कैसे pentest करें इसके बारे में और अधिक जानें**](1883-pentesting-mqtt-mosquitto.md).
* **4369: epmd**, RabbitMQ नोड और CLI उपकरणों द्वारा उपयोग की जाने वाली पीयर खोज सेवा। [**इस सेवा को कैसे pentest करें इसके बारे में और अधिक जानें**](4369-pentesting-erlang-port-mapper-daemon-epmd.md).
* **5672, 5671**: AMQP 0-9-1 और 1.0 clients द्वारा बिना और TLS के साथ उपयोग किया जाता है
* **15672**: [HTTP API](https://www.rabbitmq.com/management.html) clients, [management 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 clients (केवल यदि [Web STOMP plugin](https://www.rabbitmq.com/web-stomp.html) सक्षम है)
* 15675: MQTT-over-WebSockets clients (केवल यदि [Web MQTT plugin](https://www.rabbitmq.com/web-mqtt.html) सक्षम है)
* 15692: Prometheus metrics (केवल यदि [Prometheus plugin](https://www.rabbitmq.com/prometheus.html) सक्षम है)
* 25672: इंटर-नोड और CLI उपकरणों के संचार के लिए उपयोग होता है (Erlang distribution server port) और एक डायनामिक रेंज से आवंटित होता है (डिफ़ॉल्ट में एकल पोर्ट तक सीमित, AMQP पोर्ट + 20000 के रूप में गणना की जाती है)। इन पोर्ट पर बाहरी कनेक्शन वास्तव में आवश्यक नहीं होती हैं (उदाहरण के लिए, क्लस्टर में [federation](https://www.rabbitmq.com/federation.html) का उपयोग होता है या CLI उपकरण सबनेट के बाहर के मशीनों पर उपयोग होते हैं), इन पोर्ट्स को सार्वजनिक रूप से उजागर नहीं किया जाना चाहिए। विवरण के लिए [नेटवर्किंग गाइड](https://www.rabbitmq.com/networking.html) देखें। **इंटरनेट पर केवल 9 इन पोर्ट्स को खोला गया है**
* 35672-35682: CLI उपकरणों द्वारा उपयोग होता है (Erlang distribution client ports) नोडों के संचार के लिए और एक डायनामिक रेंज से आवंटित होता है (सर्वर वितरण पोर्ट + 10000 से सर्वर वितरण पोर्ट + 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 उपकरण हैं और अधिकांश DHT नोडों के लिए UDP है।
# Shodan
* `AMQP`
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
- क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आप **PEASS के नवीनतम संस्करण का उपयोग करना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
- खोजें [**The PEASS Family**](https://opensea.io/collection/the-peass-family), हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह।
- प्राप्त करें [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com)
- **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
- **अपने हैकिंग ट्रिक्स साझा करें, [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**।
</details>