Repolode
salesforce

salesforce/jarm

JARM 是一款主动式 TLS 服务器指纹工具,通过发送特制的 Client Hello 探测包识别服务器配置并发现恶意基础设施。

Star
1,326
Fork
156
未关闭 Issue
16
最近提交
2个月前

这是什么?

JARM 是一款用 Python 编写的主动式 TLS 服务器指纹工具。它向目标服务器发送 10 个精心构造的 TLS Client Hello 数据包,采集 Server Hello 响应的特征,并将其哈希为一个 62 位的指纹。前 30 位编码服务器对每个探测包选择的密码套件和 TLS 版本,后 32 位是扩展信息的截断 SHA256 值。

这些指纹可用于确认一组服务器是否使用相同的 TLS 配置,按配置对互联网上的服务器进行归类,也能识别默认软件或基础设施。恶意软件的命令与控制服务器通常批量部署且配置相似,因此往往会产生独特的指纹,帮助安全人员发现可疑主机。

JARM 可通过命令行扫描单个域名或 IP,项目还附带 shell 脚本,用于批量扫描大型目标列表。它是 JA3/S 的主动扫描版本,后者则通过被动监听网络流量进行指纹识别。

核心功能

  • 01对每个目标发送 10 个构造的 TLS Client Hello 探测包,采集服务器响应。
  • 02生成 62 位的紧凑指纹,便于比较和分享。
  • 03支持对单个域名或 IP 扫描,并可指定代理。
  • 04附带 shell 脚本,可批量扫描大型目标列表并输出 CSV。
  • 05基于 Python 实现,使用 BSD-3-Clause 许可证。

适用场景

  • 检查一组服务器的 TLS 配置是否保持一致。
  • 根据背后的软件或厂商基础设施对互联网服务器进行归类。
  • 在事件响应或威胁研究中排查命令与控制服务器。

快速上手

  1. 1

    从 requirements.txt 安装依赖

    pip install -r requirements.txt
  2. 2

    对域名或IP进行指纹识别

    python3 jarm.py www.salesforce.com

使用前须知

  • 它会主动向目标服务器发送探测包,因此不适合用于被动流量监控。

标签

常见问题

jarm 是什么?
JARM 是一款主动式 TLS 服务器指纹工具,通过发送特制的 Client Hello 探测包识别服务器配置并发现恶意基础设施。 JARM 是一款用 Python 编写的主动式 TLS 服务器指纹工具。它向目标服务器发送 10 个精心构造的 TLS Client Hello 数据包,采集 Server Hello 响应的特征,并将其哈希为一个 62 位的指纹。前 30 位编码服务器对每个探测包选择的密码套件和 TLS 版本,后 32 位是扩展信息的截断 SHA256 值。
jarm 可以免费使用吗?用的什么许可证?
jarm 以 BSD-3-Clause 许可证开源。用于商业产品前,请先确认许可证条款。
jarm 还在维护吗?
半年内有更新。jarm 最近一次提交是在 2026年8月13日。
jarm 适合用来做什么?
检查一组服务器的 TLS 配置是否保持一致。 根据背后的软件或厂商基础设施对互联网服务器进行归类。 在事件响应或威胁研究中排查命令与控制服务器。
jarm 怎么安装和运行?
从 requirements.txt 安装依赖: pip install -r requirements.txt 对域名或IP进行指纹识别: python3 jarm.py www.salesforce.com
在哪里获取 jarm?
源代码和安装说明在 GitHub 上:https://github.com/salesforce/jarm

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目