
HASSH es un estándar de huella digital de red que se puede utilizar para identificar implementaciones SSH específicas de Cliente y Servidor. Las huellas digitales se pueden almacenar, buscar y compartir fácilmente en forma de una pequeña huella digital MD5.
"HASSH" es un estándar de huellas digitales de red que se puede utilizar para identificar implementaciones específicas de Cliente y Servidor SSH. Las huellas digitales se pueden almacenar, buscar y compartir fácilmente en forma de una huella digital MD5.
HASSH fue inventado en Salesforce en 2018. Sin embargo, el proyecto ya no es mantenido activamente por Salesforce. Su creador original, Ben Reardon, mantiene el fork activo en Corelight
"hassh" y "hasshServer" son hashes MD5 construidos a partir de un conjunto específico de algoritmos que son soportados por varias aplicaciones Cliente y Servidor SSH. Estos algoritmos se intercambian después del handshake TCP inicial de tres vías como paquetes en texto claro conocidos como mensajes "SSH_MSG_KEXINIT", y son una parte integral del establecimiento del canal SSH cifrado final. La existencia y el orden de estos algoritmos es lo suficientemente único como para que pueda usarse como una huella digital para ayudar a identificar la aplicación Cliente y Servidor subyacente o la implementación única, independientemente de identificadores ostensibles de nivel superior como las cadenas "Cliente" o "Servidor".
Para el cliente SFTP "Cyberduck" (específicamente SSH-2.0-Cyberduck/6.7.1.28683 (Mac OS X/10.13.6) (x86_64)", el conjunto de algoritmos soportados es el siguiente:
| Función | Algoritmos vistos en paquetes SSH_MSG_KEXINIT |
|---|---|
| Métodos de intercambio de claves | [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] |
| Cifrado | 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 |
| Autenticación de mensajes | hmac-sha1,hmac-sha1-96,hmac-md5,hmac-md5-96,hmac-sha2-256,hmac-sha2-512 |
| Compresión | [email protected],zlib,none |
Concatenar estos algoritmos juntos con un delimitador de ";" da los hasshAlgorithms, que es útil para análisis detallado.
[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
Finalmente, el hassh es simplemente el MD5 de hasshAlgorithms, y se utiliza para almacenamiento, búsqueda y compartición. Algunos ejemplos a continuación: