Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
hassh — SSH-Clients und -Server fingerprinten. | Kitploit
Tools/GitHubGitHub/corelight/hassh
Management von Indicators of Compromise (IOC)AufklärungForensikNetzwerksicherheitBedrohungsanalyseEinbruchserkennungAnomalieerkennung
GitHubcorelight/hassh

hassh

SSH-Clients und -Server fingerprinten.

Repository anzeigen
12vor 2 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

"HASSH" - eine Profiling-Methode für SSH-Clients und -Server.

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.

License: BSD 3-Clause License

Wobei kann HASSH helfen:

  • Einsatz in stark kontrollierten, gut verstandenen Umgebungen, in denen Fingerprints außerhalb eines bekannten, guten Satzes alarmierbar sind.
  • Es ist möglich, Brute-Force- oder Cred-Stuffing-Passwortversuche mit einer höheren Granularität zu erkennen, zu kontrollieren und zu untersuchen als über die IP-Quelle - die durch NAT oder botnetzartiges Verhalten beeinträchtigt sein kann. Der hassh ist ein Merkmal der spezifischen Client-Software-Implementierung, die verwendet wird, selbst wenn die IP durch NAT so umgesetzt wird, dass sie von vielen anderen SSH-Clients gemeinsam genutzt wird.
  • Erkennen verdeckter Datenexfiltration innerhalb der Komponenten der Client-Algorithmussätze. In diesem Fall kann ein speziell kodierter SSH-Client Daten aus einer vertrauenswürdigen in eine weniger vertrauenswürdige Umgebung über eine Reihe von SSH_MSG_KEXINIT-Paketen nach außen senden. In einem Szenario, das der bekannteren Exfiltration über DNS ähnelt, könnten Daten als eine Reihe von versuchten, aber unvollständigen und nicht protokollierten Verbindungen zu einem SSH-Server gesendet werden, der von böswilligen Akteuren kontrolliert wird, die diese Datenstücke dann aufzeichnen, dekodieren und zu ihrer ursprünglichen Form wieder zusammensetzen können. Bisher wurden solche Versuche - geschweige denn die Inhalte der Klartextpakete - nicht einmal von ausgereiften Paketanalysatoren oder auf Endpunktsystemen protokolliert. Die Erkennung dieser Art von Exfiltration kann nun einfach durch Anomalieerkennung oder Alarmierung bei SSH-Clients mit mehreren unterschiedlichen hassh erfolgen
  • Einsatz zusammen mit anderen kontextuellen Indikatoren, zum Beispiel die Erkennung von Netzwerk-Discovery- und Lateral-Movement-Versuchen durch ungewöhnliche hassh, wie sie von Paramiko, Powershell, Ruby, Meterpreter, Empire verwendet werden.
  • Bösartige hassh als Indicators of Compromise teilen.
  • Schaffung einer zusätzlichen Ebene der Client-Anwendungskontrolle, zum Beispiel könnte man allen Clients die Verbindung zu einem SSH-Server blockieren, die außerhalb eines genehmigten, bekannten Satzes von hassh-Werten liegen.
  • Beitrag zur Nichtabstreitbarkeit in einem forensischen Kontext - auf einer höheren Abstraktionsebene als IPSource - die durch NAT beeinträchtigt sein kann oder bei der mehrere IP-Quellen verwendet werden.
  • Erkennen trügerischer Anwendungen. Z. B. ein hasshServer-Wert, von dem bekannt ist, dass er zu einer Cowry/Kippo-SSH-Honeypot-Serverinstallation gehört, die vorgibt, in der Server-String ein gewöhnlicher OpenSSH-Server zu sein.
  • Erkennen von Geräten mit einem hassh, von dem bekannt ist, dass es zu IOT-Eingebetteten Systemen gehört. Beispiele können Kameras, Mikrofone, Keylogger, Wanzen sein, die leicht verborgen werden können und leise über verschlüsselte Kanäle mit einem Kontrollserver kommunizieren.

Wie funktioniert HASSH:

"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.

Beispiel 1: Client-Fingerprinting – der "hassh"

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 :

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

Schließlich ist der hassh einfach der MD5 der hasshAlgorithms und wird für Speicherung, Suche und Weitergabe verwendet. Einige Beispiele folgen:

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

Beispiel 2: Server-Fingerprinting – der "hasshServer"

Für einen Standard-SSH-2.0-OpenSSH_5.3-SSH-Server sieht der Satz unterstützter Algorithmen wie folgt aus :

Das Verketten dieser Algorithmen mit einem Trennzeichen von ";" ergibt die hasshServerAlgorithms, was für detaillierte Analysen nützlich ist.
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]

Schließlich ist der hasshServer einfach der MD5 der hasshServerAlgorithms, einige Beispiele folgen:

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

Optionen

Standardmäßig werden die rohe Algorithmus-Zeichenkette und der Schlüsselalgorithmus protokolliert, und sie können durch Setzen dieser booleschen Variablen im Skript gesteuert werden.

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

Referenzen:

  • Salesforce-Engineering-Blog
  • BSides 2019 - HASSH - eine Profiling-Methode für SSH-Clients und -Server
  • RFC4253 Das Secure Shell (SSH)-Transportprotokoll

Danksagungen:

hassh und hasshServer wurden von Ben Reardon im Detection Cloud Team bei Salesforce entworfen und entwickelt, mit Inspiration und Beiträgen von Adel Karimi (@0x4d31) und dem JA3-Team.

Tool herunterladen
FunktionIn 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üsselungaes128-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
Nachrichtenauthentifizierunghmac-sha1,hmac-sha1-96,hmac-md5,hmac-md5-96,hmac-sha2-256,hmac-sha2-512
Kompression[email protected],zlib,none
FunktionIn SSH_MSG_KEXINIT-Paketen gesehene Algorithmen
Schlüsselaustauschmethodendiffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
Verschlüsselungaes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
Nachrichtenauthentifizierunghmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
Kompressionnone,[email protected]