JA4+ ist eine Suite von Netzwerk-Fingerprinting-Standards
JA4+ ist eine Suite von Netzwerk-Fingerprinting-Methoden von FoxIO, die einfach zu verwenden und einfach zu teilen sind. Diese Methoden sind sowohl für Menschen als auch für Maschinen lesbar, um eine effektivere Bedrohungssuche und -analyse zu ermöglichen. Die Anwendungsfälle für diese Fingerprints umfassen das Scannen nach Bedrohungsakteuren, Malware-Erkennung, Verhinderung von Session-Hijacking, Compliance-Automatisierung, Standortverfolgung, DDoS-Erkennung, Gruppierung von Bedrohungsakteuren, Reverse-Shell-Erkennung und viele weitere.
Für eine schnelle Erklärung zu JA4+ und als Referenz während der Analyse siehe:
JA4+ Cheat Sheet
Für detaillierte Informationen lesen Sie bitte unsere Blogs darüber, wie JA4+ funktioniert, warum es funktioniert, und Beispiele dafür, was damit erkannt/verhindert werden kann:
JA4+ Network Fingerprinting (JA4/S/H/L/X/SSH)
JA4T: TCP Fingerprinting (JA4T/TS/TScan)
Investigating Surfshark and NordVPN with JA4T (JA4T)
JA4D and JA4D6: DHCP Fingerprinting (JA4D/6)
Wenn Sie JA4+ lieben, ziehen Sie in Betracht, sich ein T-Shirt oder einen Hoodie zu besorgen:
JA4+ Shirts, Hoodies, and Stickers
| Vollständiger Name | Kurzname | Beschreibung |
|---|---|---|
| JA4 | JA4 | TLS-Client-Fingerprinting |
| JA4Server | JA4S | TLS-Server-Antwort / Session-Fingerprinting |
| JA4HTTP | JA4H | HTTP-Client-Fingerprinting |
| JA4Latency | JA4L | Client-zu-Server-Latenzmessung / Lichtdistanz |
| JA4LatencyServer | JA4LS | Server-zu-Client-Latenzmessung / Lichtdistanz |
| JA4X509 | JA4X | X509-TLS-Zertifikat-Fingerprinting |
| JA4SSH | JA4SSH | SSH-Traffic-Fingerprinting |
| JA4TCP | JA4T | TCP-Client-Fingerprinting |
| JA4TCPServer | JA4TS | TCP-Server-Antwort-Fingerprinting |
| JA4TCPScan | JA4TScan | Aktiver TCP-Fingerprint-Scanner |
| JA4DHCP | JA4D | DHCP-Fingerprinting |
| JA4DHCPv6 | JA4D6 | DHCPv6-Fingerprinting |
| JA4NTP | JA4N | NTP-Fingerprinting |
| JA4Scan-TLS | JA4Scan-TLS | Aktiver TLS-Server-Fingerprint-Scanner |
| JA4Scan-QUIC | JA4Scan-QUIC | Aktiver QUIC-Server-Fingerprint-Scanner |
Der vollständige Name oder der Kurzname können austauschbar verwendet werden. Weitere JA4+-Methoden sind in Arbeit...
Um zu verstehen, wie JA4+-Fingerprints gelesen werden, siehe Technische Details
Dieses Repository enthält JA4+ in
| Tool/Anbieter | JA4+-Unterstützung |
|---|---|
| Wireshark | JA4+ |
| Zeek | JA4+ |
| Arkime | JA4+ (unser empfohlenes Open-Source-JA4+-Tool) |
| Suricata | JA4+ (in Entwicklung) |
| GreyNoise | JA4+ |
| Hunt | JA4+ |
| Driftnet | JA4+ |
| GoLang (1) | JA4X |
| GoLang (2) | JA4 |
| nzyme | JA4+ (in Entwicklung) |
| Netresec's CapLoader | JA4+ (in Entwicklung) |
| Netresec's NetworkMiner | JA4+ (in Entwicklung) |
| NGINX | JA4+ |
| F5 BIG-IP | JA4+ |
| nfdump | JA4+ |
| ntop's ntopng | JA4+ |
| ntop's nDPI | JA4 |
| Team Cymru | JA4+ |
| NetQuest | JA4+ |
mit weiteren, die noch angekündigt werden...
| Anwendung | JA4+-Fingerprints |
|---|---|
| Chrome | JA4=t13d1517h2_8daaf6152771_cb7bf5808d99 (TCP) JA4=q13d0312h3_55b375c5d22e_178839b6cec1 (QUIC) |
| 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 (Client) 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 |
| Epson-Drucker | 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 |
| Sony-Receiver | JA4D6=solct0010nn_8-1-3-6_24-23 |
Für weitere Beispiele siehe ja4plus-mapping.csv
Für eine vollständige Datenbank siehe ja4db.com
JA4-Binaries werden aus der Rust-Implementierung der Suite erstellt. Um die volle Funktionalität zu gewährleisten, ist tshark (Version 4.0.6 oder später) erforderlich. Laden Sie die neuesten JA4-Binaries von der Releases-Seite herunter. Die Release-Versionen für die Rust-Implementierung folgen Semantic Versioning und sind als vX.Y.Z markiert, anders als die Wireshark-Plugin-Releases.
Release-Assets werden nach Komponente und Plattform benannt:
ja4-vX.Y.Z-<architecture>-<platform>.tar.gz (z. B. ja4-v0.18.5-x86_64-unknown-linux-musl.tar.gz)ja4-python-vX.Y.Z.tar.gz (enthält das vollständige python/-Verzeichnis)ja4.so.linux, ja4.so.macos, ja4.dll (angehängt an ein Release mit dem Namen wie wireshark-vX.Y.Z)Wählen Sie die passende Datei für Ihr System und Ihre Komponente.
Installieren Sie es mit Ihrem Paketmanager (der Name des Pakets tshark oder wireshark-cli hängt von der Distribution ab). Zum Beispiel auf Ubuntu:```sh
sudo apt install tshark
#### macOS
1. [Laden Sie](https://www.wireshark.org/download.html) Wireshark herunter und installieren Sie es (enthält `tshark`).
2. Fügen Sie `tshark` zu Ihrem `PATH` hinzu: ```sh
sudo ln -s /Applications/Wireshark.app/Contents/MacOS/tshark /usr/local/bin/tshark
tshark.exe).tshark.exe finden (normalerweise unter C:\Program Files\Wireshark\tshark.exe).tshark.exe zur System-PATH-Variable hinzufügen:
Sobald tshark und die JA4+-Binärdateien verfügbar sind, führen Sie JA4+ mit dem folgenden Befehl aus:
Für weitere Details zur Ausführung von JA4+ und seinen erweiterten Konfigurationen siehe die README der Rust-Implementierung, die Informationen zu ihren Funktionen, Nutzungsszenarien und Anpassungsoptionen bietet.
Die offizielle JA4+-Datenbank mit Fingerabdrücken, zugehörigen Anwendungen und empfohlener Erkennungslogik finden Sie hier: ja4db.com
Diese Datenbank befindet sich in sehr aktiver Entwicklung. Erwarten Sie in den nächsten Monaten um Größenordnungen mehr Fingerabdruck-Kombinationen und Daten.
Eine Beispiel-ja4plus-mapping.csv ist ebenfalls für den schnellen Nachschlag verfügbar.
JA4+ verwendet GitHub Actions, um Releases für seine Rust-, Python-, Wireshark- und Zeek-Komponenten zu automatisieren. Releases werden erstellt, indem ein Tag mit einem bestimmten Präfix an das Repository gepusht wird, außer bei Zeek, das ein reines semantisches Versions-Tag (semver) verwendet. Die Release-Artefakte werden wie folgt benannt:
ja4-vX.Y.Z-<architecture>-<platform>.tar.gzja4-python-vX.Y.Z.tar.gzja4.so.linux, ja4.so.macos, ja4.dll (in einem Release namens wie wireshark-vX.Y.Z)Die folgenden Workflows sind verfügbar:
Rust-Release:
Pushen Sie ein Tag, das mit rust- beginnt, z. B. rust-v0.18.5, um ein Release der Rust-Binärdateien auszulösen. Der Workflow erstellt und lädt die Release-Artefakte automatisch hoch.
Python-Release:
Pushen Sie ein Tag, das mit python- beginnt, z. B. python-v0.1.0, um ein Release der Python-Implementierung auszulösen. Der Workflow erstellt ein Tarball des python/-Verzeichnisses und veröffentlicht es als Release-Artefakt.
Wireshark-Plugin-Release:
Pushen Sie ein Tag, das mit wireshark- beginnt, z. B. wireshark-v0.1.1, um ein Release der Wireshark-Plugin-Binärdateien für alle unterstützten Plattformen auszulösen.
Zeek-Release:
Pushen Sie ein Tag, das eine reine semantische Version ist (z. B. v1.2.3), ohne Präfix, um ein Zeek-Release auszulösen. Dadurch wird automatisch ein Release auf packages.zeek.org erstellt.
Stellen Sie sicher, dass Ihre Änderungen in den main-Branch gemerged sind.
Erstellen und pushen Sie ein Tag für die Komponente, die Sie veröffentlichen möchten:
rust-v0.18.5, python-v0.1.0, wireshark-v0.1.1).v1.2.3).Beispiel: ```sh git tag v1.2.3 git push origin v1.2.3
(Für Zeek)
Oder, für Rust: ```sh git tag rust-v0.18.5 git push origin rust-v0.18.5
3. Der entsprechende GitHub-Actions-Workflow wird ausgeführt und veröffentlicht die Release-Assets automatisch. Für Zeek erscheint das Release auf [packages.zeek.org](https://packages.zeek.org/).
## JA4+ Details
JA4+ ist eine Reihe einfacher, aber leistungsstarker Netzwerk-Fingerprints für mehrere Protokolle, die sowohl für Menschen als auch für Maschinen lesbar sind und so eine verbesserte Bedrohungssuche und Sicherheitsanalyse ermöglichen. Wenn Sie mit Netzwerk-Fingerprinting nicht vertraut sind, empfehle ich Ihnen, meine Blogs zur Veröffentlichung von JA3 [hier](https://medium.com/salesforce-engineering/tls-fingerprinting-with-ja3-and-ja3s-247362855967), JARM [hier](https://medium.com/salesforce-engineering/easily-identify-malicious-servers-on-the-internet-with-jarm-e095edac525a) und diesen hervorragenden Blog von Fastly über den [State of TLS Fingerprinting](https://www.fastly.com/blog/the-state-of-tls-fingerprinting-whats-working-what-isnt-and-whats-next) zu lesen, der die Geschichte der zuvor genannten Methoden sowie deren Probleme beschreibt. JA4+ bietet dedizierte Unterstützung und hält die Methoden aktuell, während sich die Branche verändert.
Alle JA4+-Fingerprints haben ein a_b_c-Format, das die verschiedenen Abschnitte des Fingerprints voneinander abgrenzt. Dies ermöglicht die Suche und Erkennung nur mit ab oder ac oder nur c. Wenn jemand nur die eingehenden Cookies in seiner App analysieren möchte, würde er nur auf JA4H_c schauen. Dieses neue lokalitätserhaltende Format ermöglicht tiefere und reichhaltigere Analysen, bleibt dabei aber einfach, benutzerfreundlich und erweiterbar.
GreyNoise ist beispielsweise ein Internet-Listener, der Internet-Scanner identifiziert und JA4+ in sein Produkt implementiert. Sie haben einen Akteur, der das Internet mit einem sich ständig ändernden einzelnen TLS-Cipher scannt. Dies erzeugt eine große Menge völlig unterschiedlicher JA3-Fingerprints, aber mit JA4 ändert sich nur der b-Teil des JA4-Fingerprints, die Teile a und c bleiben gleich. Dadurch kann GreyNoise den Akteur verfolgen, indem es den JA4_ac-Fingerprint betrachtet (a+c kombiniert, b weggelassen).
Eine Liste der JA4+-Methoden und ihrer Beschreibungen finden Sie unter [Aktuelle Methoden und Implementierungsdetails](#current-methods-and-implementation-details).
Um zu verstehen, wie JA4+-Fingerprints gelesen werden, siehe [Technische Details](https://github.com/foxio-llc/ja4/blob/main/technical_details/README.md).
## Lizenzierung
*JA4: TLS Client Fingerprinting* ist [Open-Source, BSD 3-Clause](https://github.com/foxio-llc/ja4/blob/main/LICENSE-JA4), ebenso wie JA3. FoxIO hat keine Patentansprüche und plant nicht, Patentschutz für JA4 TLS Client Fingerprinting anzustreben. Dies ermöglicht jedem Unternehmen oder Tool, das derzeit JA3 verwendet, sofort ohne Verzögerung auf JA4 umzusteigen.
**JA4S, JA4L, JA4LS, JA4L-Delta, JA4H, JA4X, JA4SSH, JA4T, JA4TS, JA4TScan, JA4D, JA4D6, JA4Scan-TLS, JA4Scan-QUIC, JA4N und alle zukünftigen Ergänzungen (zusammen als JA4+ bezeichnet)** sind patentrechtlich angemeldet und unter der [FoxIO License 1.1](https://github.com/foxio-llc/ja4/blob/main/LICENSE) lizenziert. Diese Lizenz ist für die meisten Anwendungsfälle freizügig, einschließlich für akademische und interne geschäftliche Zwecke, jedoch nicht für die Monetarisierung. Wenn ein Unternehmen JA4+ beispielsweise intern nutzen möchte, um das eigene Unternehmen zu sichern, ist dies erlaubt. Wenn ein Anbieter JA4+-Fingerprinting als Teil seines Produktangebots verkaufen möchte, müsste er eine OEM-Lizenz von uns anfordern.
JA4+ ist eine Marke von FoxIO
JA4+ kann und wird in Open-Source-Tools implementiert, siehe [License FAQ](https://github.com/foxio-llc/ja4/blob/main/License%20FAQ.md) für Details.
Diese Lizenzierung ermöglicht es uns, JA4+ der Welt auf eine offene und sofort nutzbare Weise zur Verfügung zu stellen, bietet uns aber auch eine Möglichkeit, die fortlaufende Unterstützung, die Forschung zu neuen Methoden und die Entwicklung der JA4+-Datenbank zu finanzieren. Wir möchten, dass jeder die Möglichkeit hat, JA4+ zu nutzen, und arbeiten gerne mit Anbietern und Open-Source-Projekten zusammen, um dies zu ermöglichen.
## Fragen & Antworten
F: Warum sortiert ihr die Cipher? Spielt die Reihenfolge nicht eine Rolle?
A: Das tut sie, aber in unserer Forschung haben wir festgestellt, dass Anwendungen und Bibliotheken eher eine eindeutige Cipher-Liste als eine eindeutige Reihenfolge wählen. Dies reduziert auch die Wirksamkeit von „Cipher Stunting“, einer Taktik, bei der die Cipher-Reihenfolge randomisiert wird, um die JA3-Erkennung zu verhindern.
F: Warum sortiert ihr die Erweiterungen?
A: Anfang 2023 hat Google [Chromium-Browser aktualisiert](https://chromestatus.com/feature/5124606246518784), um die Reihenfolge ihrer Erweiterungen zu randomisieren. Ähnlich wie beim Cipher Stunting war dies eine Taktik, um die JA3-Erkennung zu verhindern und „das TLS-Ökosystem robuster gegenüber Änderungen zu machen“. Google befürchtete, dass Server-Implementierer annehmen würden, dass sich der Chrome-Fingerprint nie ändert, und daraufhin Logik darum herum aufbauen würden, was Probleme verursachen würde, wann immer Google Chrome aktualisiert.
Ich möchte also klarstellen: JA4-Fingerprints werden sich ändern, wenn Anwendungs-TLS-Bibliotheken aktualisiert werden, etwa einmal im Jahr. Gehen Sie nicht davon aus, dass Fingerprints in einer Umgebung, in der Anwendungen aktualisiert werden, konstant bleiben. In jedem Fall umgeht das Sortieren der Erweiterungen dieses Problem, und das Hinzufügen von Signaturalgorithmen bewahrt die Eindeutigkeit.
F: Macht TLS 1.3 das Fingerprinting von TLS-Clients nicht schwieriger?
A: Nein, es macht es einfacher! Seit TLS 1.3 haben Clients eine viel größere Menge an Erweiterungen, und obwohl TLS 1.3 nur wenige Cipher unterstützt, unterstützen Browser und Anwendungen weiterhin viele mehr.
## JA4+ wurde erstellt von
[John Althouse](https://www.linkedin.com/in/johnalthouse/), mit Feedback von:
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
Und Ingenieuren, die bei GreyNoise, Hunt, Google, ExtraHop, F5, Driftnet und anderen arbeiten.
Kontaktieren Sie John Althouse unter [email protected] für Lizenzierung und Fragen.
<sub>JA4 und JA4+ sind Marken von FoxIO, Inc.
Copyright (c) 2026, FoxIO</sup>
| Censys |
| JA4+ |
| Exploit.org's Netryx | JA4 und JA4H |
| Cloudflare | JA4 |
| Fastly | JA4+ (danach fragen) |
| MISP | JA4+ |
| OCSF | JA4+ |
| Vercel | JA4 |
| Seika | JA4+ |
| VirusTotal | JA4 |
| AWS Cloudfront | JA4 |
| ELLIO | JA4+ |
| Webscout | JA4+ |
| Rama | JA4 und JA4H |
| Vectra | JA4+ |
| AWS WAF | JA4 |
| Tacticly | JA4+ |
| Palo Alto Networks | JA4+ |
| ngrok | JA4 |
| Vertex Synapse | JA4 und JA4S |
| Google Cloud Armor | JA4 |
| Fortinet | JA4 |
| AppOmni | JA4+ |
| IntelliGenesis | JA4+ |
| HAProxy | JA4 und JA4H Plugins von OXL |
| SentinelOne | JA4 |
| Akamai | JA4 |
| Alibaba Cloud | JA4 |
| Huawei Cloud | JA4 |
| Google Cloud LBs | JA4 |
| eSentire | JA4+ |
| Microsoft Azure Front Door CDN | JA4 |
| Synapse von Gen0Sec | JA4X |
| Zscaler | JA4 |
| ExtraHop | JA4+ |
| Validin | JA4+ |
| Auth0 | JA4 |
| Security Onion | JA4+ |
| bunny.net | JA4 |
| ENEA | JA4+ |
| F5 Distributed Cloud Services | JA4+ |