hacktricks/network-services-pentesting/5671-5672-pentesting-amqp.md
2023-06-06 18:56:34 +00:00

4.5 KiB

Informações Básicas

O RabbitMQ é um software de fila de mensagens também conhecido como message broker ou queue manager. Simplificando, é um software onde filas são definidas, às quais as aplicações se conectam para transferir uma ou mais mensagens.
Uma mensagem pode incluir qualquer tipo de informação. Pode, por exemplo, ter informações sobre um processo ou tarefa que deve ser iniciada em outra aplicação (que pode até estar em outro servidor), ou pode ser apenas uma mensagem de texto simples. O software do gerenciador de filas armazena as mensagens até que uma aplicação receptora se conecte e retire uma mensagem da fila. A aplicação receptora, então, processa a mensagem.
Definição retirada aqui.

Porta padrão: 5672,5671

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

Enumeração

Manual

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)

Automático

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

Outras portas do RabbitMQ

A partir de https://www.rabbitmq.com/networking.html, você pode descobrir que o rabbitmq usa várias portas:

Shodan

  • AMQP