Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
hassh — Rileva le impronte digitali di client e server SSH. | Kitploit
Strumenti/GitHubGitHub/corelight/hassh
Gestione degli Indicatori di Compromissione (IOC)RicognizioneInformatica ForenseSicurezza di ReteThreat IntelligenceRilevamento IntrusioniRilevamento di Anomalie
GitHubcorelight/hassh

hassh

Rileva le impronte digitali di client e server SSH.

Vedi Repository
122 anni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

"HASSH" - un metodo di profilazione per client e server SSH.

NOTA: questo repository Corelight è stato creato affinché possa essere mantenuto attivamente, su richiesta di Salesforce, il cui repository originale non viene più mantenuto.

"HASSH" è uno standard di fingerprinting di rete che può essere utilizzato per identificare specifiche implementazioni SSH client e server. Le fingerprint possono essere facilmente archiviate, cercate e condivise sotto forma di fingerprint MD5.

License: BSD 3-Clause License

A cosa può servire HASSH:

  • Uso in ambienti altamente controllati e ben conosciuti, dove qualsiasi impronta al di fuori di un insieme noto e affidabile è segnalabile.
  • È possibile rilevare, controllare e analizzare i tentativi di password brute force o Cred Stuffing con un livello di granularità superiore rispetto all'indirizzo IP sorgente - che può essere influenzato da NAT o da comportamenti simili a botnet. L'hassh sarà una caratteristica della specifica implementazione software client in uso, anche se l'IP è soggetto a NAT e quindi condiviso da molti altri client SSH.
  • Rilevare l'esfiltrazione occulta di dati all'interno dei componenti degli insiemi di algoritmi client. In questo caso, un client SSH appositamente programmato può inviare dati in uscita da un ambiente affidabile a uno meno affidabile all'interno di una serie di pacchetti SSH_MSG_KEXINIT. In uno scenario simile alla più nota esfiltrazione via DNS, i dati potrebbero essere inviati come una serie di connessioni tentate, ma incomplete e non registrate, verso un server SSH controllato da malintenzionati che possono quindi registrare, decodificare e ricostituire questi frammenti di dati nella loro forma originale. Fino ad ora tali tentativi - tanto meno il contenuto dei pacchetti in chiaro - non vengono registrati nemmeno da maturi analizzatori di pacchetti o sui sistemi endpoint. Il rilevamento di questo stile di esfiltrazione può ora essere eseguito facilmente utilizzando il rilevamento di anomalie o l'allertamento su client SSH con più hassh diversi
  • Uso in combinazione con altri indicatori contestuali, ad esempio rilevare tentativi di Network discovery e Lateral movement tramite hassh insoliti, come quelli usati da Paramiko, Powershell, Ruby, Meterpreter, Empire.
  • Condividere hassh dannosi come Indicatori di Compromissione.
  • Creare un livello aggiuntivo di controllo delle applicazioni client, ad esempio si potrebbe bloccare la connessione a un server SSH per tutti i client che non rientrano in un insieme noto e approvato di valori hassh.
  • Contribuire alla Non Ripudiabilità in un contesto forense - a un livello di astrazione superiore rispetto all'IP sorgente - che può essere influenzato da NAT o in cui vengono utilizzate più sorgenti IP.
  • Rilevare applicazioni ingannevoli. Ad esempio, un valore hasshServer noto per appartenere a un'installazione del server honeypot SSH Cowry/Kippo, che si spaccia per un comune server OpenSSH nella stringa del server.
  • Rilevare dispositivi con un hassh noto per appartenere a sistemi embedded IoT. Gli esempi possono includere telecamere, microfoni, keylogger, intercettatori che potrebbero essere facilmente nascosti alla vista e comunicare silenziosamente su canali cifrati verso un server di controllo.

Come funziona HASSH:

"hassh" e "hasshServer" sono hash MD5 costruiti da un insieme specifico di algoritmi supportati da varie applicazioni SSH client e server. Questi algoritmi vengono scambiati dopo l'iniziale handshake TCP a tre vie come pacchetti in chiaro noti come messaggi "SSH_MSG_KEXINIT" e sono parte integrante della configurazione del canale SSH cifrato finale. L'esistenza e l'ordinamento di questi algoritmi possono essere sufficientemente unici da poter essere usati come impronta digitale per aiutare a identificare l'applicazione client o server sottostante o l'implementazione unica, indipendentemente da identificatori apparenti di livello superiore come le stringhe "Client" o "Server".

Esempio 1: Fingerprinting del client - "hassh"

Per il client SFTP "Cyberduck" SSH-2.0-Cyberduck/6.7.1.28683 (Mac OS X/10.13.6) (x86_64) , l'insieme degli algoritmi supportati è il seguente:

Concatenando questi algoritmi con un delimitatore ";" si ottiene hasshAlgorithms, 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 l'archiviazione, la ricerca e la condivisione. Di seguito alcuni esempi:

root@kitploit:~
de30354b88bae4c2810426614e1b6976  Powershell Renci.SshNet.SshClient.0.0.1 (used by Empire exploit modules)
fafc45381bfde997b6305c4e1600f1bf  Ruby/Net::SSH_5.0.2 x86_64-linux (used by Metasploit exploit modules)
b5752e36ba6c5979a575e43178908adf  Python Paramiko_2.4.1 (used by Metasploit exploit modules) 
16f898dd8ed8279e1055350b4e20666c  Dropbear_2012.55 (used in IOT embedded systems)  
8a8ae540028bf433cd68356c1b9e8d5b  CyberDuck Version 6.7.1 (28683)  
06046964c022c6407d15a27b12a6a4fb  OpenSSH_7.7p1 Ubuntu-4

Esempio 2: Fingerprinting del server - "hasshServer"

Per un server SSH standard SSH-2.0-OpenSSH_5.3, l'insieme degli algoritmi supportati è il seguente:

Concatenando questi algoritmi con un delimitatore ";" si ottiene hasshServerAlgorithms, utile per analisi dettagliate.
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]

Infine, hasshServer è semplicemente l'MD5 di hasshServerAlgorithms; di seguito alcuni esempi:

root@kitploit:~
c1c596caaeb93c566b8ecf3cae9b5a9e  SSH-2.0-dropbear_2016.74	  
d93f46d063c4382b6232a4d77db532b2  SSH-2.0-dropbear_2016.72	  
2dd9a9b3dbebfaeec8b8aabd689e75d2  SSH-2.0-AWSCodeCommit  
696e7f84ac571fdf8fa5073e64ee2dc8  SSH-2.0-FTP

Opzioni

Per impostazione predefinita, vengono registrati la stringa grezza degli algoritmi e l'algoritmo di scambio chiavi; è possibile controllarli impostando queste variabili booleane nello script.

root@kitploit:~
option log_raw_hasshAlgorithms = T;
option log_key_algorithm = T;

Riferimenti:

  • Blog di Salesforce Engineering
  • BSides 2019 - HASSH - un metodo di profilazione per client e server SSH
  • RFC4253 Il protocollo di livello di trasporto Secure Shell (SSH)

Crediti:

hassh e hasshServer sono stati ideati e sviluppati da Ben Reardon all'interno del Detection Cloud Team di Salesforce, con l'ispirazione e i contributi di Adel Karimi (@0x4d31) e del team JA3.

Scarica lo strumento
FunzioneAlgoritmi osservati 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]
Cifraturaaes128-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 messaggiohmac-sha1,hmac-sha1-96,hmac-md5,hmac-md5-96,hmac-sha2-256,hmac-sha2-512
Compressione[email protected],zlib,none
FunzioneAlgoritmi osservati nei pacchetti SSH_MSG_KEXINIT
Metodi di scambio chiavediffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
Cifraturaaes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
Autenticazione del messaggiohmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
Compressionenone,[email protected]