
HASSHは、特定のクライアントおよびサーバーSSH実装を識別するために使用できるネットワークフィンガープリンティング標準です。フィンガープリントは、小さなMD5フィンガープリントの形式で簡単に保存、検索、共有できます。
「HASSH」は、特定のクライアントおよびサーバーSSH実装を識別するために使用できるネットワークフィンガープリント標準です。フィンガープリントはMD5フィンガープリントの形で簡単に保存、検索、共有できます。
HASSHは2018年にSalesforceで考案されました。しかし、このプロジェクトはもはやSalesforceによって積極的にメンテナンスされていません。オリジナルの作成者であるBen Reardon氏が、Corelightでアクティブなフォークを維持しています。
「hassh」および「hasshServer」は、さまざまなSSHクライアントおよびサーバーアプリケーションでサポートされている特定のアルゴリズムセットから構築されたMD5ハッシュです。これらのアルゴリズムは、最初のTCPスリーウェイハンドシェイクの後、平文パケットである「SSH_MSG_KEXINIT」メッセージとして交換され、最終的な暗号化SSHチャネルのセットアップの不可欠な部分です。
これらのアルゴリズムの存在と順序は、上位レベルの表面的な識別子(「Client」や「Server」文字列など)に関係なく、基盤となるクライアントおよびサーバーアプリケーションまたは独自の実装を識別するのに十分な独自性があります。
「Cyberduck」SFTPクライアント(具体的にはSSH-2.0-Cyberduck/6.7.1.28683 (Mac OS X/10.13.6) (x86_64))の場合、サポートされているアルゴリズムのセットは次のとおりです。
| 機能 | SSH_MSG_KEXINITパケットで見られるアルゴリズム |
|---|---|
| 鍵交換方式 | [email protected],diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group14-sha256,diffie-hellman-group15-sha512,diffie-hellman-group16-sha512,diffie-hellman-group17-sha512,diffie-hellman-group18-sha512,[email protected],diffie-hellman-group15-sha256,[email protected],[email protected],diffie-hellman-group16-sha256,[email protected],[email protected],[email protected] |
| 暗号化 | aes128-cbc,aes128-ctr,aes192-cbc,aes192-ctr,aes256-cbc,aes256-ctr,blowfish-cbc,blowfish-ctr,cast128-cbc,cast128-ctr,idea-cbc,idea-ctr,serpent128-cbc,serpent128-ctr,serpent192-cbc,serpent192-ctr,serpent256-cbc,serpent256-ctr,3des-cbc,3des-ctr,twofish128-cbc,twofish128-ctr,twofish192-cbc,twofish192-ctr,twofish256-cbc,twofish256-ctr,twofish-cbc,arcfour,arcfour128,arcfour256 |
| メッセージ認証 | hmac-sha1,hmac-sha1-96,hmac-md5,hmac-md5-96,hmac-sha2-256,hmac-sha2-512 |
| 圧縮 | [email protected],zlib,none |
これらのアルゴリズムをデリミタ「;」で連結すると、詳細な分析に役立つhasshAlgorithmsが得られます。
[email protected],diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group14-sha256,diffie-hellman-group15-sha512,diffie-hellman-group16-sha512,diffie-hellman-group17-sha512,diffie-hellman-group18-sha512,[email protected],diffie-hellman-group15-sha256,[email protected],[email protected],diffie-hellman-group16-sha256,[email protected],[email protected],[email protected];aes128-cbc,aes128-ctr,aes192-cbc,aes192-ctr,aes256-cbc,aes256-ctr,blowfish-cbc,blowfish-ctr,cast128-cbc,cast128-ctr,idea-cbc,idea-ctr,serpent128-cbc,serpent128-ctr,serpent192-cbc,serpent192-ctr,serpent256-cbc,serpent256-ctr,3des-cbc,3des-ctr,twofish128-cbc,twofish128-ctr,twofish192-cbc,twofish192-ctr,twofish256-cbc,twofish256-ctr,twofish-cbc,arcfour,arcfour128,arcfour256;hmac-sha1,hmac-sha1-96,hmac-md5,hmac-md5-96,hmac-sha2-256,hmac-sha2-512;[email protected],zlib,none
最後にhasshは単にhasshAlgorithmsのMD5であり、保存、検索、共有に使用されます。いくつかの例を以下に示します。
de30354b88bae4c2810426614e1b6976 Powershell Renci.SshNet.SshClient.0.0.1(Empireエクスプロイトモジュールで使用)
fafc45381bfde997b6305c4e1600f1bf Ruby/Net::SSH_5.0.2 x86_64-linux(Metasploitエクスプロイトモジュールで使用)
b5752e36ba6c5979a575e43178908adf Python Paramiko_2.4.1(Metasploitエクスプロイトモジュールで使用)
16f898dd8ed8279e1055350b4e20666c Dropbear_2012.55(IOT組み込みシステムで使用)
8a8ae540028bf433cd68356c1b9e8d5b CyberDuck バージョン6.7.1 (28683)
06046964c022c6407d15a27b12a6a4fb OpenSSH_7.7p1 Ubuntu-4
標準のSSH-2.0-OpenSSH_5.3 SSHサーバーの場合、サポートされているアルゴリズムのセットは次のとおりです。
| 機能 | SSH_MSG_KEXINITパケットで見られるアルゴリズム |
|---|---|
| 鍵交換方式 | diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 |
| 暗号化 | aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected] |
| メッセージ認証 | hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96 |
| 圧縮 | none,[email protected] |
これらのアルゴリズムをデリミタ「;」で連結すると、詳細な分析に役立つhasshServerAlgorithmsが得られます。
diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1;aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected];hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96;none,[email protected]
最後にhasshServerは単にhasshServerAlgorithmsのMD5です。いくつかの例を以下に示します。
c1c596caaeb93c566b8ecf3cae9b5a9e SSH-2.0-dropbear_2016.74
d93f46d063c4382b6232a4d77db532b2 SSH-2.0-dropbear_2016.72
2dd9a9b3dbebfaeec8b8aabd689e75d2 SSH-2.0-AWSCodeCommit
696e7f84ac571fdf8fa5073e64ee2dc8 SSH-2.0-FTP
hasshおよびhasshServerは、SalesforceのDetection Cloud Team内で Ben Reardon(@benreardon)によって考案・開発され、Adel Karimi(@0x4d31)および JA3 crew のクルー:John B. Althouse、Jeff Atkinson、Josh Atkins からのインスピレーションと貢献を受けています。