7 KiB
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
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Basic Information
Z cloudamqp:
RabbitMQ to oprogramowanie do kolejkowania wiadomości, znane również jako broker wiadomości lub menedżer kolejek. Mówiąc prosto; jest to oprogramowanie, w którym definiowane są kolejki, do których aplikacje łączą się w celu przesyłania wiadomości.
Wiadomość może zawierać wszelkiego rodzaju informacje. Może na przykład zawierać informacje o procesie lub zadaniu, które powinno rozpocząć się w innej aplikacji (która może być nawet na innym serwerze), lub może to być po prostu zwykła wiadomość tekstowa. Oprogramowanie menedżera kolejek przechowuje wiadomości, aż aplikacja odbierająca połączy się i pobierze wiadomość z kolejki. Aplikacja odbierająca następnie przetwarza wiadomość.
Definicja z .
Domyślny port: 5672,5671
PORT STATE SERVICE VERSION
5672/tcp open amqp RabbitMQ 3.1.5 (0-9)
Enumeracja
Ręczna
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)
Automatyczny
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
Inne porty RabbitMQ
W https://www.rabbitmq.com/networking.html można znaleźć, że rabbitmq używa kilku portów:
- 1883, 8883: (klienci MQTT bez i z TLS, jeśli wtyczka MQTT jest włączona. Dowiedz się więcej o tym, jak przeprowadzić pentesting MQTT tutaj.
- 4369: epmd, usługa odkrywania peerów używana przez węzły RabbitMQ i narzędzia CLI. Dowiedz się więcej o tym, jak przeprowadzić pentesting tej usługi tutaj.
- 5672, 5671: używane przez klientów AMQP 0-9-1 i 1.0 bez i z TLS
- 15672: API HTTP klienci, interfejs zarządzania i rabbitmqadmin (tylko jeśli wtyczka zarządzania jest włączona). Dowiedz się więcej o tym, jak przeprowadzić pentesting tej usługi tutaj.
- 15674: klienci STOMP przez WebSockets (tylko jeśli wtyczka Web STOMP jest włączona)
- 15675: klienci MQTT przez WebSockets (tylko jeśli wtyczka Web MQTT jest włączona)
- 15692: metryki Prometheus (tylko jeśli wtyczka Prometheus jest włączona)
- 25672: używany do komunikacji między węzłami i narzędziami CLI (port serwera dystrybucji Erlang) i jest przydzielany z dynamicznego zakresu (ograniczonego do jednego portu domyślnie, obliczanego jako port AMQP + 20000). O ile zewnętrzne połączenia na tych portach nie są naprawdę konieczne (np. klaster używa federacji lub narzędzia CLI są używane na maszynach poza podsiecią), te porty nie powinny być publicznie eksponowane. Zobacz przewodnik po sieciach po szczegóły. Tylko 9 z tych portów otwartych w internecie.
- 35672-35682: używane przez narzędzia CLI (porty klientów dystrybucji Erlang) do komunikacji z węzłami i są przydzielane z dynamicznego zakresu (obliczanego jako port dystrybucji serwera + 10000 przez port dystrybucji serwera + 10010). Zobacz przewodnik po sieciach po szczegóły.
- 61613, 61614: klienci STOMP bez i z TLS (tylko jeśli wtyczka STOMP jest włączona). Mniej niż 10 urządzeń z tym portem otwartym i głównie UDP dla węzłów 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
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.