
ssh-mitm v6.0.0
SSH-MITM - SSH監査をシンプルに
SSH-MITM - ssh監査をシンプルに
認可されたセキュリティ監査のための対話型SSH傍受ツール。
セッションの傍受、ライブトラフィックの監視、コマンドの注入、ファイル転送の操作をすべてリアルタイムで実行できます。
法的通知: SSH-MITMは、認可されたセキュリティ監査、ペネトレーションテスト、および研究のみを目的としています。 所有していないシステム、またはテストする明示的な書面による許可がないシステムに対して使用しないでください。 SSHトラフィックの無許可の傍受は、お住まいの地域では違法となる場合があります。
🎓 SSH-MITMを初めてお使いですか?対話型チュートリアルから始めましょう
ssh-mitm tutorial
ブラウザベースのステップバイステップガイドが開きます。ターゲットサーバーは不要です。 5つの章がLogfile Inc. の認可された評価に従い、パスワード傍受、公開鍵認証、SFTP転送、コマンド実行、ライブセッションミラーリングをカバーします。
クイックスタート
クライアントとそのSSHサーバーの間に配置されたSSH-MITMは、接続を傍受します。両側を独立して終了し、すべてのトラフィックを転送しながら、監査人に完全な可視性と制御を提供します:
1. インストール
SSH-MITMはインストールを必要としません。AppImageをダウンロードすればすぐに使用できます:
wget https://github.com/ssh-mitm/ssh-mitm/releases/latest/download/ssh-mitm-x86_64.AppImage
chmod +x ssh-mitm-x86_64.AppImage
その他のインストールオプション(pip、Flatpak、Snap)については、インストールガイドを参照してください。
⚡ 最新バージョンを入手
PyPIリリースは遅れる場合があります。GitHubから直接インストールすると、対話型チュートリアルとすべての最近の改善点を入手できます:
pip install git+https://github.com/ssh-mitm/ssh-mitm.git
2. SSH-MITMを起動
SSH-MITMをターゲットホストに向けます。テストする権限のあるシステムを使用してください:
./ssh-mitm-x86_64.AppImage server --remote-host <target-host>
3. クライアント接続をルーティング
SSHクライアントにポート10022でSSH-MITMを経由して接続させます:
ssh -p 10022 user@mitm-host
SSH-MITMはセッションを傍受し、資格情報を即座にログに記録します:
INFO Remote authentication succeeded
Remote Address: <target-host>:22
Username: alice
Password: secret
Agent: no agent
4. ライブセッションにアタッチ
傍受された接続ごとに、SSH-MITMはローカルポートにミラーシェルを開きます:
INFO ℹ created mirrorshell on port 34463. connect with: ssh -p 34463 127.0.0.1
別のターミナルから接続します:
ssh -p 34463 127.0.0.1
ミラーシェルはセッションをリアルタイムで反映します。監査人はユーザーのアクティビティを観察し、元の接続に影響を与えることなく、独立してコマンドを注入できます。
SSH-MITMでできること
| 機能 | 説明 |
|---|---|
| 対話型セッション監視 | ミラーシェルを介して傍受されたセッションにアタッチし、コマンドをリアルタイムで観察および注入 |
| ファイル転送操作 | SCP/SFTP転送を傍受し、コピーを保存、またはファイルをその場で置換 |
| ポートフォワーディング傍受 | TCPトンネルと動的SOCKS 4/5フォワーディングを傍受 |
| FIDO2トークンフィッシング | トリビアル認証攻撃によるハードウェアトークン認証の傍受(OpenSSH情報) |
| 認証傍受 | パスワードをキャプチャ。ターゲットサーバーと同じ公開鍵を受け入れ、自動的にパスワード認証にフォールバック |
| MOSHセッション監視 | MOSH(Mobile Shell)UDPセッションを傍受および復号化。組み込みのVT100/ANSIエミュレータを介してライブターミナルを表示 |
| PowerShellリモーティング(PSRP) | SSH上のPowerShellリモーティングセッションを傍受。コマンド、出力、エラー、状態遷移をログに記録。セッションごとのトランスクリプトを作成 |
| クライアント監査 | キー交換ネゴシエーション動作のみから、接続するSSHクライアントの既知の脆弱性を特定 |
| プラグインサポート | プラグインを使用してすべての傍受動作を拡張およびカスタマイズ |
ユースケース
- ペネトレーションテスト — 認可されたエンゲージメントでSSHクライアントとサーバーを積極的に監査。セッションを傍受、操作、再生
- セキュリティ研究 — SSHクライアントの動作、認証フロー、プロトコルレベルの弱点を対話的に分析
- トレーニング環境 — 管理されたラボ環境でMITMテクニックとセッションハイジャックをデモンストレーション
- マルウェア分析 — 隔離された環境で疑わしいクライアントからのSSHセッションを監視および操作
セキュリティ研究
SSH-MITMは、SSHクライアントがハードウェアトークン認証を処理する方法における根本的な弱点を調査するために開発されました。この研究により、第二要素としてよく使用されるFIDO2トークンが、トリビアル認証と呼ばれる手法を通じてフィッシングされる可能性があることが明らかになりました。
この攻撃は、SSHクライアントがプロンプトのないキーボードインタラクティブなどのトリビアルな認証方法を強制される可能性があることを悪用し、実質的に実際の認証なしでアクセスを許可します。トークンがチャレンジされることはないため、これはハードウェアトークン保護を完全にバイパスします。SSH-MITMは、これを明示的に拒否しないクライアントに対してシミュレートできます:
ssh-mitm server --enable-trivial-auth
Man-in-the-Middleの位置から操作することで、どちらのエンドポイントからも見えないSSHクライアントの動作を観察できます。SSH-MITMは、広く展開されているSSHソフトウェアにおける**7つのこれまで知られていなかった脆弱性** の発見に使用されてきました:
最新: CVE-2026-60000 — OpenSSHのGSSAPI認証はRFC 4462に違反し、攻撃者が
MaxAuthTriesを完全にバイパスして、認証前のサービス拒否を引き起こすことを可能にしました。同じ根本原因により、ユーザー名有効性オラクルと特権プロセスクラッシュも発生し、これらはすべてOpenSSH 10.4で修正されました。
DeepSec 2021での講演 — 攻撃の完全な説明:
クリックしてvimeo.comで視聴
この研究のすべての結果が脆弱性であるとは限りません。OpenSSHに直接貢献されたハードニング修正については、アップストリームへの貢献を参照してください。
(トップに戻る)
貢献
貢献を歓迎します!開発環境、コードスタイル、プルリクエストの提出方法の詳細については、CONTRIBUTING.mdをお読みください。
(トップに戻る)
連絡先
(トップに戻る)

