
Motore di fingerprinting ibrido passivo — identifica gli host senza inviare un singolo pacchetto
Strumento di Analisi Ibrida Passiva per Profilazione e Intelligence Multiprotocollo Indipendente dal Sistema Operativo
Riconosci gli host sulla tua rete senza inviare un singolo pacchetto.
PHANTOMPRINT correla multipli segnali passivi (stack TCP/IP, TLS/JA4, DHCP Option 55, HTTP/2 HPACK, comportamento DNS) per identificare sistemi operativi, browser e dispositivi dal solo traffico osservato.
| Strumento | FP TCP/IP | FP TLS JA4 | FP DHCP | Multi-segnale | Punteggio di Confidenza |
|---|---|---|---|---|---|
| p0f | ✅ | ❌ | ❌ | ❌ | ❌ |
| Zeek | ✅ | plugin | ❌ | ❌ | ❌ |
| JA3er | ❌ | ✅ | ❌ | ❌ | ❌ |
| PHANTOMPRINT | ✅ | ✅ | ✅ | ✅ | ✅ |
p0f non viene più mantenuto dal 2014. Zeek richiede un'infrastruttura pesante. Nessuno correla tutti questi segnali in un profilo host unificato e ponderato.
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
Nessun pacchetto viene inviato. Nessuna connessione viene aperta. Completamente passivo.
git clone https://github.com/youruser/phantomprint
cd phantomprint
pip install -e ".[dev]"
Richiede Python 3.11+ e root/CAP_NET_RAW per l'acquisizione live.
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 — Risultati (4 host)
┌─────────────────┬──────────────────┬───────────────┬──────────────────────┬───────┐
│ Host / MAC │ SO │ Browser / App │ Segnali │ Punteggio │
├─────────────────┼──────────────────┼───────────────┼──────────────────────┼───────┤
│ 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 Router │ — │ TCP │ 18% │
│ aa:bb:cc:dd:... │ Android 12-14 │ — │ DHCP │ 31% │
└─────────────────┴──────────────────┴───────────────┴──────────────────────┴───────┘
Le firme risiedono in signatures/raw/ come file 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"
Aggiungi le tue firme e vengono caricate automaticamente.
v1.0 ─ TCP/IP + TLS/JA4 + DHCP parsers (current)
v1.5 ─ HTTP/2 HPACK fingerprinting, DNS behavior analysis, Rust capture engine
v2.0 ─ Cross-sensor correlation (Redis), behavioral drift detection, STIX 2.1 output
v2.5 ─ Zeek plugin, Elastic/Splunk output, web UI
PHANTOMPRINT è progettato per essere utilizzato su reti di tua proprietà o per le quali hai esplicita autorizzazione al monitoraggio. Il fingerprinting passivo rientra in MITRE ATT&CK T1040 (Network Sniffing) — assicurati di avere l'autorizzazione appropriata prima del deployment.
Concesso in licenza GPL-3.0.