
SSH-Clients und -Server fingerprinten.
HINWEIS: Dieses Corelight-Repository wurde erstellt, damit es aktiv gepflegt werden kann, auf Anfrage von Salesforce, dessen ursprüngliches Repository nicht mehr gepflegt wird.
" HASSH" ist ein Netzwerk-Fingerprinting-Standard, der verwendet werden kann, um spezifische SSH-Client- und Server-Implementierungen zu identifizieren. Die Fingerprints können einfach in Form eines MD5-Fingerprints gespeichert, durchsucht und geteilt werden.
"hassh" und "hasshServer" sind MD5-Hashes, die aus einem spezifischen Satz von Algorithmen konstruiert werden, die von verschiedenen SSH-Client- und Server-Anwendungen unterstützt werden. Diese Algorithmen werden nach dem anfänglichen TCP-Drei-Wege-Handshake als Klartextpakete ausgetauscht, die als "SSH_MSG_KEXINIT"-Nachrichten bekannt sind, und sind ein integraler Bestandteil des Aufbaus des endgültig verschlüsselten SSH-Kanals. Die Existenz und Reihenfolge dieser Algorithmen kann so eindeutig sein, dass sie als Fingerprint verwendet werden kann, um die zugrunde liegende Client- und Server-Anwendung oder eindeutige Implementierung zu identifizieren, unabhängig von übergeordneten vorgeblichen Identifikatoren wie "Client"- oder "Server"-Strings.
Für den "Cyberduck"-SFTP-Client SSH-2.0-Cyberduck/6.7.1.28683 (Mac OS X/10.13.6) (x86_64) , sieht der Satz unterstützter Algorithmen wie folgt aus :
| Funktion | In SSH_MSG_KEXINIT-Paketen gesehene Algorithmen |
|---|---|
| Schlüsselaustauschmethoden | [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] |
| Verschlüsselung | 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 |
| Nachrichtenauthentifizierung | hmac-sha1,hmac-sha1-96,hmac-md5,hmac-md5-96,hmac-sha2-256,hmac-sha2-512 |
| Kompression | [email protected],zlib,none |
Das Verketten dieser Algorithmen mit einem Trennzeichen von ";" ergibt die hasshAlgorithms, was für detaillierte Analysen nützlich ist.
[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