Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
hassh — Identifique clientes e servidores SSH. | Kitploit
Ferramentas/GitHubGitHub/corelight/hassh
Gerenciamento de Indicadores de Comprometimento (IOC)ReconhecimentoAnálise ForenseSegurança de RedeInteligência de AmeaçasDetecção de IntrusãoDetecção de Anomalias
GitHubcorelight/hassh

hassh

Identifique clientes e servidores SSH.

Ver Repositório
12há 2 anosAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

"HASSH" - um Método de Perfilamento para Clientes e Servidores SSH.

NOTA: Este repositório Corelight foi criado para que possa ser mantido ativamente, a pedido da Salesforce, cujo repositório original não está sendo mantido.

"HASSH" é um padrão de fingerprinting de rede que pode ser usado para identificar implementações SSH específicas de Clientes e Servidores. As impressões digitais podem ser facilmente armazenadas, pesquisadas e compartilhadas na forma de uma impressão digital MD5.

License: BSD 3-Clause License

Com o que o HASSH pode ajudar:

  • Uso em ambientes altamente controlados e bem compreendidos, onde qualquer impressão digital fora de um conjunto conhecido e seguro é alarmante.
  • É possível detectar, controlar e investigar tentativas de força bruta ou Cred Stuffing de senhas em um nível de granularidade maior do que o IP de Origem — que pode ser impactado por NAT ou comportamento semelhante a botnet. O hassh será uma característica da implementação específica do software Cliente em uso, mesmo que o IP esteja atrás de NAT, de modo que seja compartilhado por muitos outros clientes SSH.
  • Detectar exfiltração encoberta de dados dentro dos componentes dos conjuntos de algoritmos do Cliente. Nesse caso, um Cliente SSH especialmente codificado pode enviar dados de um ambiente confiável para um ambiente menos confiável dentro de uma série de pacotes SSH_MSG_KEXINIT. Em um cenário semelhante à exfiltração mais conhecida via DNS, os dados podem ser enviados como uma série de tentativas de conexão incompletas e não registradas a um servidor SSH controlado por agentes mal-intencionados, que podem então gravar, decodificar e reconstituir esses dados em sua forma original. Até agora, tais tentativas — muito menos o conteúdo dos pacotes de texto claro — não são registradas nem mesmo por analisadores de pacotes maduros ou em sistemas de endpoint. A detecção desse estilo de exfiltração agora pode ser realizada facilmente usando detecção de anomalias ou alertas sobre Clientes SSH com múltiplos hassh diferentes.
  • Uso em conjunto com outros indicadores contextuais, por exemplo, detectar descoberta de rede e tentativas de movimento lateral por hassh incomuns, como os usados por Paramiko, Powershell, Ruby, Meterpreter, Empire.
  • Compartilhar hassh maliciosos como Indicadores de Comprometimento.
  • Criar um nível adicional de controle de aplicativos Cliente, por exemplo, pode-se bloquear todos os Clientes de se conectarem a um servidor SSH que estejam fora de um conjunto aprovado e conhecido de valores hassh.
  • Contribuir para o Não Repúdio em um contexto Forense - em um nível mais alto de abstração do que IPSource — que pode ser impactado por NAT, ou onde múltiplas fontes de IP são usadas.
  • Detectar Aplicativos Enganosos. Por exemplo, um valor hasshServer conhecido por pertencer à instalação do honeypot SSH Cowry/Kippo, que se passa por um servidor OpenSSH comum na string do Servidor.
  • Detectar dispositivos com um hassh conhecido por pertencer a sistemas embarcados de IOT. Exemplos podem incluir câmeras, microfones, keyloggers, escutas telefônicas que podem ser facilmente escondidos e se comunicar silenciosamente por canais criptografados de volta a um servidor de controle.

Como o HASSH funciona:

"hassh" e "hasshServer" são hashes MD5 construídos a partir de um conjunto específico de algoritmos suportados por diversos aplicativos SSH de Cliente e Servidor. Esses algoritmos são trocados após o handshake inicial de três vias TCP como pacotes de texto claro conhecidos como mensagens "SSH_MSG_KEXINIT", e são parte integrante da configuração do canal SSH final criptografado. A existência e a ordem desses algoritmos podem ser únicas o suficiente para serem usadas como uma impressão digital para ajudar a identificar o aplicativo Cliente e Servidor subjacente ou a implementação única, independentemente de identificadores ostensivos de nível mais alto, como strings "Client" ou "Server".

Exemplo 1: Fingerprinting de Cliente - o "hassh"

Para o cliente SFTP "Cyberduck" SSH-2.0-Cyberduck/6.7.1.28683 (Mac OS X/10.13.6) (x86_64), o conjunto de algoritmos suportados é o seguinte:

Concatenando esses algoritmos com um delimitador de ";" obtém-se o hasshAlgorithms, que é útil para análise detalhada.
[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, o hassh é simplesmente o MD5 do hasshAlgorithms, e é usado para armazenamento, busca e compartilhamento. Alguns exemplos a seguir:

root@kitploit:~
de30354b88bae4c2810426614e1b6976  Powershell Renci.SshNet.SshClient.0.0.1 (usado pelos módulos de exploração do Empire)
fafc45381bfde997b6305c4e1600f1bf  Ruby/Net::SSH_5.0.2 x86_64-linux (usado pelos módulos de exploração do Metasploit)
b5752e36ba6c5979a575e43178908adf  Python Paramiko_2.4.1 (usado pelos módulos de exploração do Metasploit) 
16f898dd8ed8279e1055350b4e20666c  Dropbear_2012.55 (usado em sistemas embarcados de IOT)  
8a8ae540028bf433cd68356c1b9e8d5b  CyberDuck Versão 6.7.1 (28683)  
06046964c022c6407d15a27b12a6a4fb  OpenSSH_7.7p1 Ubuntu-4

Exemplo 2: Fingerprinting de Servidor - o "hasshServer"

Para um servidor SSH padrão SSH-2.0-OpenSSH_5.3, o conjunto de algoritmos suportados é o seguinte:

Concatenando esses algoritmos com um delimitador de ";" obtém-se o hasshServerAlgorithms, que é útil para análise detalhada.
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]

Finalmente, o hasshServer é simplesmente o MD5 do hasshServerAlgorithms; alguns exemplos a seguir:

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

Opções

Por padrão, a string bruta de algoritmos e o algoritmo de chave são registrados, e podem ser controlados definindo estas variáveis booleanas no script.

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

Referências:

  • Blog de engenharia da Salesforce
  • BSides 2019 - HASSH - a Profiling Method for SSH Clients and Servers
  • RFC4253 The Secure Shell (SSH) Transport Layer Protocol

Créditos:

hassh e hasshServer foram concebidos e desenvolvidos por Ben Reardon dentro do Detection Cloud Team na Salesforce, com inspiração e contribuições de Adel Karimi (@0x4d31) e da equipe JA3.

Baixar ferramenta
FunçãoAlgoritmos vistos nos pacotes SSH_MSG_KEXINIT
Métodos de troca de chave[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]
Criptografiaaes128-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
Autenticação de mensagemhmac-sha1,hmac-sha1-96,hmac-md5,hmac-md5-96,hmac-sha2-256,hmac-sha2-512
Compressão[email protected],zlib,none
Função
Algoritmos vistos nos pacotes SSH_MSG_KEXINIT
Métodos de troca de chavediffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
Criptografiaaes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
Autenticação de mensagemhmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
Compressãonone,[email protected]