5671,5672 - Pentesting AMQP

Reading time: 4 minutes

tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks

Basiese Inligting

From cloudamqp:

RabbitMQ is 'n boodskap-rygagte sagteware ook bekend 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

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)

Outomaties

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

Brute Force

Ander RabbitMQ poorte

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

  • 1883, 8883: (MQTT kliënte sonder en met TLS, as die MQTT plugin geaktiveer is. Leer meer oor hoe om MQTT hier te pentest.
  • 4369: epmd, 'n peer ontdekking diens wat deur RabbitMQ nodes 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 kliënte sonder en met TLS
  • 15672: HTTP API kliënte, bestuurs UI en rabbitmqadmin (slegs as die bestuurs plugin geaktiveer is). Leer meer oor hoe om hierdie diens hier te pentest.
  • 15674: STOMP-over-WebSockets kliënte (slegs as die Web STOMP plugin geaktiveer is)
  • 15675: MQTT-over-WebSockets kliënte (slegs as die Web MQTT plugin geaktiveer is)
  • 15692: Prometheus metrieke (slegs as die Prometheus plugin geaktiveer is)
  • 25672: gebruik vir inter-node en CLI gereedskap kommunikasie (Erlang verspreidingsbediener poort) 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 verspreidingskliënt poorte) vir kommunikasie met nodes en word toegeken uit 'n dinamiese reeks (bereken as bediener verspreidingspoort + 10000 deur bediener verspreidingspoort + 10010). Sien netwerk gids vir besonderhede.
  • 61613, 61614: STOMP kliënte sonder en met TLS (slegs as die STOMP plugin geaktiveer is). Minder as 10 toestelle met hierdie poort oop en meestal UDP vir DHT nodes.

Shodan

  • AMQP

tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks