
Metasploit用グラフィカル攻撃管理コンソール:Armitageの系譜を継ぐ、ブラウザUIを備えた単一のGoバイナリ。ライブネットワークトポロジ、キャンペーンワークフロー、Hail Mary、セッション、レポートエクスポート、チームモードに対応。
Haydukは、許可されたペネトレーションテスト向けの無料かつオープンソースのMetasploit GUIです。Armitageのワークフローをブラウザにもたらします。ホストのマッピング、モジュールの閲覧、Meterpreterおよびシェルセッションの管理、キャンペーンレポートのエクスポートが可能です。
バイナリを1つダウンロードして実行し、Metasploitに接続するだけ。 リリースバイナリの実行にJava、Go、Node.jsのインストールは不要です。ブラウザUIは同梱されています。
Haydukはmsfrpcdを介して別個のMetasploit Frameworkインスタンスに接続します。Metasploit自体は同梱されていません。
最新リリースをダウンロード · クイックスタート · Dockerラボを試す · チームモード

画面は説明用のキャンペーンデータで表示しています。
必要なものは、Haydukのリリースバイナリ、ブラウザ、そして実行中のMetasploit Frameworkインスタンスです。ホスト、サービス、認証情報、ルートといったワークスペース機能を利用するには、Metasploitに接続されたデータベースも必要です。
以下の手順は、HaydukとMetasploitが同じマシン上で動作していることを前提としています。データベースと使い捨てのターゲットを備えた既製のMetasploit環境が必要な場合は、Dockerラボを利用してください。
最新リリースを開き、お使いのオペレーティングシステムとプロセッサに合ったアーカイブを選択してください。アーカイブをフォルダに展開します。Haydukのインストーラや別途のUIセットアップはありません。
Metasploitが動作しているマシンでターミナルを開き、次を実行します:
msfrpcd -P 'yourpassword' -S -f -a 127.0.0.1 -p 55553
yourpassword を自分のパスワードに置き換えてください。このターミナルは開いたままにしておきます。このコマンドは RPC を localhost のポート 55553 にバインドします。-S はこのローカル接続で SSL を無効にします。
すでに msfrpcd を実行している場合は、別のインスタンスを起動するのではなく、既存の接続設定を使用してください。
展開したフォルダで別のターミナルを開きます。
Linux および macOS:
./hayduk
Windows PowerShell:
.\hayduk.exe
Hayduk はブラウザで UI を開きます。ブラウザが開かない場合は、ターミナルに表示された完全な URL(?token=... を含む)をコピーしてください。ポートは自動的に割り当てられます。
Connect to msfrpcd で、手順 2 の設定を入力します:
| フィールド | 値 |
|---|---|
| ホスト | 127.0.0.1 |
| ポート | 55553 |
| ユーザー | msf |
| パスワード | 上記で設定したパスワード |
| SSL を使用 | チェックなし |
Connect をクリックします。コールドスタートの Metasploit インスタンスでは応答に約 30 秒かかることがあります。接続の進行状況はダイアログに表示されます。
UI を使用している間は Hayduk を実行したままにしてください。停止するには、そのターミナルで Ctrl+C を押します。
テストを許可されているシステムまたはネットワークを使用してください。スキャンは接続された Metasploit インスタンスから実行されるため、ターゲットはそのマシンから到達可能である必要があります。
モジュールをクリックして設定します。ホスト、セッション、テーブルの行、ツリー内のモジュールを右クリックすると、それぞれのアクションメニューが開きます。
キャンペーン概要カードを使用して、ホスト、サービス、セッション、または認証情報を開きます。Discover hosts、Scan services、Export report はネットワークマップのすぐ上からも利用できます。
ネットワークマップは、利用可能なキャンバスに合わせてホストの列を調整します。Focus を選択すると、マップとホストインスペクターが拡大されます。Arrange hosts は保存された位置を自動レイアウトで置き換えます。ホストカードには開いているサービスの数とアクセス状態が表示され、紫のパスはピボット経路を示します。

デモは説明用のキャンペーンデータを使用しています。
| 機能 | できること |
|---|---|
| ネットワークトポロジー | 適応型サブネットグループ、ホストのサービス数、ピボット経路を探索します。ホストをドラッグしたり、ズームしたり、Focus モードでマップを拡大したりできます。 |
| Metasploit モジュール | モジュールツリーを閲覧し、信頼性ランクを確認し、オプションを設定し、ペイロードを選択します。 |
| キャンペーンワークフロー | ホストを検出し、サービスをスキャンし、既知のサービスに一致するエクスプロイト候補を見つけます。 |
| セッション管理 | Meterpreter およびシェルセッションと対話し、シェルをアップグレードし、セッションを終了します。 |
| 認証情報とルート | ワークスペースデータを確認し、回復した認証情報をログインワークフローで使用します。 |
| Hail Mary | 選択したホストに対して一致するエクスプロイトを起動します。起動はペース配分され、イベントログが記録されます。 |
| レポート | キャンペーンのレビューとクライアントへの納品のための自己完結型 HTML レポートをエクスポートします。 |
| チームモード | 信頼できるネットワーク上で複数のオペレーターとキャンペーンを共有します。 |

説明的なキャンペーンデータを用いたグラフフォーカスモード。
リポジトリには、データベースとオプションのターゲットコンテナを備えた使い捨てのMetasploitラボが含まれています。これを実行して、デモのワークフローを実際のターゲットに対して試すことができます。
Git、Docker、およびDocker Composeが必要です。リポジトリの .sh スクリプトをサポートするシェルから以下のコマンドを実行してください:
git clone https://github.com/jolovicdev/hayduk.git
cd hayduk
scripts/msf/up.sh --with-vulnbox
スクリプトは、ラボの準備が整うとターゲットコンテナの IP アドレスを出力します。ダウンロードした Hayduk バイナリを起動し、Host 127.0.0.1、Port 55553、User msf、Password testpass123、use SSL をオフにして接続します。最初のスキャンには、出力されたターゲット IP を使用してください。
Metasploit とそのデータベースのみを起動するには、--with-vulnbox を付けずに scripts/msf/up.sh を実行します。
作業が完了したら、リポジトリのルートから次を実行します。これにより、ラボのデータベースデータを含むラボコンテナとそのボリュームが削除されます:
scripts/msf/down.sh
オペレーターが到達できる特定のインターフェースアドレスを指定して、ダウンロードしたバイナリを実行します:
./hayduk --team --listen 192.168.1.10:8787
192.168.1.10 を自分のマシンのアドレスに置き換えてください。チームモードでは、ループバック以外の明示的なアドレスが必要です。0.0.0.0 のようなワイルドカードアドレスは拒否されます。
ターミナルに表示された完全なトークン URL を共有してください。各オペレーターはそれをブラウザで開き、名前を選択します。イベントログはアクションをそれらの名前に紐付けます。
チームモードは単一の共有トークンと平文 HTTP を使用します。オペレーター名はラベルであり、検証済みの身元ではありません。トークン URL はパスワードと同様に扱い、チームモードは信頼できるネットワークでのみ使用してください。完全な信頼モデルについてはセキュリティポリシーをお読みください。
| 問題 | 確認すべきこと |
|---|---|
| ブラウザが開かない | Hayduk が表示した完全なトークン URL を開いてください。./hayduk --no-browser で起動することもできます。 |
| Hayduk が接続できない | msfrpcd が実行中であること、およびホスト、ポート、ユーザー、パスワードが一致していることを確認してください。 |
| SSL 接続が失敗する | msfrpcd が -S 付きで実行されている場合は use SSL のチェックを外してください。デーモンが SSL を使用する場合は有効にしてください。 |
| 接続に時間がかかる | 接続ダイアログを確認してください。コールドスタートの Metasploit インスタンスは応答に約 30 秒かかることがあります。 |
| ホストやサービスが表示されない | 選択したワークスペース、Metasploit のデータベース接続、および Metasploit からターゲットへの到達性を確認してください。 |
はい。Hayduk は Armitage のグラフィカルな Metasploit ワークフローに従っており、ネットワークトポロジ、モジュールの起動、Hail Mary、共有キャンペーンなどを含みます。ブラウザ UI と単一の Go バイナリを備えた独立した実装です。
いいえ。Hayduk は Metasploit の msfrpcd サービス用の GUI クライアントです。既存の Metasploit インストール、または同梱の Docker ラボを使用してください。
Hayduk のリリースバイナリには追加の言語ランタイムは不要です。ソースからビルドするには Go と Node.js が必要です。Docker は同梱のラボを使用する場合にのみ必要です。
はい。Host に Metasploit マシンの到達可能なアドレスを入力し、その RPC ポート、認証情報、SSL 設定を一致させてください。クイックスタートにある localhost 専用の RPC コマンドは、同じマシンからの接続のみを受け付けます。
はい。Hayduk は MIT ライセンスの下でリリースされています。
開発には、Go 1.26.1 以降、CI で使用されている Node.js 24、npm、および Make を使用します。リポジトリのルートから:
make
./bin/hayduk
make は UI の依存関係をインストールし、UI をビルドして埋め込み、bin/hayduk をコンパイルします。
初回ビルド後、1 つのターミナルで UI サーバーを実行します:
cd ui
npm run dev
リポジトリのルートで2つ目のターミナルを開きます:
make dev
Hayduk が出力した URL を開きます。UI の変更は開発プロキシ経由でリロードされます。
リポジトリのルートから以下のコマンドを実行します: