5671,5672 - Pentesting AMQP
Reading time: 4 minutes
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Основна інформація
З cloudamqp:
RabbitMQ - це програмне забезпечення для черг повідомлень, також відоме як посередник повідомлень або менеджер черг. Простими словами; це програмне забезпечення, в якому визначені черги, до яких підключаються програми для передачі повідомлення або повідомлень.
Повідомлення може містити будь-яку інформацію. Наприклад, воно може містити інформацію про процес або завдання, яке повинно початися в іншій програмі (яка може бути навіть на іншому сервері), або це може бути просто просте текстове повідомлення. Програмне забезпечення менеджера черг зберігає повідомлення, поки приймаюча програма не підключиться і не забере повідомлення з черги. Приймаюча програма потім обробляє повідомлення.
Визначення з .
Порт за замовчуванням: 5672,5671
PORT STATE SERVICE VERSION
5672/tcp open amqp RabbitMQ 3.1.5 (0-9)
Перерахунок
Вручну
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 клієнти без і з TLS, якщо увімкнено MQTT плагін. Дізнайтеся більше про те, як провести pentesting MQTT тут.
- 4369: epmd, служба виявлення пір, що використовується вузлами RabbitMQ та інструментами CLI. Дізнайтеся більше про те, як провести pentesting цієї служби тут.
- 5672, 5671: використовуються клієнтами AMQP 0-9-1 та 1.0 без і з TLS
- 15672: HTTP API клієнти, інтерфейс управління та rabbitmqadmin (тільки якщо увімкнено плагін управління). Дізнайтеся більше про те, як провести pentesting цієї служби тут.
- 15674: STOMP через WebSockets клієнти (тільки якщо увімкнено Web STOMP плагін)
- 15675: MQTT через WebSockets клієнти (тільки якщо увімкнено Web MQTT плагін)
- 15692: метрики Prometheus (тільки якщо увімкнено Prometheus плагін)
- 25672: використовується для зв'язку між вузлами та інструментами CLI (порт сервера розподілу Erlang) і виділяється з динамічного діапазону (обмежений до одного порту за замовчуванням, обчислений як AMQP порт + 20000). Якщо зовнішні з'єднання на цих портах дійсно необхідні (наприклад, кластер використовує федерацію або інструменти CLI використовуються на машинах поза підмережею), ці порти не повинні бути відкриті для публічного доступу. Дивіться посібник з мережі для деталей. Лише 9 з цих портів відкриті в Інтернеті.
- 35672-35682: використовуються інструментами CLI (порти клієнта розподілу Erlang) для зв'язку з вузлами і виділяються з динамічного діапазону (обчислені як порт розподілу сервера + 10000 через порт розподілу сервера + 10010). Дивіться посібник з мережі для деталей.
- 61613, 61614: STOMP клієнти без і з TLS (тільки якщо увімкнено STOMP плагін). Менше 10 пристроїв з цим портом відкритим і в основному UDP для DHT вузлів.
Shodan
AMQP
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.