
CVE-2024-6387 (regreSSHion) に脆弱な可能性がある OpenSSH サーバーを識別するための HASSH フィンガープリント。
CVE-2024-6387(regreSSHion)に対して脆弱な可能性があるOpenSSHサーバーを特定するためのHASSHフィンガープリントです。
このリポジトリの主な目的は、生成されたHASSHフィンガープリントデータベースを共有することです。スクリプトはShodan APIを使用して、脆弱なOpenSSHバージョンのHASSHフィンガープリントのリストを収集します。生成されたデータベースは、ShodanまたはCensysでクエリを実行して、潜在的に脆弱なOpenSSHサーバーを特定するために使用できます。hasshdb.txtデータベースは、hassh-utilsで利用可能な私のNmap NSEスクリプトでも使用できます。
SSHサーバー識別文字列(バージョン文字列)は、Cowrieのようなハニーポットで見られるように簡単に偽装できるため、SSHサーバーの実装やバージョンを特定する信頼できる方法ではありません。Ben Reardon(私とJohn Althouseの貢献あり)によって開発されたHASSHは、SSH_MSG_KEXINITメッセージからKEX、暗号化、MAC、圧縮アルゴリズムを組み合わせて、特定のSSH実装のフィンガープリントを作成するフィンガープリンティング技術です。HASSHの詳細については、Salesforceエンジニアリングブログ記事とHASSHリポジトリを参照してください。
OpenSSHの最近のRCE脆弱性(Qualysブログ記事)を考慮し、HASSHはShodanとCensysの両方でサポートされており、特定のSSHサーバーの実装とバージョンを特定するより信頼性の高い方法を提供するため、フィンガープリントデータベースを生成する価値があると考えました。
HASSHフィンガープリントは、Shodanではssh.hasshクエリ、Censysではservices.ssh.hassh_fingerprintクエリを使用して検索できます。
Shodanスクリプトは以下のデータファイルを生成します:
hasshdb.txt: 整形されたHASSHフィンガープリントと、それに関連するOpenSSHバージョン(信頼度パーセンテージを含む)を含むテキストファイル。hasshdb.json: HASSHデータベースを含むJSONファイル。各HASSHフィンガープリントをOpenSSHバージョンとカウントにマッピングします。potentially-vulnerable.json: 潜在的に脆弱なサーバーのHASSHフィンガープリント、総カウント、および上位100のバージョン/識別文字列を含むJSONファイル。注:スクリプトはShodanのファセットとcount()メソッドを使用します。これらは詳細な結果を返さず、有料APIプランを必要としません。このメソッドはsearch()メソッドよりもはるかに高速です。