pentesting-rabbitmq

Tests RabbitMQ and AMQP brokers for default credentials, message sniffing, and known CVEs.

954|172|Updated Mar 13, 2026
One-click install
npx skills add https://github.com/xalgord/xalgorix --skill pentesting-rabbitmq
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pentesting-rabbitmq
Source: https://github.com/xalgord/xalgorix/tree/main/internal/tools/skills/data/network-services-pentesting/pentesting-rabbitmq
Command: npx skills add https://github.com/xalgord/xalgorix --skill pentesting-rabbitmq

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pika, amqp.

What problem does it solve?

RabbitMQ brokers often hold in-transit messages containing credentials, tokens, and PII, yet testers frequently miss default guest logins, weak SASL mechanisms, and version-specific CVEs. This Skill provides a structured methodology to enumerate, authenticate, exploit, and document RabbitMQ/AMQP weaknesses during authorized engagements.

Core Features & Use Cases

  • Enumeration and Authentication Testing: Run nmap amqp-info, probe AMQPS with openssl, test remote guest:guest login, ANONYMOUS SASL, and credential spraying against AMQP/STOMP.
  • Message Interception and Replay: Bind wildcard routing keys to amq.topic for live sniffing, monitor amq.rabbitmq.event for recon, and replay stream queues from offset zero to recover historical secrets.
  • CVE and Misconfiguration Exploitation: Confirm CVE-2024-51988 queue-deletion DoS, harvest the Authorization-header log leak, and achieve RCE when consumers pipe message bodies into shells.
  • Use Case: During an internal pentest, nmap shows 5672/tcp open running RabbitMQ 3.1.5; use this Skill to test remote guest login, sniff payment messages via a '#' topic bind, and produce a severity-rated finding with reproduction steps.

Quick Start

Ask the AI to enumerate and test the RabbitMQ service on the target IP at port 5672 for default credentials and message sniffing opportunities.

Frequently Asked Questions about pentesting-rabbitmq

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I test RabbitMQ for default credentials remotely?

Test RabbitMQ default credentials by connecting with guest:guest using the Python amqp or pika library against port 5672. Although RabbitMQ restricts guest to localhost via loopback_users, many Docker and IoT images disable that check, so always attempt remote login rather than assuming it is blocked.

How to sniff RabbitMQ messages without deleting them?

Sniff RabbitMQ messages by declaring a temporary exclusive queue and binding it to amq.topic with the '#' wildcard routing key using pika. This passively receives copies of live message bodies and headers without consuming or deleting messages from existing queues.

What is CVE-2024-51988 in RabbitMQ?

CVE-2024-51988 affects RabbitMQ versions up to 3.12.10, where the HTTP management API skips the configure permission check on queue deletions. A user with only read or write permissions can delete arbitrary queues via a DELETE request to /api/queues, causing denial of service.

Can RabbitMQ stream queues reveal old messages?

Yes, RabbitMQ stream queues are append-only and retain messages after consumption. A read-only account can replay historical messages by consuming with the x-stream-offset argument set to first, potentially recovering old tokens, credentials, or PII.

Why does RabbitMQ guest login fail remotely?

RabbitMQ guest login fails remotely because the loopback_users configuration restricts the guest account to localhost connections by default. If remote guest access works, the target has disabled this protection, which is itself a reportable misconfiguration.

When should RabbitMQ testing not be performed?

RabbitMQ testing should only occur during authorized engagements with explicit written permission. Active tests like queue deletion via CVE-2024-51988 and credential spraying are disruptive and can trigger account lockouts or data loss on production brokers.