3ch0p01nt/ja4-threat-hunting
GitHub: 3ch0p01nt/ja4-threat-hunting
面向 Microsoft Sentinel 的 JA4/JA4S TLS 指纹威胁狩猎工作簿与 KQL 工具包,支持一键部署到 Azure 及政府云,利用 Defender XDR 原生数据实现指纹堆叠、事件融合、稀有指纹排查和信标通信检测。
Stars: 0 | Forks: 0
# JA4 / JA4S 威胁狩猎 (Microsoft Sentinel)
[](https://github.com/3ch0p01nt/ja4-threat-hunting/actions/workflows/validate.yml)
[](LICENSE)
一个 Microsoft Sentinel 工作簿 + KQL 工具包,用于堆叠**JA4/JA4s TLS 指纹**,将其与事件融合,
评估**事件匹配保真度**,对**罕见的可疑指纹**进行分类排查,并检测
**信标通信(beaconing)** —— 所有这些均原生支持 Microsoft Defender / E5(无需外部威胁情报源)。
## 部署工作簿
[](https://portal.azure.us/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2F3ch0p01nt%2Fja4-threat-hunting%2Fmain%2Fdeploy%2Fazuredeploy.json/createUIDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2F3ch0p01nt%2Fja4-threat-hunting%2Fmain%2Fdeploy%2FcreateUiDefinition.json)
[](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2F3ch0p01nt%2Fja4-threat-hunting%2Fmain%2Fdeploy%2Fazuredeploy.json/createUIDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2F3ch0p01nt%2Fja4-threat-hunting%2Fmain%2Fdeploy%2FcreateUiDefinition.json)
对于 IL5 (Azure Government),请使用 **US Gov** 按钮。在部署边栏选项卡上,选择您的资源组并
将 **`workspaceResourceId`** 设置为您的 Log Analytics / Sentinel 工作区,然后点击**查看 + 创建**。
## 包含内容
| 文件 | 功能 |
|---|---|
| `07-ja4-threat-hunting-workbook.json` | 完整的交互式工作簿(通过上述按钮部署)。 |
| `00-discovery-additionalfields-keys.kql` | 确认 `AdditionalFields` 中的 JA4 键。 |
| `01` / `03` | 以签名为中心的**事件匹配保真度** (Defender XDR / Sentinel)。 |
| `02` / `04` | 以事件为中心的每对保真度。 |
| `05-rare-ja4-malice-triage.kql` | 罕见指纹的恶意性排查(结构 / 进程 / 证书信号)。 |
| `06-ja4-beaconing.kql` | 低抖动 C2 信标通信检测器。 |
| `deploy/` | ARM + Bicep + parameters + 支持 Gov 的部署脚本。 |
## 评分(全数据驱动,无内嵌 IOC 列表)
- **稀有度** = 综合指标:仅在*极少主机且极少连接*时才视为稀有。**最小稀有度**滑块可将每个面板聚焦于长尾稀有部分。
- **事件匹配保真度** = 特异性(流级别精确匹配 > 主机+时间 > 主机任意匹配 > 共享 IP)× 时间衰减 × 稀有度 × **事件严重性**。
- **恶意性排查** = 稀有度门控 + 需要辅助证据(LOLBIN / 传统 TLS / 自签名到公网 / 无 SNI / 无 ALPN / 用户路径)。
- **信标通信** = 到达时间间隔的低变异系数。
## 数据要求
目标工作区需要 Defender XDR 数据:`DeviceNetworkEvents`(包含位于 `AdditionalFields` 中 JA4 的 `SslConnectionInspected`,加上用于进程归因的 `ConnectionSuccess`)以及 `SecurityIncident` / `SecurityAlert`。
无论如何它都会部署——没有数据的分段将直接返回空行。
## 来源 / 方法论
MISP 衰减模型(时间衰减) · 痛苦金字塔(JA4 排名高于 IP) · JA4 规范(结构解码) · 检测工程邻近度评分 · Recorded Future / STIX 置信度区间。
标签:Defender XDR, IP 地址批量处理, JA4, KQL, Libemu, Microsoft Sentinel, Radare2, TLS指纹, 安全运营, 扫描框架