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
jarm — Ferramenta ativa de fingerprinting de servidores TLS que envia pacotes Client Hello personalizados para gerar hashes JARM exclusivos para identificar configurações de servidores, agrupar infraestrutura e detectar servidores maliciosos. | Kitploit
Ferramentas/GitHubGitHub/salesforce/jarm
ReconhecimentoColeta de InformaçõesSegurança de RedeInteligência de Ameaças
GitHubsalesforce/jarm

jarm

Ferramenta ativa de fingerprinting de servidores TLS que envia pacotes Client Hello personalizados para gerar hashes JARM exclusivos para identificar configurações de servidores, agrupar infraestrutura e detectar servidores maliciosos.

Ver Repositório
1.3k151há 7 diasRevisado pelo Kitploit

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

JARM

Por favor, leia o post inicial do blog sobre JARM para mais informações.

JARM é uma ferramenta ativa de fingerprinting de servidores Transport Layer Security (TLS).

As impressões digitais JARM podem ser usadas para:

  • Verificar rapidamente se todos os servidores em um grupo têm a mesma configuração TLS.
  • Agrupar servidores distintos na internet por configuração, identificando que um servidor pode pertencer ao Google, Salesforce ou Apple, por exemplo.
  • Identificar aplicações ou infraestrutura padrão.
  • Identificar infraestrutura de comando e controle de malware e outros servidores maliciosos na Internet.

O suporte ao JARM foi ou está sendo adicionado a:
SecurityTrails
Shodan
BinaryEdge
RiskIQ
Palo Alto Networks
Censys
360

Executar JARM

python3 jarm.py [-h] [-i INPUT] [-p PORT] [-v] [-V] [-o OUTPUT] [-j] [-P PROXY] [domain/IP]
Exemplo:
% python3 jarm.py www.salesforce.com
Domínio: www.salesforce.com
IP resolvido: 23.50.225.123
JARM: 2ad2ad0002ad2ad00042d42d00000069d641f34fe76acdc05c40262f8815e5

Para usá-lo com Python 2, você precisará do módulo ipaddress:

pip install -r requirements.txt

Executar JARM em lote em uma lista grande rapidamente

./jarm.sh <list> <output_file>
Exemplo:
% ./jarm.sh alexa500.txt jarm_alexa_500.csv

Exemplo de Saída

Como o JARM Funciona

Antes de aprender como o JARM funciona, é importante entender como o TLS funciona. O TLS e seu predecessor, SSL, são usados para criptografar a comunicação tanto para aplicações comuns, como navegadores de Internet, para manter seus dados seguros, quanto para malware, para que ele possa se esconder no ruído. Para iniciar uma sessão TLS, um cliente enviará uma mensagem TLS Client Hello após o handshake triplo TCP. Esse pacote e a forma como é gerado dependem dos pacotes e métodos usados ao construir a aplicação cliente. O servidor, se aceitar conexões TLS, responderá com um pacote TLS Server Hello.

Os servidores TLS formulam seu pacote Server Hello com base nos detalhes recebidos no pacote TLS Client Hello. A forma como o Server Hello é formulado para um determinado Client Hello pode variar de acordo com a forma como a aplicação ou o servidor foi construído, incluindo:

  • Sistema operacional
  • Versão do sistema operacional
  • Bibliotecas utilizadas
  • Versões dessas bibliotecas usadas
  • A ordem em que as bibliotecas foram chamadas
  • Configuração personalizada

Todos esses fatores fazem com que cada servidor TLS responda de forma única. As combinações de fatores tornam improvável que servidores implantados por organizações diferentes tenham a mesma resposta.

O JARM funciona enviando ativamente 10 pacotes TLS Client Hello para um servidor TLS alvo e capturando atributos específicos das respostas TLS Server Hello. As respostas agregadas do servidor TLS são então hashadas de uma forma específica para produzir a impressão digital JARM.

Não é a primeira vez que trabalhamos com fingerprinting TLS. Em 2017, desenvolvemos o JA3/S, um método passivo de fingerprinting de clientes/servidores TLS agora encontrado na maioria das ferramentas de segurança de rede. Mas enquanto o JA3/S é passivo, identificando clientes e servidores ao ouvir o tráfego de rede, o JARM é um scanner ativo de fingerprinting de servidores. Você pode saber mais sobre negociação TLS e fingerprinting passivo JA3/S aqui.

Os 10 pacotes TLS Client Hello no JARM foram especialmente criados para extrair respostas únicas dos servidores TLS. O JARM envia diferentes versões TLS, cifras e extensões em ordens variadas para coletar respostas únicas. O servidor suporta TLS 1.3? Ele negociará TLS 1.3 com cifras 1.2? Se ordenarmos as cifras da mais fraca para a mais forte, qual cifra ele escolherá? Esses são os tipos de perguntas incomuns que o JARM está essencialmente fazendo ao servidor para obter as respostas mais exclusivas. As 10 respostas são então hashadas para produzir a impressão digital JARM.

O hash da impressão digital JARM é um hash fuzzy híbrido, que utiliza a combinação de um algoritmo de hash reversível e não reversível para produzir uma impressão digital de 62 caracteres. Os primeiros 30 caracteres são compostos pela cifra e versão TLS escolhida pelo servidor para cada um dos 10 client hello enviados. Um "000" indica que o servidor recusou negociar com aquele client hello. Os 32 caracteres restantes são um hash SHA256 truncado das extensões cumulativas enviadas pelo servidor, ignorando dados do certificado x509. Ao comparar impressões digitais JARM, se os primeiros 30 caracteres forem iguais, mas os últimos 32 forem diferentes, isso significa que os servidores têm configurações muito semelhantes, aceitando as mesmas versões e cifras, embora não exatamente as mesmas, dado que as extensões são diferentes.

Após receber cada mensagem TLS server hello, o JARM fecha a conexão graciosamente com um FIN para não deixar os sockets abertos.

É importante notar que o JARM é uma função de impressão digital de alto desempenho e não deve ser considerada, ou confundida com, uma função criptográfica segura. Projetamos a impressão digital JARM para ser consumível tanto por humanos quanto por máquinas. Isso significa que é pequena o suficiente para ser verificada visualmente, compartilhada e tuitada com espaço suficiente para detalhes contextuais.

Como o JARM Pode Ser Usado para Identificar Servidores Maliciosos

Servidores de comando e controle (C2) de malware e servidores maliciosos são configurados por seus criadores como qualquer outro servidor e depois implantados em sua frota. Portanto, eles tendem a produzir impressões digitais JARM únicas. Abaixo estão exemplos de malware e ferramentas ofensivas comuns e a sobreposição do JARM com os sites do Alexa Top 1 milhão (em outubro de 2020):

Com pouca ou nenhuma sobreposição com os sites do Alexa Top 1 Milhão, seria improvável que um host dentro de uma organização se conectasse a um servidor com essas impressões digitais JARM.

Equipe JARM

John Althouse - Ideia original, conceito e liderança do projeto
Andrew Smart - Conceito e testes
RJ Nunnally - Programação e testes
Mike Brady - Programação e testes

Reescrito em Python para uso operacional por Caleb Yu

Baixar ferramenta
DomínioJARM
salesforce.com2ad2ad0002ad2ad00042d42d00000069d641f34fe76acdc05c40262f8815e5
force.com2ad2ad0002ad2ad00042d42d00000069d641f34fe76acdc05c40262f8815e5
google.com27d40d40d29d40d1dc42d43d00041d4689ee210389f4f6b4b5b1b93f92252d
youtube.com27d40d40d29d40d1dc42d43d00041d4689ee210389f4f6b4b5b1b93f92252d
gmail.com27d40d40d29d40d1dc42d43d00041d4689ee210389f4f6b4b5b1b93f92252d
facebook.com27d27d27d29d27d1dc41d43d00041d741011a7be03d7498e0df05581db08a9
instagram.com27d27d27d29d27d1dc41d43d00041d741011a7be03d7498e0df05581db08a9
oculus.com29d29d20d29d29d21c41d43d00041d741011a7be03d7498e0df05581db08a9
Servidor Malicioso C2Impressão Digital JARMSobreposição com Alexa Top 1M
Trickbot22b22b09b22b22b22b22b22b22b22b352842cd5d6b0278445702035e06875c0
AsyncRAT1dd40d40d00040d1dc1dd40d1dd40d3df2d6a0c2caaa0dc59908f0d36029430
Metasploit07d14d16d21d21d00042d43d000000aa99ce74e2c6d013c745aa52b5cc042d0
Cobalt Strike07d14d16d21d21d07c42d41d00041d24a458a375eef0c576d23a7bab9a9fb10
Merlin C229d21b20d29d29d21c41d21b21b41d494e0df9532e75299f15ba73156cee38303