
JA4+ é um conjunto de padrões de fingerprinting de rede
JA4+ é um conjunto de métodos de fingerprinting de rede criado pela FoxIO que são fáceis de usar e compartilhar. Estes métodos são legíveis tanto por humanos quanto por máquinas para facilitar a caça a ameaças e a análise de forma mais eficaz. Os casos de uso para estas impressões digitais incluem varredura de atores de ameaças, detecção de malware, prevenção de sequestro de sessão, automação de conformidade, rastreamento de localização, detecção de DDoS, agrupamento de atores de ameaças, detecção de shell reverso e muitos outros.
Para uma explicação rápida sobre JA4+ e para usar como referência durante a análise, veja:
Folha de Dicas JA4+
Para detalhes aprofundados, leia nossos blogs sobre como o JA4+ funciona, por que funciona e exemplos do que pode ser detectado/prevenido com ele:
JA4+ Network Fingerprinting (JA4/S/H/L/X/SSH)
JA4T: TCP Fingerprinting (JA4T/TS/TScan)
Investigando Surfshark e NordVPN com JA4T (JA4T)
Se você ama JA4+, considere comprar uma camiseta ou hoodie:
Camisetas, Hoodies e Adesivos JA4+
O nome completo ou o nome curto podem ser usados de forma intercambiável. Métodos JA4+ adicionais estão em andamento...
Para entender como ler as impressões digitais JA4+, veja Detalhes Técnicos
Este repositório inclui JA4+ em
com mais a serem anunciados...
Para mais exemplos, veja ja4plus-mapping.csv
Para uma base de dados completa, veja ja4db.com
Os binários JA4 são construídos a partir da implementação em Rust do conjunto. Para garantir funcionalidade completa, o tshark (versão 4.0.6 ou posterior) é necessário. Baixe os binários JA4 mais recentes na página de Lançamentos. As versões de lançamento para a implementação Rust seguem o Versionamento Semântico e são marcadas como vX.Y.Z, ao contrário dos lançamentos de plugins do Wireshark.
Os artefatos de lançamento são nomeados de acordo com o componente e a plataforma:
ja4-vX.Y.Z-<arquitetura>-<plataforma>.tar.gz (ex.: ja4-v0.18.5-x86_64-unknown-linux-musl.tar.gz)ja4-python-vX.Y.Z.tar.gz (contém o diretório python/ completo)ja4.so.linux, ja4.so.macos, ja4.dll (anexados a um lançamento nomeado como wireshark-vX.Y.Z)Escolha o arquivo apropriado para seu sistema e componente.
Instale-o usando seu gerenciador de pacotes (o nome do pacote tshark ou wireshark-cli depende da distribuição). Por exemplo, no Ubuntu:
sudo apt install tshark
tshark).tshark ao seu PATH:
sudo ln -s /Applications/Wireshark.app/Contents/MacOS/tshark /usr/local/bin/tshark
tshark.exe).tshark.exe (geralmente em C:\Program Files\Wireshark\tshark.exe).tshark.exe ao PATH do sistema:
Assim que tshark e os binários JA4+ estiverem disponíveis, execute JA4+ usando o seguinte comando:
./ja4 [opções] [pcap]
ja4 [opções] [pcap]
Para mais detalhes sobre como executar JA4+ e suas configurações avançadas, consulte o README da implementação Rust, que fornece informações sobre seus recursos, cenários de uso e opções de personalização.
A base de dados oficial JA4+ de impressões digitais, aplicações associadas e lógica de detecção recomendada está aqui: ja4db.com
Esta base de dados está em desenvolvimento muito ativo. Espere ordens de magnitude a mais de combinações de impressões digitais e dados nos próximos meses.
Um ja4plus-mapping.csv de amostra também está disponível para referência rápida.
JA4+ usa GitHub Actions para automatizar lançamentos para seus componentes Rust, Python, Wireshark e Zeek. Os lançamentos são criados enviando uma tag com um prefixo específico para o repositório, exceto para Zeek, que usa uma tag de versão semântica pura (semver). Os artefatos de lançamento são nomeados da seguinte forma:
ja4-vX.Y.Z-<arquitetura>-<plataforma>.tar.gzja4-python-vX.Y.Z.tar.gzja4.so.linux, ja4.so.macos, ja4.dll (em um lançamento nomeado como wireshark-vX.Y.Z)Os seguintes workflows estão disponíveis:
Lançamento Rust:
Envie uma tag começando com rust-, ex.: rust-v0.18.5, para acionar um lançamento dos binários Rust. O workflow irá construir e enviar os artefatos de lançamento automaticamente.
Lançamento Python:
Envie uma tag começando com python-, ex.: python-v0.1.0, para acionar um lançamento da implementação Python. O workflow criará um tarball do diretório python/ e o publicará como um artefato de lançamento.
Lançamento do Plugin Wireshark:
Envie uma tag começando com wireshark-, ex.: wireshark-v0.1.1, para acionar um lançamento dos binários do plugin Wireshark para todas as plataformas suportadas.
Lançamento Zeek:
Envie uma tag que seja uma versão semântica pura (ex.: v1.2.3), sem prefixo, para acionar um lançamento Zeek. Isso criará automaticamente um lançamento em packages.zeek.org.
Certifique-se de que suas alterações foram mescladas no branch main.
Crie e envie uma tag para o componente que deseja lançar:
rust-v0.18.5, python-v0.1.0, wireshark-v0.1.1).v1.2.3).Exemplo:
git tag v1.2.3
git push origin v1.2.3
(Para Zeek)
Ou, para Rust:
git tag rust-v0.18.5
git push origin rust-v0.18.5
O workflow correspondente do GitHub Actions será executado e publicará os artefatos de lançamento automaticamente. Para Zeek, o lançamento aparecerá em packages.zeek.org.
JA4+ é um conjunto de impressões digitais de rede simples, mas poderosas, para múltiplos protocolos, que são legíveis tanto por humanos quanto por máquinas, facilitando a melhoria da caça a ameaças e da análise de segurança. Se você não está familiarizado com fingerprinting de rede, encorajo você a ler meus blogs lançando JA3 aqui, JARM aqui e este excelente blog da Fastly sobre o Estado do Fingerprinting TLS que descreve a história dos mencionados juntamente com seus problemas. JA4+ traz suporte dedicado, mantendo os métodos atualizados conforme a indústria muda.
Todas as impressões digitais JA4+ têm um formato a_b_c, delimitando as diferentes seções que compõem a impressão digital. Isso permite caça e detecção utilizando apenas ab ou ac ou apenas c. Se alguém quisesse fazer apenas análise de cookies recebidos em seu aplicativo, olharia apenas para JA4H_c. Este novo formato de preservação local facilita análises mais profundas e ricas, permanecendo simples, fácil de usar e permitindo extensibilidade.
Por exemplo, GreyNoise é um ouvinte de internet que identifica scanners de internet e está implementando JA4+ em seu produto. Eles têm um ator que escaneia a internet com um único cifrador TLS que muda constantemente. Isso gera uma quantidade massiva de impressões digitais JA3 completamente diferentes, mas com JA4, apenas a parte b da impressão digital JA4 muda, as partes a e c permanecem as mesmas. Assim, GreyNoise pode rastrear o ator observando a impressão digital JA4_ac (juntando a+c, descartando b).
Para uma lista de métodos JA4+ e suas descrições, veja Métodos atuais e detalhes de implementação.
Para entender como ler as impressões digitais JA4+, veja Detalhes Técnicos.
JA4: TLS Client Fingerprinting é open-source, BSD 3-Clause, assim como JA3. A FoxIO não tem reivindicações de patente e não planeja buscar cobertura de patente para JA4 TLS Client Fingerprinting. Isso permite que qualquer empresa ou ferramenta que atualmente utilize JA3 atualize imediatamente para JA4 sem demora.
JA4S, JA4L, JA4LS, JA4H, JA4X, JA4SSH, JA4T, JA4TS, JA4TScan e todas as adições futuras (coletivamente referidas como JA4+) são licenciadas sob a FoxIO License 1.1. Esta licença é permissiva para a maioria dos casos de uso, incluindo para fins acadêmicos e comerciais internos, mas não é permissiva para monetização. Se, por exemplo, uma empresa quiser usar JA4+ internamente para ajudar a proteger sua própria empresa, isso é permitido. Se, por exemplo, um fornecedor quiser vender fingerprinting JA4+ como parte de sua oferta de produto, eles precisariam solicitar uma licença OEM de nós.
Todos os métodos JA4+ têm pedidos de patente pendentes.
JA4+ é uma marca registrada da FoxIO
JA4+ pode e está sendo implementado em ferramentas de código aberto, veja o FAQ da Licença para detalhes.
Este licenciamento nos permite fornecer JA4+ ao mundo de forma aberta e imediatamente utilizável, mas também nos fornece uma maneira de financiar suporte contínuo, pesquisa de novos métodos e o desenvolvimento da Base de Dados JA4+. Queremos que todos tenham a capacidade de utilizar JA4+ e estamos felizes em trabalhar com fornecedores e projetos de código aberto para ajudar a tornar isso realidade.
P: Por que vocês estão ordenando as cifras? A ordem não importa?
R: Importa, mas em nossa pesquisa descobrimos que aplicações e bibliotecas escolhem uma lista de cifras única mais do que uma ordenação única. Isso também reduz a eficácia de "cipher stunting", uma tática de randomizar a ordenação de cifras para evitar a detecção JA3.
P: Por que vocês estão ordenando as extensões?
R: No início de 2023, o Google atualizou o Chromium para randomizar a ordenação de suas extensões. Muito parecido com o cipher stunting, esta era uma tática para prevenir a detecção JA3 e "tornar o ecossistema TLS mais robusto a mudanças." O Google estava preocupado que implementadores de servidores assumissem que a impressão digital do Chrome nunca mudaria e acabassem construindo lógica em torno dela, o que causaria problemas sempre que o Google fosse atualizar o Chrome.
Então, quero deixar claro: as impressões digitais JA4 mudarão à medida que as bibliotecas TLS de aplicações forem atualizadas, aproximadamente uma vez por ano. Não assuma que as impressões digitais permanecerão constantes em um ambiente onde as aplicações são atualizadas. De qualquer forma, ordenar as extensões contorna isso e adicionar os Algoritmos de Assinatura preserva a singularidade.
P: O TLS 1.3 não dificulta o fingerprinting de clientes TLS?
R: Não, torna mais fácil! Desde o TLS 1.3, os clientes têm tido um conjunto muito maior de extensões e, embora o TLS 1.3 suporte apenas algumas cifras, navegadores e aplicações ainda suportam muitas mais.
John Althouse, com feedback de:
Josh Atkins
Jeff Atkinson
Joshua Alexander
W.
Joe Martin
Ben Higgins
Andrew Morris
Chris Ueland
Ben Schofield
Matthias Vallentin
Valeriy Vorotyntsev
Timothy Noel
Gary Lipsky
Michael Barbine
E engenheiros que trabalham na GreyNoise, Hunt, Google, ExtraHop, F5, Driftnet e outros.
Entre em contato com John Althouse em [email protected] para licenciamento e perguntas.
JA4 e JA4+ são marcas registradas da FoxIO, Inc.
Copyright (c) 2025, FoxIO
| Nome Completo | Nome Curto | Descrição |
|---|
| JA4 | JA4 | Fingerprinting TLS de Cliente |
| JA4Server | JA4S | Fingerprinting de Resposta / Sessão TLS de Servidor |
| JA4HTTP | JA4H | Fingerprinting HTTP de Cliente |
| JA4Latency | JA4L | Medição de Latência Cliente-Servidor / Distância Leve |
| JA4LatencyServer | JA4LS | Medição de Latência Servidor-Cliente / Distância Leve |
| JA4X509 | JA4X | Fingerprinting de Certificados TLS X509 |
| JA4SSH | JA4SSH | Fingerprinting de Tráfego SSH |
| JA4TCP | JA4T | Fingerprinting TCP de Cliente |
| JA4TCPServer | JA4TS | Fingerprinting de Resposta TCP de Servidor |
| JA4TCPScan | JA4TScan | Scanner Ativo de Fingerprinting TCP |
| JA4DHCP | JA4D | Fingerprinting DHCP |
| JA4DHCPv6 | JA4D6 | Fingerprinting DHCPv6 |
| Ferramenta/Fornecedor | Suporte JA4+ |
|---|
| Wireshark | JA4+ |
| Zeek | JA4+ |
| Arkime | JA4+ |
| Suricata | JA4+ (em desenvolvimento) |
| GreyNoise | JA4+ |
| Hunt | JA4+ |
| Driftnet | JA4+ |
| GoLang | JA4X |
| nzyme | JA4+ (em desenvolvimento) |
| Netresec's CapLoader | JA4+ (em desenvolvimento) |
| Netresec's NetworkMiner | JA4+ (em desenvolvimento) |
| NGINX | JA4+ |
| F5 BIG-IP | JA4+ |
| nfdump | JA4+ |
| ntop's ntopng | JA4+ |
| ntop's nDPI | JA4 |
| Team Cymru | JA4+ |
| NetQuest | JA4+ |
| Censys | JA4+ |
| Exploit.org's Netryx | JA4 e JA4H |
| Cloudflare | JA4 |
| Fastly | JA4+ (solicite) |
| MISP | JA4+ |
| OCSF | JA4+ |
| Vercel | JA4 |
| Seika | JA4+ |
| VirusTotal | JA4 |
| AWS Cloudfront | JA4 |
| ELLIO | JA4+ |
| Webscout | JA4+ |
| Rama | JA4 e JA4H |
| Vectra | JA4+ |
| AWS WAF | JA4 |
| Tacticly | JA4+ |
| Palo Alto Networks | JA4+ |
| ngrok | JA4 |
| Vertex Synapse | JA4 e JA4S |
| Google Cloud Armor | JA4 |
| Fortinet | JA4 |
| AppOmni | JA4+ |
| IntelliGenesis | JA4+ |
| HAProxy | Plugins JA4 e JA4H por OXL |
| SentinelOne | JA4 |
| Akamai | JA4 |
| Alibaba Cloud | JA4 |
| Huawei Cloud | JA4 |
| Google Cloud LBs | JA4 |
| eSentire | JA4+ |
| Microsoft Azure Front Door CDN | JA4 |
| Synapse por Gen0Sec | JA4X |
| Zscaler | JA4 |
| ExtraHop | JA4+ |
| Validin | JA4+ |
| Auth0 | JA4 |
| Security Onion | JA4+ |
| Aplicação | Impressões Digitais JA4+ |
|---|
| Chrome | JA4=t13d1516h2_8daaf6152771_02713d6af862 (TCP) JA4=q13d0312h3_55b375c5d22e_06cda9e17597 (QUIC) JA4=t13d1517h2_8daaf6152771_b0da82dd1658 (chave pré-compartilhada) JA4=t13d1517h2_8daaf6152771_b1ff8ab2d16f (sem chave) |
| IcedID Malware Dropper | JA4H=ge11cn020000_9ed1ff1f7b03_cd8dafe26982 |
| IcedID Malware | JA4=t13d201100_2b729b4bf6f3_9e7b989ebec8 JA4S=t120300_c030_5e2616a54c73 |
| Sliver Malware | JA4=t13d190900_9dc949149365_97f8aa674fd9 JA4S=t130200_1301_a56c5b993250 JA4X=000000000000_4f24da86fad6_bf0f0589fc03 JA4X=000000000000_7c32fa18c13e_bf0f0589fc03 |
| Cobalt Strike | JA4H=ge11cn060000_4e59edc1297a_4da5efaf0cbd JA4X=2166164053c1_2166164053c1_30d204a01551 |
| SoftEther VPN | JA4=t13d880900_fcb5b95cb75a_b0d3b4ac2a14 (cliente) JA4S=t130200_1302_a56c5b993250 JA4X=d55f458d5a6c_d55f458d5a6c_0fc8c171b6ae |
| Qakbot | JA4X=2bab15409345_af684594efb4_000000000000 |
| Pikabot | JA4X=1a59268f55e5_1a59268f55e5_795797892f9c |
| Darkgate | JA4H=po10nn060000_cdb958d032b0 |
| LummaC2 | JA4H=po11nn050000_d253db9d024b |
| Evilginx | JA4=t13d191000_9dc949149365_e7c285222651 |
| Reverse SSH Shell | JA4SSH=c76s76_c71s59_c0s70 |
| Windows 11 | JA4T=64240_2-1-3-1-1-4_1460_8 |
| Impressora Epson | JA4TScan=28960_2-4-8-1-3_1460_3_1-4-8-16 |
| Windows 11 | JA4D=disco0000in_61-12-60-55_1-3-6-15-31-33-43-44-46-47-119-121-249-252 |
| Receptor Sony | JA4D6=solct0010nn_8-1-3-6_24-23 |