7.8 KiB
5671,5672 - Pentesting AMQP
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
基本情報
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: (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: TLSなしおよびTLSありのSTOMPクライアント(STOMPプラグインが有効な場合のみ)。このポートが開いているデバイスは10未満で、主にDHTノード用のUDPです。
Shodan
AMQP
{% hint style="success" %}
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 DiscordグループまたはTelegramグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。