7.1 KiB
5671,5672 - Testowanie penetracyjne AMQP
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć swoją firmę reklamowaną w HackTricks lub pobrać HackTricks w formacie PDF, sprawdź PLAN SUBSKRYPCJI!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud github repos.
Podstawowe informacje
Z cloudamqp:
RabbitMQ to oprogramowanie do kolejkowania wiadomości, znane również jako broker wiadomości lub menadżer kolejek. Po prostu mówiąc, jest to oprogramowanie, w którym definiuje się kolejki, do których aplikacje się łączą, aby przesyłać wiadomość lub wiadomości.
Wiadomość może zawierać dowolne 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 prosty tekst. Oprogramowanie menadżera kolejek przechowuje wiadomości, dopóki aplikacja odbiorcza nie połączy się i nie pobierze wiadomości z kolejki. Następnie aplikacja odbiorcza przetwarza wiadomość.
Definicja z .
Domyślny port: 5672,5671
PORT STATE SERVICE VERSION
5672/tcp open amqp RabbitMQ 3.1.5 (0-9)
Wyliczanie
Ręczne
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)
Automatyczne
Automatyczne
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
Na stronie https://www.rabbitmq.com/networking.html można znaleźć informacje, że RabbitMQ korzysta z kilku portów:
- 1883, 8883: (klienci MQTT bez i z TLS, jeśli włączono wtyczkę MQTT. Dowiedz się więcej o pentestowaniu MQTT tutaj.
- 4369: epmd, usługa odkrywania równorzędnych węzłów używana przez węzły RabbitMQ i narzędzia CLI. Dowiedz się więcej o pentestowaniu tej usługi tutaj.
- 5672, 5671: używane przez klientów AMQP 0-9-1 i 1.0 bez i z TLS
- 15672: klienci API HTTP, interfejs zarządzania i rabbitmqadmin (tylko jeśli włączono wtyczkę zarządzania). Dowiedz się więcej o pentestowaniu tej usługi tutaj.
- 15674: klienci STOMP-over-WebSockets (tylko jeśli włączono wtyczkę Web STOMP)
- 15675: klienci MQTT-over-WebSockets (tylko jeśli włączono wtyczkę Web MQTT)
- 15692: metryki Prometheus (tylko jeśli włączono wtyczkę Prometheus)
- 25672: używane do komunikacji między węzłami i narzędziami CLI (port serwera dystrybucji Erlang) i jest przydzielane z dynamicznego zakresu (domyślnie ograniczone do jednego portu, obliczanego jako port AMQP + 20000). Chyba że zewnętrzne połączenia na tych portach są naprawdę konieczne (np. klastr używa federacji lub narzędzia CLI są używane na maszynach spoza podsieci), te porty nie powinny być publicznie dostępne. Zobacz przewodnik po sieciowaniu dla szczegółów. Tylko 9 z tych portów jest otwartych w Internecie.
- 35672-35682: używane przez narzędzia CLI (porty klienta dystrybucji Erlang) do komunikacji z węzłami i są przydzielane z dynamicznego zakresu (obliczanego jako port dystrybucji serwera + 10000 do portu dystrybucji serwera + 10010). Zobacz przewodnik po sieciowaniu dla szczegółów.
- 61613, 61614: klienci STOMP bez i z TLS (tylko jeśli włączono wtyczkę STOMP). Mniej niż 10 urządzeń z tym otwartym portem, głównie UDP dla węzłów DHT.
Shodan
AMQP
Dowiedz się, jak hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć swoją firmę reklamowaną w HackTricks lub pobrać HackTricks w formacie PDF, sprawdź PLAN SUBSKRYPCJI!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi trikami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud github repos.