
複数のクライアント構成をテストし、詳細なスキャン分析によってLogjam脆弱性のあるエンドポイントを特定することで、SSHサーバーの弱いDiffie-Hellman鍵交換グループを監査します。
このツールは、サーバーへのSSH接続を作成し、さまざまなクライアント設定を試行して、サーバーが弱いグループを使用したDiffie-Hellman (DH)鍵交換を許可しているかどうかを確認します。このツールは、SSHサーバーが弱いDH鍵交換設定を持っていないか評価するのに役立つことを目的としています。
このツールは限られた設定セットのみをテストすることに注意してください。そのため、一部の弱い設定が見逃される可能性があります。また、スキャンが完了する前にサーバーが接続をブロックする可能性もあります。
弱いグループを使用したDH鍵交換を悪用する攻撃からSSHサーバーとそのクライアントを保護するための設定方法については、Logjam情報ページを参照してください。
元のブログ記事については、https://blog.gdssecurity.com/labs/2015/8/3/ssh-weak-diffie-hellman-group-identification-tool.htmlをご覧ください。
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)。スキャン結果は標準出力に出力されます。詳細な結果は、host-portという名前のサブフォルダ内の./logs/ディレクトリに保存されます。
スキャンツールは、前述のサブフォルダに保存されたスキャン結果を分析するためにスクリプト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