适用于操作系统无关的多协议分析与情报的被动混合分析工具
在不发送任何数据包的情况下对网络上的主机进行指纹识别。
PHANTOMPRINT 将多个被动信号(TCP/IP 协议栈、TLS/JA4、DHCP Option 55、HTTP/2 HPACK、DNS 行为)关联起来,仅通过观测到的流量即可识别操作系统、浏览器和设备。
| 工具 | TCP/IP 指纹 | TLS/JA4 | DHCP 指纹 | 多信号 | 置信度分数 |
|---|---|---|---|---|---|
| p0f | ✅ | ❌ | ❌ | ❌ | ❌ |
| Zeek | ✅ | 插件 | ❌ | ❌ | ❌ |
| JA3er | ❌ | ✅ | ❌ | ❌ | ❌ |
| PHANTOMPRINT | ✅ | ✅ | ✅ | ✅ | ✅ |
p0f 自 2014 年以来已停止维护。Zeek 需要重型基础设施。没有任何工具能将所有这些信号关联成统一、带分数的主机画像。
网络流量
│
├─── TCP SYN/SYN-ACK ──→ TCPIP解析器 ──→ TTL + 窗口 + 选项哈希
├─── TLS ClientHello ──→ TLS解析器 ──→ JA4 指纹
├─── DHCP DISCOVER ──→ DHCP解析器 ──→ Option 55 指纹
└─── (HTTP/2, DNS) ──→ [即将推出 v1.5]
│
信号合并器
│
贝叶斯评分引擎
│
主机画像
┌──────────┴──────────┐
终端 JSON / STIX
不发送任何数据包。不打开任何连接。完全被动。
git clone https://github.com/youruser/phantomprint
cd phantomprint
pip install -e ".[dev]"
需要 Python 3.11+ 以及 root/CAP_NET_RAW 权限进行实时捕获。
sudo phantomprint live -i eth0
sudo phantomprint live -i eth0 -t 60 -o results.json
sudo phantomprint live -i eth0 --verbose
phantomprint pcap capture.pcap
phantomprint pcap capture.pcap -o results.json
phantomprint signatures
phantomprint signatures --category os
phantomprint signatures --category browser
◈ PHANTOMPRINT v0.1.0 — 结果(4 台主机)
┌─────────────────┬──────────────────┬───────────────┬──────────────────────┬───────┐
│ 主机 / MAC │ 操作系统 │ 浏览器 / 应用 │ 信号 │ 分数 │
├─────────────────┼──────────────────┼───────────────┼──────────────────────┼───────┤
│ 192.168.1.45 │ Windows 11 │ Chrome 120 │ TCP TLS DHCP │ 78% │
│ 192.168.1.12 │ Linux 6.x │ curl │ TCP TLS │ 52% │
│ 192.168.1.1 │ Cisco IOS 路由器 │ — │ TCP │ 18% │
│ aa:bb:cc:dd:... │ Android 12-14 │ — │ DHCP │ 31% │
└─────────────────┴──────────────────┴───────────────┴──────────────────────┴───────┘
签名存放在 signatures/raw/ 目录下,为 YAML 文件:
# signatures/raw/os/windows11.yaml
id: os_win11
name: Windows 11
type: os
description: Windows 11 / Windows Server 2022
signals:
tcp_ip:
- "128:65535:1:mss,nop,wscale,sackok,timestamp"
- "128:64240:1:mss,nop,wscale,sackok,timestamp"
dhcp:
- "1,3,6,15,31,33,43,44,46,47,119,121,249,252"
添加您自己的签名,它们会被自动加载。
v1.0 ─ TCP/IP + TLS/JA4 + DHCP 解析器(当前)
v1.5 ─ HTTP/2 HPACK 指纹、DNS 行为分析、Rust 捕获引擎
v2.0 ─ 跨传感器关联(Redis)、行为漂移检测、STIX 2.1 输出
v2.5 ─ Zeek 插件、Elastic/Splunk 输出、Web UI
PHANTOMPRINT 设计用于您拥有所有权或已获得明确授权进行监听的网络。被动指纹识别属于 MITRE ATT&CK T1040(网络嗅探)——部署前请确保您已获得适当授权。
基于 GPL-3.0 许可。