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

7.4 KiB
Raw Blame History

5671,5672 - Pentesting AMQP

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

基本信息

RabbitMQ 是一种消息队列软件也被称为_消息代理_或_队列管理器_。简单来说它是定义队列的软件应用程序连接到这些队列以传输消息。
消息可以包含任何类型的信息。例如,它可以包含有关应该在另一个应用程序(甚至可能在另一个服务器上)上启动的过程或任务的信息,或者它可以仅仅是一个简单的文本消息。队列管理软件存储消息,直到接收应用程序连接并从队列中取走消息。然后接收应用程序处理消息。
定义来自这里

默认端口5672,5671

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

枚举

手动

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)

自动

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

暴力破解

其他 RabbitMQ 端口

https://www.rabbitmq.com/networking.html 可以找到 rabbitmq 使用多个端口

Shodan

  • AMQP
☁️ HackTricks 云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥