
PoC multilingua (Python · Go · JS · C) e documentazione tecnica per CVE-2025-63353, una vulnerabilità critica di PSK predefinita prevedibile nei dispositivi FiberHome HG6145F1 GPON ONT.
Toolkit di ricerca educativa e PoC multilingue per CVE-2025-63353, una vulnerabilità critica di PSK predefinito prevedibile che colpisce i dispositivi GPON ONT FiberHome HG6145F1 RP4423.
La chiave pre-shared Wi-Fi predefinita di fabbrica sui dispositivi FiberHome HG6145F1 interessati è una funzione deterministica dell'SSID trasmesso. Un attaccante che osserva un frame beacon da un dispositivo vulnerabile può derivare la PSK WPA2 in tempo costante senza handshake catturato, senza wordlist, senza GPU e senza interazione con il client.
Per un dispositivo che trasmette SSID fh_<hex_a>, la PSK predefinita è:
PSK = "wlan" + hex(0xFFFFFF XOR hex_a)
Esempio: fh_a1f9d1 → wlan5e062e
Lo spazio delle chiavi effettivo per dispositivo è 1. Lo spazio delle chiavi a livello di popolazione su tutte le implementazioni HG6145F1 è al massimo 2²⁴ ≈ 16,7 milioni di coppie (SSID, PSK) e poiché l'SSID è trasmesso, la mappatura SSID-to-PSK è uno-a-uno.
Questo lavoro è costruito interamente sulla ricerca e divulgazione originale della vulnerabilità da parte di Hani Anis Bouzid:
Tutto il merito per la scoperta della vulnerabilità e la divulgazione pubblica iniziale va a Hani Anis Bouzid. Questo repository estende la divulgazione originale con implementazioni PoC multilingue e un set di documentazione tecnica curata.
.
├── README.md
├── LICENSE
├── docs/
│ ├── vulnerability.md Technical analysis of the algorithm
│ ├── timeline.md Disclosure chronology and vendor response
│ ├── affected-deployments.md Device specifications and known deployments
│ ├── related-research.md Lineage of predictable-PSK vulnerabilities
│ ├── references.md Curated bibliography
│ └── mitigation.md Guidance for users, ISPs, and vendors
└── poc/
├── python/ pure-Python implementation, no dependencies
├── go/ standalone Go binary
├── javascript/ browser-friendly JS / Node.js
└── c/ portable single-file ANSI C (compiles anywhere)
# Python
python3 poc/python/fh-poc.py fh_a1f9d1
# wlan5e062e
# Go
cd poc/go && go run fh-poc.go fh_a1f9d1
# wlan5e062e
# JavaScript (Node)
node poc/javascript/fh-poc.js fh_a1f9d1
# wlan5e062e
# C
cc poc/c/fh-poc.c -o fh-poc && ./fh-poc fh_a1f9d1
# wlan5e062e
Tutte e quattro le implementazioni sono scritte in modo indipendente, senza dipendenze e producono output identico. Usa quella che meglio si adatta al tuo ambiente.
| Campo | Valore |
|---|---|
| Produttore | FiberHome (Wuhan FiberHome International Technologies) |
| Modello | HG6145F1 |
| Firmware | RP4423 |
| Tipo di dispositivo | GPON ONT, Wi-Fi 6 (802.11ax), dual-band 2.4/5 GHz |
| Standard | ITU-T G.984 Class B+, IEEE 802.11 a/b/g/n/ac/ax |
La vulnerabilità è attualmente divulgata solo per il firmware HG6145F1 RP4423. La verifica su tutta la famiglia di modelli HG6145 / HG6243 / HG6821 è una questione di ricerca aperta. Vedi docs/affected-deployments.md.
Per gli utenti finali di un HG6145F1:
Vedi docs/mitigation.md per indicazioni specifiche per ISP e fornitori.
Questo repository è pubblicato solo a fini educativi e di ricerca sulla sicurezza difensiva. La vulnerabilità documentata qui è divulgata pubblicamente con CVE-2025-63353 e ha ricevuto una valutazione di gravità critica da CISA-ADP.
L'uso del codice in questo repository contro reti di cui non si è proprietari o per le quali non si ha esplicita autorizzazione scritta per testare è illegale nella maggior parte delle giurisdizioni, inclusa la legge marocchina 07-03 sulla criminalità informatica, i quadri normativi dell'UE sull'abuso informatico, il Computer Fraud and Abuse Act degli Stati Uniti e la legislazione equivalente in altri paesi. Gli autori non si assumono alcuna responsabilità per l'uso non autorizzato di questo materiale.
Una bibliografia completa delle fonti primarie, delle vulnerabilità correlate e della letteratura accademica è mantenuta in docs/references.md.
Risultati di test verificati su modelli FiberHome aggiuntivi, versioni firmware o varianti personalizzate dall'ISP sono ben accetti tramite pull request a docs/affected-deployments.md. Si prega di includere la versione del firmware, il prefisso SSID dell'etichetta del dispositivo e il metodo di verifica.
Ayman Wadi — Ingegnere della Sicurezza