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

4.4 KiB
Raw Blame History

5671,5672 - Pentesting AMQP

{{#include ../banners/hacktricks-training.md}}

基本信息

来自 cloudamqp:

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使用多个端口

  • 1883, 8883: MQTT客户端 无TLS和有TLS如果启用了 MQTT插件了解如何对MQTT进行渗透测试)。
  • 4369: epmdRabbitMQ节点和CLI工具使用的对等发现服务。 了解如何对该服务进行渗透测试
  • 5672, 5671: AMQP 0-9-1和1.0客户端无TLS和有TLS使用
  • 15672: HTTP API 客户端,管理UIrabbitmqadmin(仅在启用 管理插件 的情况下)。 了解如何对该服务进行渗透测试
  • 15674: STOMP-over-WebSockets客户端仅在启用 Web STOMP插件 的情况下)
  • 15675: MQTT-over-WebSockets客户端仅在启用 Web MQTT插件 的情况下)
  • 15692: Prometheus指标仅在启用 Prometheus插件 的情况下)
  • 25672: 用于节点间和CLI工具通信Erlang分发服务器端口并从动态范围分配默认情况下限制为单个端口计算为AMQP端口 + 20000。除非这些端口上的外部连接确实必要例如集群使用 联邦 或CLI工具在子网外的机器上使用否则这些端口不应公开暴露。有关详细信息请参见 网络指南仅有9个端口在互联网上开放
  • 35672-35682: 用于CLI工具Erlang分发客户端端口与节点通信并从动态范围分配计算为服务器分发端口 + 10000 到服务器分发端口 + 10010。有关详细信息请参见 网络指南
  • 61613, 61614: STOMP客户端 无TLS和有TLS仅在启用 STOMP插件 的情况下。少于10个设备开放此端口主要用于DHT节点的UDP。

Shodan

  • AMQP

{{#include ../banners/hacktricks-training.md}}