
Framework multi-exploit para SonicWall SMA1000 que encadena SSRF (CVE-2026-15409) para lograr RCE de Erlang y escalada de privilegios a root (CVE-2026-15410). Incluye shell interactiva, escaneo por lotes, operaciones de archivos y modo de detección seguro para pruebas de penetración autorizadas.

Framework de Exploit y Herramienta de Detección Segura
Solo para pruebas de seguridad autorizadas.
Esta herramienta se proporciona únicamente con fines educativos y de pruebas de penetración autorizadas.
Los autores y colaboradores no son responsables del mal uso o los daños causados por este software. Los usuarios son los únicos responsables de asegurarse de contar con un permiso por escrito explícito del propietario del objetivo antes de realizar las pruebas. El acceso no autorizado a sistemas informáticos es ilegal según la Computer Fraud and Abuse Act (CFAA) y leyes similares en todo el mundo.
Al utilizar este software, usted acepta:
⚠️ ADVERTENCIA: Esta vulnerabilidad está siendo explotada activamente en el mundo real. El uso no autorizado puede acarrear graves consecuencias legales.
CVE-2026-15409 es una vulnerabilidad crítica de Server-Side Request Forgery (SSRF) sin autenticación descubierta en la interfaz Appliance Work Place de SonicWall SMA1000.
Cómo funciona:
wsproxy.os:cmd/1.Datos clave:
exploit.py)El exploit totalmente armado encadena CVE-2026-15409 y CVE-2026-15410 para lograr un compromiso a nivel de root.
pip (para la biblioteca requests)pip install -r requirements.txt
# Interactive shell on target
python exploit.py -u 192.168.1.100
# Execute a single command
python exploit.py -u 192.168.1.100 --exec "id && whoami"
# Read a file
python exploit.py -u 192.168.1.100 --read-file /etc/passwd
# Enable SSRF detection before exploitation
python exploit.py -u 192.168.1.100 --detect
# Attempt root privesc
python exploit.py -u 192.168.1.100 --privesc
# Mass exploit from file (50 threads)
python exploit.py -l targets.txt -m 50 --exec "uname -a"
# Custom port and path
python exploit.py -u 10.0.0.5 -p 8443 --path /workplace
# Pipe mode (read command from stdin)
echo "cat /etc/hosts" | python exploit.py -u 192.168.1.100
# Single target scan
python checker.py https://192.168.1.100
# Custom port and path
python checker.py 192.168.1.100 --port 8443 --path /workplace
# Mass scan from file
python checker.py --list targets.txt
⚠️ Importante: Estas vulnerabilidades no afectan a los firewalls de SonicWall (SSL-VPN) ni a la serie SMA 100.
El endpoint wsproxy en el puerto 443 acepta un parámetro bmID que comienza con -3389 y una especificación host:port. Al apuntar host=127.0.0.1 y port=1050, los atacantes pueden realizar un túnel hacia el servicio interno de distribución de Erlang.
El nodo de Erlang utiliza una cookie predeterminada hardcodeada: 10ecad5b446e86864832904cd439b6b70262. Esto permite la autenticación remota y la ejecución de cualquier llamada os:cmd/1.
Una vez autenticado, el exploit escribe un script de shell en /var/tmp/ y activa el endpoint XML-RPC remove_hotfix de la AMC con un path traversal (../../../../var/tmp/script.sh), ejecutando el script como root.
SonicWall recomienda comprobar:
extraweb_access.log en busca de /__api__/login o /__api__/logout (estado 200)extraweb_access.log en busca de /wsproxy con parámetros host sospechosos (estado 101)ctrl-service.log en busca de reversiones de hotfix con path traversal/var/lib/unit/conf.json que contenga rutas para /__api__/login o /__api__/logout| Característica | Descripción |
|---|
| 🚀 SSRF → Erlang RPC | Realiza automáticamente un túnel a través de wsproxy para alcanzar los nodos internos de Erlang. |
| 💻 Ejecución Remota de Código | Ejecuta comandos arbitrarios del sistema operativo mediante os:cmd/1. |
| 🔐 Shell Interactiva | Genera una shell en vivo con soporte para los comandos privesc y download. |
| 👑 Escalada a Root | Aprovecha CVE-2026-15410 para escalar a root mediante path traversal en AMC. |
| 📁 Operaciones con Archivos | Lee y escribe archivos en el sistema objetivo. |
| 🌐 Escaneo por Lotes | Explota múltiples objetivos de forma masiva con hilos (flag -l). |
| 🎯 Detección de SSRF | Flag opcional --detect para verificación segura de la vulnerabilidad. |
| ⚙️ Personalizable | Sobrescribe la URL de WebSocket, Origin, User-Agent, Cookie y más. |
| 🧩 Sin Dependencias Adicionales | Utiliza únicamente la biblioteca estándar de Python (excepto requests opcional para la detección). |
| 🔌 Implementación WebSocket Manual | Sin bibliotecas WebSocket externas — un handshake personalizado a nivel de socket evita las firmas específicas de bibliotecas para una mejor OPSEC. |
| Producto | Versiones Vulnerables | Versiones Corregidas |
|---|
| SMA 6210 | 12.4.3-03245, 12.4.3-03387, 12.4.3-03434 12.5.0-02283, 12.5.0-02624, 12.5.0-02800 | 12.4.3-03453+ 12.5.0-02835+ |
| SMA 7210 | Igual que el anterior | Igual que el anterior |
| SMA 8200v | Igual que el anterior | Igual que el anterior |