
HASSH è uno standard di fingerprinting di rete utilizzabile per identificare specifiche implementazioni SSH client e server. Le fingerprint possono essere facilmente memorizzate, ricercate e condivise sotto forma di una piccola fingerprint MD5.
"HASSH" è uno standard di fingerprinting di rete che può essere utilizzato per identificare specifiche implementazioni di Client e Server SSH. Le impronte digitali possono essere facilmente memorizzate, cercate e condivise sotto forma di un'impronta MD5.
HASSH è stato inventato da Salesforce nel 2018. Tuttavia, il progetto non è più mantenuto attivamente da Salesforce. Il suo creatore originale, Ben Reardon, mantiene il fork attivo presso Corelight
"hassh" e "hasshServer" sono hash MD5 costruiti da un insieme specifico di algoritmi supportati da varie applicazioni Client e Server SSH. Questi algoritmi vengono scambiati dopo la stretta di mano TCP iniziale come pacchetti in chiaro noti come messaggi "SSH_MSG_KEXINIT", e sono parte integrante dell'impostazione del canale SSH crittografato finale. L'esistenza e l'ordinamento di questi algoritmi sono sufficientemente unici da poter essere utilizzati come impronta digitale per aiutare a identificare l'applicazione Client o Server sottostante o l'implementazione unica, indipendentemente dagli identificatori ostensibili di livello superiore come le stringhe "Client" o "Server".
Per il client SFTP "Cyberduck" (specificamente SSH-2.0-Cyberduck/6.7.1.28683 (Mac OS X/10.13.6) (x86_64)), l'insieme degli algoritmi supportati è il seguente:
| Funzione | Algoritmi visti nei pacchetti SSH_MSG_KEXINIT |
|---|---|
| Metodi di scambio chiave | [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] |
| Cifratura | 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 |
| Autenticazione del messaggio | hmac-sha1,hmac-sha1-96,hmac-md5,hmac-md5-96,hmac-sha2-256,hmac-sha2-512 |
| Compressione | [email protected],zlib,none |
Concatenando questi algoritmi insieme con un delimitatore ";" si ottiene hasshAlgorithms, che è utile per analisi dettagliate.
[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
Infine, l'hassh è semplicemente l'MD5 di hasshAlgorithms e viene utilizzato per archiviazione, ricerca e condivisione. Alcuni esempi sono i seguenti: