JA4+是一套易于使用且易于共享的网络指纹识别方法。这些方法都是人类和机器可读的,以促进更有效的威胁搜寻和分析。这些指纹的用例包括扫描威胁行为者、恶意软件检测、会话劫持预防、合规性自动化、位置跟踪、DDoS 检测、威胁行为者分组、反向 shell 检测等等。
请阅读我们的博客,详细了解 JA4+ 的工作原理、工作原因以及可检测/预防的示例:
JA4+网络指纹识别(JA4/S/H/L/X/SSH)
JA4T:TCP 指纹识别 (JA4T/TS/TScan)
使用 JA4T 调查 Surfshark 和 NordVPN (JA4T)
目前的方法和实施细节:
姓名 | 简称 | 描述 |
---|---|---|
JA4 | JA4 | TLS 客户端指纹识别 |
JA4服务器 | JA4S | TLS 服务器响应/会话指纹识别 |
JA4HTTP | JA4H | HTTP 客户端指纹识别 |
JA4延迟 | JA4L | 客户端到服务器延迟测量/光距离 |
JA4延迟服务器 | JA4LS | 服务器到客户端延迟测量/光距离 |
JA4X509 | JA4X | X509 TLS 证书指纹 |
JA4SSH | JA4SSH | SSH 流量指纹识别 |
JA4TCP | JA4T | TCP 客户端指纹识别 |
JA4TCP服务器 | JA4TS | TCP 服务器响应指纹 |
JA4TCP扫描 | JA4T扫描 | 主动 TCP 指纹扫描仪 |
全名或简称可以互换使用。其他 JA4+ 方法正在开发中...
要了解如何读取 JA4+ 指纹,请参阅技术详细信息
该存储库包含 Python、Rust、Zeek 和 C 中的 JA4+,作为 Wireshark 插件。
支持JA4+的工具:
工具/供应商 | JA4+ 支持 |
---|---|
Wireshark | JA4+ |
泽克 | JA4+ |
阿基梅 | JA4+ |
苏里卡塔 | JA4 |
灰噪声 | JA4+(你必须要求) |
打猎 | JA4+ |
漂流网 | JA4X |
暗帆 | JA4+ |
Go语言 | JA4X |
酶 | JA4+(开发中) |
Netresec 的 CapLoader | JA4+(开发中) |
Netresec 的 NetworkMiner | JA4+(开发中) |
NGINX | JA4+(开发中) |
F5 大IP | JA4+ |
转储文件 | JA4+ |
ntop 的 ntopng | JA4+ |
ntop 的 nDPI | JA4 |
西姆鲁队 | JA4+(你必须要求) |
网络探索 | JA4+ |
森西斯 | JA4+ |
Exploit.org 的 Netryx | JA4 和 JA4H |
云耀 | JA4 |
快速 | JA4 |
微服务提供商 | JA4+ |
OCSF | JA4+ |
韦尔塞尔 | JA4 |
清华 | JA4+ |
病毒总数 | JA4 |
AWS | JA4 |
还有更多内容即将公布...
应用 | JA4+指纹 |
---|---|
铬合金 | JA4=t13d1516h2_8daaf6152771_02713d6af862 (TCP)JA4=q13d0312h3_55b375c5d22e_06cda9e17597 (QUIC)JA4=t13d1517h2_8daaf6152771_b0da82dd1658 (预共享密钥)JA4=t13d1517h2_8daaf6152771_b1ff8ab2d16f (无密钥) |
IcedID 恶意软件滴管 | JA4H=ge11cn020000_9ed1ff1f7b03_cd8dafe26982 |
IcedID 恶意软件 | JA4=t13d201100_2b729b4bf6f3_9e7b989ebec8 JA4S=t120300_c030_5e2616a54c73 |
银色恶意软件 | JA4=t13d190900_9dc949149365_97f8aa674fd9 JA4S=t130200_1301_a56c5b993250 JA4X=000000000000_4f24da86fad6_bf0f0589fc03 JA4X=000000000000_7c32fa18c13e_bf0f0589fc03 |
钴击 | JA4H=ge11cn060000_4e59edc1297a_4da5efaf0cbd JA4X=2166164053c1_2166164053c1_30d204a01551 |
SoftEther VPN | JA4=t13d880900_fcb5b95cb75a_b0d3b4ac2a14 (客户端)JA4S=t130200_1302_a56c5b993250 JA4X=d55f458d5a6c_d55f458d5a6c_0fc8c171b6ae |
夸克博特 | JA4X=2bab15409345_af684594efb4_000000000000 |
皮卡机器人 | JA4X=1a59268f55e5_1a59268f55e5_795797892f9c |
暗门 | JA4H=po10nn060000_cdb958d032b0 |
鲁玛C2 | JA4H=po11nn050000_d253db9d024b |
邪恶之星 | JA4=t13d191000_9dc949149365_e7c285222651 |
反向 SSH Shell | JA4SSH=c76s76_c71s59_c0s70 |
Windows 10 | JA4T=64240_2-1-3-1-1-4_1460_8 |
爱普生打印机 | JA4TScan=28960_2-4-8-1-3_1460_3_1-4-8-16 |
有关更多示例,请参阅 ja4plus-mapping.csv
有关完整的数据库,请参阅 ja4db.com
Wireshark
泽克
阿基梅
建议使用 tshark 版本 4.0.6 或更高版本以获得完整功能。请参阅:https://pkgs.org/search/?q=tshark
从以下位置下载最新的 JA4 二进制文件:发行版。
sudo apt install tshark
./ja4 [options] [pcap]
ln -s /Applications/Wireshark.app/Contents/MacOS/tshark /usr/local/bin/tshark
./ja4 [options] [pcap]
ja4 [options] [pcap]
官方的 JA4+ 指纹数据库、相关应用程序和推荐的检测逻辑在这里:ja4db.com
该数据库正在积极开发中。预计未来几个月(2024 年 8 月)指纹组合和数据将增加几个数量级。
还提供了 ja4plus-mapping.csv 示例以供快速参考。
JA4+ 是一组简单但功能强大的网络指纹,适用于人类和机器可读的多种协议,有助于改进威胁搜寻和安全分析。如果您不熟悉网络指纹识别,我鼓励您阅读我的博客,在此处发布 JA3,在此处发布 JARM,以及 Fastly 撰写的关于 TLS 指纹识别状态的优秀博客,其中概述了上述内容的历史及其问题。 JA4+ 提供专门的支持,使方法随着行业的变化而保持最新。
所有 JA4+ 指纹都具有 a_b_c 格式,用于分隔构成指纹的不同部分。这允许仅利用 ab 或 ac 或 c 进行搜索和检测。如果人们只想分析传入应用程序的 cookie,他们只会查看 JA4H_c。这种新的局部性保留格式有助于进行更深入、更丰富的分析,同时保持简单、易于使用并允许扩展。
例如; GreyNoise 是一个互联网侦听器,可识别互联网扫描仪并正在其产品中实施 JA4+。他们有一个演员用不断变化的单一 TLS 密码扫描互联网。这会生成大量完全不同的 JA3 指纹,但对于 JA4,只有 JA4 指纹的 b 部分发生变化,a 和 c 部分保持不变。因此,GreyNoise 可以通过查看 JA4_ac 指纹(加入 a+c,删除 b)来跟踪参与者。
目前的方法和实施细节:
姓名 | 简称 | 描述 |
---|---|---|
JA4 | JA4 | TLS 客户端指纹识别 |
JA4服务器 | JA4S | TLS 服务器响应/会话指纹识别 |
JA4HTTP | JA4H | HTTP 客户端指纹识别 |
JA4延迟 | JA4L | 客户端到服务器延迟测量/光距离 |
JA4延迟服务器 | JA4LS | 服务器到客户端延迟测量/光距离 |
JA4X509 | JA4X | X509 TLS 证书指纹 |
JA4SSH | JA4SSH | SSH 流量指纹识别 |
JA4TCP | JA4T | TCP 客户端指纹识别 |
JA4TCP服务器 | JA4TS | TCP 服务器响应指纹 |
JA4TCP扫描 | JA4T扫描 | 主动 TCP 指纹扫描仪 |
全名或简称可以互换使用。其他 JA4+ 方法正在开发中...
要了解如何读取 JA4+ 指纹,请参阅技术详细信息
JA4:TLS 客户端指纹是开源的,BSD 3-Clause,与 JA3 相同。 FoxIO 没有专利声明,也不打算为 JA4 TLS 客户端指纹寻求专利保护。这使得当前使用 JA3 的任何公司或工具可以立即升级到 JA4,无需延迟。
JA4S、JA4L、JA4LS、JA4H、JA4X、JA4SSH、JA4T、JA4TS、JA4TScan 以及所有未来的新增内容(统称为 JA4+)均根据 FoxIO 许可证 1.1 获得许可。该许可证适用于大多数用例,包括学术和内部业务目的,但不允许货币化。例如,如果一家公司希望在内部使用 JA4+ 来帮助保护自己公司的安全,这是允许的。例如,如果供应商希望将 JA4+ 指纹识别作为其产品的一部分进行销售,他们将需要向我们请求 OEM 许可证。
所有 JA4+ 方法均正在申请专利。
JA4+ 是 FoxIO 的商标
JA4+ 可以并且正在被实现到开源工具中,有关详细信息,请参阅许可证常见问题解答。
该许可使我们能够以开放且立即可用的方式向全世界提供 JA4+,同时也为我们提供了一种资助持续支持、新方法研究和 JA4+ 数据库开发的方式。我们希望每个人都有能力利用 JA4+,并很乐意与供应商和开源项目合作来帮助实现这一目标。
问:为什么要对密码进行排序?顺序不重要吗?
答:确实如此,但在我们的研究中,我们发现应用程序和库更多地选择唯一的密码列表而不是唯一的排序。这也降低了“密码阻碍”的有效性,“密码阻碍”是一种随机化密码排序以防止 JA3 检测的策略。
问:为什么要对扩展进行排序?
答:2023 年初,Google 更新了 Chromium 浏览器以随机化其扩展程序排序。就像密码阻碍一样,这是一种防止 JA3 检测并“使 TLS 生态系统对变化更加稳健”的策略。谷歌担心服务器实施者会认为 Chrome 指纹永远不会改变,并最终围绕它构建逻辑,这会在谷歌更新 Chrome 时引发问题。
所以我想澄清这一点:JA4 指纹将随着应用程序 TLS 库的更新而改变,大约每年一次。不要假设指纹在应用程序更新的环境中会保持不变。无论如何,对扩展进行排序可以解决这个问题,并添加签名算法可以保持唯一性。
问:TLS 1.3 是否会使 TLS 客户端的指纹识别变得更加困难?
答:不,这样更容易!自 TLS 1.3 以来,客户端拥有了更多的扩展集,尽管 TLS1.3 仅支持少数密码,但浏览器和应用程序仍然支持更多密码。
John Althouse,反馈来自:
乔什·阿特金斯
杰夫·阿特金森
约书亚·亚历山大
W.
乔·马丁
本·希金斯
安德鲁·莫里斯
克里斯·尤兰
本·斯科菲尔德
马蒂亚斯·瓦伦丁
瓦列里·沃罗廷采夫
蒂莫西·诺埃尔
加里·利普斯基
还有在 GreyNoise、Hunt、Google、ExtraHop、F5、Driftnet 等公司工作的工程师。
有关许可和问题,请通过 [email protected] 联系 John Althouse。
版权所有 (c) 2024,FoxIO