Repolode
salesforce

salesforce/jarm

JARM é uma ferramenta ativa de fingerprinting de servidores TLS que envia probes Client Hello especialmente elaborados para identificar configurações de servidores e detectar infraestrutura maliciosa.

Estrelas
1,326
Forks
156
Issues abertas
16
Último commit
há 2 meses

O que é?

JARM é uma ferramenta ativa de fingerprinting de servidores TLS escrita em Python. Ela envia 10 pacotes TLS Client Hello especialmente elaborados para um servidor de destino, captura os atributos das respostas Server Hello e os transforma em um fingerprint de 62 caracteres. Os primeiros 30 caracteres codificam a cipher e a versão TLS escolhidas para cada probe, e os 32 restantes correspondem a um SHA256 truncado das extensões.

Os fingerprints podem ser usados para confirmar que um grupo de servidores compartilha a mesma configuração TLS, agrupar servidores expostos à internet de acordo com suas configurações e identificar softwares ou infraestruturas padrão. Como servidores de comando e controle geralmente são configurados e implantados em massa, eles costumam produzir fingerprints característicos que ajudam os defensores a sinalizar hosts maliciosos.

JARM pode ser executado pela linha de comando para um único domínio ou IP, e um script de shell incluído permite fazer varreduras em lote de grandes listas de alvos. O projeto é a contraparte ativa do JA3/S, que faz fingerprinting passivo do tráfego.

Recursos principais

  • 01Envia 10 probes TLS Client Hello elaborados para cada alvo e captura as respostas do servidor.
  • 02Gera um fingerprint compacto de 62 caracteres, fácil de comparar e compartilhar.
  • 03Permite fazer varreduras de um único domínio ou IP e oferece uma opção de proxy.
  • 04Inclui um script de shell para fazer varreduras em lote de grandes listas de alvos e salvar os resultados em CSV.
  • 05Requer Python 3 e é licenciado sob a BSD-3-Clause.

Casos de uso

  • Verificar se uma frota de servidores tem uma configuração TLS consistente.
  • Agrupar servidores na internet pelo software ou pela infraestrutura de fornecedores que usam.
  • Buscar servidores de comando e controle durante a resposta a incidentes ou pesquisas de ameaças.

Início rápido

  1. 1

    Instale as dependências de requirements.txt

    pip install -r requirements.txt
  2. 2

    Identifique a impressão digital de um domínio ou IP

    python3 jarm.py www.salesforce.com

Antes de usar

  • Envia ativamente pacotes de sondagem aos servidores de destino, portanto não é adequado para monitoramento passivo de tráfego.

Tópicos

Perguntas frequentes

O que é jarm?
JARM é uma ferramenta ativa de fingerprinting de servidores TLS que envia probes Client Hello especialmente elaborados para identificar configurações de servidores e detectar infraestrutura maliciosa. JARM é uma ferramenta ativa de fingerprinting de servidores TLS escrita em Python. Ela envia 10 pacotes TLS Client Hello especialmente elaborados para um servidor de destino, captura os atributos das respostas Server Hello e os transforma em um fingerprint de 62 caracteres. Os primeiros 30 caracteres codificam a cipher e a versão TLS escolhidas para cada probe, e os 32 restantes correspondem a um SHA256 truncado das extensões.
jarm é gratuito? Qual é a licença?
jarm é open source sob a licença BSD-3-Clause. Confira os termos da licença antes de usá-lo em produtos comerciais.
jarm ainda é mantido?
Atualizado nos últimos 6 meses. O último commit de jarm foi em 13 de ago. de 2026.
Para que posso usar jarm?
Verificar se uma frota de servidores tem uma configuração TLS consistente. Agrupar servidores na internet pelo software ou pela infraestrutura de fornecedores que usam. Buscar servidores de comando e controle durante a resposta a incidentes ou pesquisas de ameaças.
Como instalar jarm?
Instale as dependências de requirements.txt: pip install -r requirements.txt Identifique a impressão digital de um domínio ou IP: python3 jarm.py www.salesforce.com
Onde consigo jarm?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/salesforce/jarm

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados