hacktricks/network-services-pentesting/5671-5672-pentesting-amqp.md

6.8 KiB

5671,5672 - Pentesting AMQP

{% hint style="success" %} Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Basic Information

Van cloudamqp:

RabbitMQ is 'n boodskap-ry sagteware wat ook bekend staan as 'n boodskap broker of ry bestuurder. Eenvoudig gestel; dit is sagteware waar rye gedefinieer word, waaraan toepassings koppel om 'n boodskap of boodskappe oor te dra.
'n Boodskap kan enige soort inligting insluit. Dit kan byvoorbeeld inligting bevat oor 'n proses of taak wat op 'n ander toepassing (wat selfs op 'n ander bediener kan wees) moet begin, of dit kan net 'n eenvoudige teksboodskap wees. Die ry-bestuurder sagteware stoor die boodskappe totdat 'n ontvangende toepassing koppel en 'n boodskap van die ry neem. Die ontvangende toepassing verwerk dan die boodskap.
Definisie van .

Standaard poort: 5672,5671

PORT     STATE SERVICE VERSION
5672/tcp open  amqp    RabbitMQ 3.1.5 (0-9)

Opname

Handmatig

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)

Outomaties

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

Ander RabbitMQ-poorte

In https://www.rabbitmq.com/networking.html kan jy vind dat rabbitmq verskeie poorte gebruik:

  • 1883, 8883: (MQTT-klante sonder en met TLS, indien die MQTT-inprop geaktiveer is. Leer meer oor hoe om MQTT hier te pentest.
  • 4369: epmd, 'n peer ontdekking diens wat deur RabbitMQ-knope en CLI-gereedskap gebruik word. Leer meer oor hoe om hierdie diens hier te pentest.
  • 5672, 5671: gebruik deur AMQP 0-9-1 en 1.0 klante sonder en met TLS
  • 15672: HTTP API klante, bestuurs UI en rabbitmqadmin (slegs indien die bestuurs-inprop geaktiveer is). Leer meer oor hoe om hierdie diens hier te pentest.
  • 15674: STOMP-over-WebSockets klante (slegs indien die Web STOMP-inprop geaktiveer is)
  • 15675: MQTT-over-WebSockets klante (slegs indien die Web MQTT-inprop geaktiveer is)
  • 15692: Prometheus-metrieke (slegs indien die Prometheus-inprop geaktiveer is)
  • 25672: gebruik vir inter-knoop en CLI-gereedskap kommunikasie (Erlang verspreidingsbedienerpoort) en word toegeken uit 'n dinamiese reeks (beperk tot 'n enkele poort per standaard, bereken as AMQP-poort + 20000). Tensy eksterne verbindings op hierdie poorte werklik nodig is (bv. die kluster gebruik federasie of CLI-gereedskap word op masjiene buite die subnet gebruik), moet hierdie poorte nie publiek blootgestel word nie. Sien netwerk gids vir besonderhede. Slegs 9 van hierdie poorte is op die internet geopen.
  • 35672-35682: gebruik deur CLI-gereedskap (Erlang verspreidingsklantpoorte) vir kommunikasie met knope en word toegeken uit 'n dinamiese reeks (bereken as bediener verspreidingspoort + 10000 deur bediener verspreidingspoort + 10010). Sien netwerk gids vir besonderhede.
  • 61613, 61614: STOMP-klante sonder en met TLS (slegs indien die STOMP-inprop geaktiveer is). Minder as 10 toestelle met hierdie poort oop en meestal UDP vir DHT-knope.

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
{% endhint %}