5671,5672 - Pentesting AMQP
Reading time: 6 minutes
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
基本情報
From cloudamqp:
RabbitMQは、_メッセージブローカー_または_キューマネージャー_としても知られるメッセージキューイングソフトウェアです。簡単に言えば、メッセージを転送するためにアプリケーションが接続するキューが定義されたソフトウェアです。
メッセージにはあらゆる種類の情報を含めることができます。例えば、別のアプリケーション(別のサーバー上にある可能性もあります)で開始すべきプロセスやタスクに関する情報を含むことができますし、単純なテキストメッセージである場合もあります。キューマネージャーソフトウェアは、受信アプリケーションが接続してキューからメッセージを取得するまでメッセージを保存します。受信アプリケーションはその後、メッセージを処理します。
Definition from .
デフォルトポート: 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: (TLSなしおよびTLSありのMQTTクライアント、ここでMQTTのペンテストについて詳しく学ぶ)。
- 4369: epmd、RabbitMQノードとCLIツールによって使用されるピア発見サービス。このサービスのペンテストについて詳しく学ぶ。
- 5672, 5671: TLSなしおよびTLSありのAMQP 0-9-1および1.0クライアントによって使用されます。
- 15672: HTTP APIクライアント、管理UIおよびrabbitmqadmin(管理プラグインが有効な場合のみ)。このサービスのペンテストについて詳しく学ぶ。
- 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
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。