
Двигатель пассивной гибридной идентификации — определяет хосты без отправки ни одного пакета
Пассивный гибридный инструмент анализа для независимого от ОС многопротокольного профилирования и разведки
Снимайте отпечатки узлов вашей сети не отправляя ни одного пакета.
PHANTOMPRINT коррелирует множество пассивных сигналов (стек TCP/IP, TLS/JA4, опция 55 DHCP, HPACK HTTP/2, поведение DNS) для идентификации операционных систем, браузеров и устройств только на основе наблюдаемого трафика.
| Инструмент | TCP/IP FP | TLS JA4 | DHCP FP | Множественные сигналы | Оценка достоверности |
|---|---|---|---|---|---|
| p0f | ✅ | ❌ | ❌ | ❌ | ❌ |
| Zeek | ✅ | плагин | ❌ | ❌ | ❌ |
| JA3er | ❌ | ✅ | ❌ | ❌ | ❌ |
| PHANTOMPRINT | ✅ | ✅ | ✅ | ✅ | ✅ |
p0f не поддерживается с 2014 года. Zeek требует тяжелой инфраструктуры. Ничто не коррелирует все эти сигналы в единый, оцененный профиль узла.
Network Traffic
│
├─── TCP SYN/SYN-ACK ──→ TCPIPParser ──→ TTL + Window + Options hash
├─── TLS ClientHello ──→ TLSParser ──→ JA4 fingerprint
├─── DHCP DISCOVER ──→ DHCPParser ──→ Option 55 fingerprint
└─── (HTTP/2, DNS) ──→ [coming v1.5]
│
SignalMerger
│
Bayesian Score Engine
│
HostProfile
┌──────────┴──────────┐
Terminal 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 — Results (4 hosts)
┌─────────────────┬──────────────────┬───────────────┬──────────────────────┬───────┐
│ Хост / 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 parsers (текущая версия)
v1.5 ─ Снятие отпечатков HPACK HTTP/2, анализ поведения DNS, движок захвата на Rust
v2.0 ─ Корреляция между сенсорами (Redis), обнаружение изменений поведения, вывод в STIX 2.1
v2.5 ─ Плагин Zeek, вывод в Elastic/Splunk, веб-интерфейс
PHANTOMPRINT предназначен для использования в сетях, которыми вы владеете или на мониторинг которых у вас есть явное разрешение. Пассивное снятие отпечатков подпадает под MITRE ATT&CK T1040 (Перехват сетевого трафика) — убедитесь, что у вас есть соответствующие разрешения перед развертыванием.
Лицензировано под GPL-3.0.