
複数のクライアント構成をテストし、詳細なスキャン分析によってLogjam脆弱性のあるエンドポイントを特定することで、SSHサーバーの弱いDiffie-Hellman鍵交換グループを監査します。
このツールはサーバーへのSSH接続を作成し、さまざまなクライアント設定を試すことで、サーバーが弱いグループを使用したDiffie-Hellman(DH)鍵交換を許可しているかどうかを確認します。私たちのツールが、弱いDH鍵交換設定についてSSHサーバーを評価する一助となることを目指しています。
このツールは限られた構成のみをテストするため、一部の弱い設定が検出されない可能性があることにご注意ください。さらに、スキャンが完了する前にサーバーが接続をブロックする場合もあります。
弱いグループを使用したDH鍵交換を悪用した攻撃からSSHサーバーとそのクライアントを保護するための設定方法については、Logjam info pageを参照してください。
元のブログ記事については、https://www.levelblue.com/blogs/spiderlabs-blog/ssh-weak-diffie-hellman-group-identification-tool/をご覧ください。
podman build -t ssh-weak-dh .
docker build --build-arg UID=$(id -u) --build-arg GID=$(id -g) -t ssh-weak-dh .
以下のいずれかのコマンドを実行します:
podman run --userns=keep-id:uid=65532,gid=65532 --name ssh-weak-dh --rm -v "$(pwd)/logs/":/logs/ ssh-weak-dh host [port]
docker run --name ssh-weak-dh --rm -v "$(pwd)/logs/":/logs/ ssh-weak-dh host [port]
host: SSHサーバーのホスト名またはIPアドレス。port: オプションのSSHサーバーポート(デフォルトは22)。スキャン結果は標準出力に表示されます。詳細な結果は./logs/ディレクトリ内のhost-portという名前のサブフォルダに保存されます。
スキャンツールはssh-weak-dh-analyze.pyスクリプトを呼び出して、前述のサブフォルダに保存されたスキャン結果を分析します。
分析スクリプトはスタンドアロンツールであり、以下のように実行できます:
# Get a container shell:
podman run --userns=keep-id:uid=65532,gid=65532 --name ssh-weak-dh --rm -v "$(pwd)/logs/":/logs/ -it --entrypoint bash ssh-weak-dh
docker run --name ssh-weak-dh --rm -v "$(pwd)/logs/":/logs/ -it --entrypoint bash ssh-weak-dh
# Run the analysis script on logged scan results:
./ssh-weak-dh-analyze.py /logs/scanme.example.com-22/
実行中のコンテナを停止します:
podman stop ssh-weak-dh
docker stop ssh-weak-dh
このプロジェクトはGNU General Public License v2.0の下でライセンスされています。 詳細はLICENSEを参照してください。
Copyright (C) 2015-2026 Fabian Foerg / Gotham Digital Science