
CVE-2016-10708の概念実証スクリプト。OpenSSHサーバーをスキャンして脆弱性を検出し、細工されたSSH_MSG_NEWKEYSパケットフラッディングによるサービス拒否を実行します。
この概念実証スクリプトは、OpenSSH バージョン 7.4 未満の脆弱性 (CVE-2016-10708) を悪用し、予期しない SSH_MSG_NEWKEYS パケットを送信することで DoS を引き起こす可能性があります。2つのモードで動作します:
NEWKEYS メッセージでサーバーをフラッドし、サービス拒否状態を引き起こします。このツールは研究および教育目的でのみ提供されています。自分が所有していない、または明示的なテスト許可を得ていないシステムに対する無許可のスキャンや攻撃は、該当する法律や規制に違反する可能性があります。
このスクリプトを責任を持って使用してください:
-t, --targets
カンマ区切りのターゲットIPアドレスまたはホスト名のリスト(必須)
-p, --port
接続先のSSHポート(デフォルト: 22)
-m, --mode
動作モード: scan または attack(必須)
--sockets
ターゲットあたりのTCP接続数(デフォルト: 5)
--threads
最大同時ワーカースレッド数(デフォルト: 10)
-v, --verbose
デバッグレベルのログ出力を有効化
バナー交換 スキャンモードでは、スクリプトは各ターゲットに接続し、SSHバナーを読み取ってOpenSSHバージョンを抽出します。
接続セットアップ
アタックモードでは、ターゲットごとに指定された数のTCPソケットを開き、直ちに偽のクライアントバナー (SSH-2.0-OpenSSH_8.9) を送信し、接続を開いたまま保持します。
パケット作成
SSH_MSG_NEWKEYS ペイロードのみを含む生のSSHトランスポートパケットを構築します。パケット長、パディング長、ランダムパディングは、SSHバイナリパケットプロトコルに準拠するように計算されます。
フラッドループ
スクリプトは無限ループに入り、ランダム化されたサブミリ秒の遅延で、すべてのソケットに細工された NEWKEYS パケットを送信します。パッチ未適用の sshd インスタンスは、順序が狂った NEWKEYS メッセージを誤って処理し、最終的にクラッシュまたは不安定になります。