【翻译】JA4T-TCP 指纹识别
字数 1955 2025-08-22 12:23:25
JA4T-TCP 指纹识别技术详解
1. JA4+ 网络指纹识别工具概述
JA4T/S/Scan 是 JA4+ 网络指纹识别工具系列的最新成员,用于对客户端和服务器操作系统、设备、特定应用程序、托管特征进行指纹识别,并能识别连接是否通过隧道、VPN 或代理。
主要组件:
- JA4T:基于客户端TCP SYN数据包的指纹识别
- JA4TS:基于服务器SYN-ACK响应的指纹识别
- JA4TScan:主动TCP服务器指纹识别工具
2. TCP基础知识回顾
TCP三次握手
- 客户端发送带有SYN标志的TCP数据包(包含首选TCP通信设置)
- 服务器响应SYN-ACK数据包(包含其首选TCP通信设置)
- 客户端发送ACK,紧接着发送应用程序请求(HTTPS、SSH等)
TCP SYN数据包关键字段
- 窗口大小:需要ACK之前传输的最大数据量(2字节)
- TCP选项:非必需但现代操作系统都使用
- 选项列表总长度必须能被4整除(使用NOP选项填充)
- 常见选项类型:窗口比例、最大段大小(MSS)、时间戳等
重要TCP选项详解
- 窗口比例:窗口大小的乘数,允许实际窗口大小远大于65535
- 最大段大小(MSS):源将接受的每个数据包的最大数据有效负载大小
- 常见值1460(基于1500的以太网MTU)
- 1380的MSS表明网络路径存在开销(如隧道或VPN)
3. JA4T: TCP指纹识别技术
设计特点
- 专为记录每个会话设计
- 突出显示不寻常的网络条件
- 可作为分析、故障排除、威胁狩猎和流量整形的支点
- 人类和机器可读,可共享
- 能识别操作系统/设备、中间代理、VPN、负载均衡器、隧道等
指纹识别依据
- 不同操作系统的窗口大小、选项和窗口比例组合不同
- Windows不使用TCP选项8(时间戳),Unix系统使用
- iOS以TCP选项0(列表结束)结束,并添加额外选项0而非NOP
- MSS变化可识别设备网络条件和运营商
- 不同移动运营商设置不同的MSS
- VPN连接会改变MSS和窗口大小
- 代理连接会显示代理的TCP指纹而非客户端指纹
4. JA4TS: TCP服务器响应指纹
- 基于服务器SYN-ACK响应
- 服务器响应可能因客户端TCP SYN选项不同而变化
- 要获得服务器本身的准确指纹需使用JA4TScan
5. JA4TScan: 主动TCP服务器指纹识别
工作原理
- 发送包含所有常见TCP选项的单个SYN数据包
- 不响应服务器的SYN-ACK
- 侦听重传,记录重传次数和延迟
- 将重传信息添加到指纹末尾
独特优势
- 重传次数和延迟模式对每个操作系统唯一
- 物联网设备:快速多次重传
- 其他设备:指数退避重传(1秒、2秒、4秒等)
- 仅需单个SYN数据包即可构建强大TCP指纹
6. 实际应用:使用JA4T阻止互联网扫描器
与GreyNoise结合
- GreyNoise数据显示前5个JA4T指纹占所有互联网扫描流量的60%
- 这些指纹对扫描应用程序唯一,可用于启发式阻止恶意流量
实施方法
- 在WAF、防火墙或负载均衡器中集成JA4T检测
- F5 BIG-IP提供示例iRule实现
- 在SYN数据包阶段阻止,防止扫描器探测端口状态
案例分析
- 指纹示例:29200_2-4-8-1-3
- 选项列表2-4-8-1-3:基于Unix的操作系统
- MSS 1424:36字节额外网络开销(可能是未加密隧道或代理)
- GreyNoise观察到数百个腾讯IP范围源,主要监听SSH(22)和Pi节点矿机端口(31401)
7. 攻击者行为分析
扫描目标
- 主要目标:SSH及其替代端口
- 次要目标:网络服务器识别
指纹特征
- HTTP指纹(JA4H):部分尝试伪装浏览器(接受语言"zhcn")
- TLS指纹(JA4):
- 主要扫描仪支持TLS 1.3和69个密码
- 其他扫描仪支持TLS 1.2和1.1
- 异常指纹:TLS 1.1带ALPN扩展(历史不符)
8. 实施资源
- JA4+ GitHub仓库:https://github.com/FoxIO-LLC/ja4
- JA4TScan独立工具:https://github.com/FoxIO-LLC/ja4tscan
- F5 iRules示例:https://github.com/f5devcentral/f5-ja4
- 许可信息:https://github.com/FoxIO-LLC/ja4/tree/main#licensing
9. 结论
JA4T/S/Scan作为JA4+网络指纹套件的最新成员,提供了强大的网络流量分析能力,可用于:
- 客户端和服务器指纹识别
- 网络条件分析
- 威胁检测和阻止
- 网络问题排查
通过集成到网络安全产品中,可以基于指纹而非IP地址列表有效阻止大量恶意流量(如60%的互联网扫描流量)。