Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-15409 — Preuve de concept d'exploitation pour CVE-2026-15409 (RCE sur SonicWall SMA 1000) via la distribution Erlang sur WebSocket. Permet une exécution de code à distance non authentifiée en tant qu'utilisateur couchdb. | Kitploit
Outils/GitHubGitHub/ch4120n/cve-2026-15409
Analyse des VulnérabilitésExploitationExploitation d'Applications WebExfiltration de DonnéesPost-ExploitationTests d'IntrusionRed Teaming
GitHubch4120n/cve-2026-15409

CVE-2026-15409

Preuve de concept d'exploitation pour CVE-2026-15409 (RCE sur SonicWall SMA 1000) via la distribution Erlang sur WebSocket. Permet une exécution de code à distance non authentifiée en tant qu'utilisateur couchdb.

Voir le dépôt
13il y a 1 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

🚀 CVE-2026-15409 – RCE Erlang sur SonicWall SMA 1000 via proxy WebSocket

Python Exploit CVE

GitHub stars GitHub issues License

Exploit de preuve de concept pour CVE-2026-15409 – exécution de code à distance sans authentification sur les appliances de la série SonicWall SMA 1000 via le protocole de distribution Erlang tunnelisé sur WebSocket.


📖 Vue d'ensemble

CVE-2026-15409 est une vulnérabilité critique affectant les appliances SonicWall SMA 1000 (versions antérieures au correctif de juin 2026). La faille réside dans le service (généralement exposé sur le port 443) qui relaie les connexions WebSocket vers des nœuds Erlang internes. En forgeant un paramètre valide et en utilisant un cookie Erlang codé en dur, un attaquant peut établir un canal de distribution authentifié et exécuter des commandes système arbitraires sous l'utilisateur (ou d'autres comptes à privilèges faibles) via des appels RPC à .

WorkPlace
bmID
couchdb
os:cmd/1

Ce dépôt fournit un PoC entièrement fonctionnel qui automatise toute la chaîne d'exploitation – de la poignée de main WebSocket à l'exécution de commandes arbitraires – avec une interface propre, une gestion avancée des erreurs et une journalisation soignée.

🔍 Fonctionnalités clés

  • Tunnel WebSocket – fonctionne directement sur wss:// via le point de terminaison wsproxy.
  • Protocole de distribution Erlang – implémente entièrement la poignée de main et l'ETF (Erlang External Term Format).
  • Exécution de code à distance – via os:cmd/1 ; peut lire des fichiers via file:read_file/1 ou tester la connectivité avec erlang:node/0.
  • Détection intelligente – prend en charge des valeurs bmID arbitraires (tant qu'elles commencent par -3389) et plusieurs valeurs serviceType.
  • Journalisation complète – messages codés par couleur avec les symboles [+], [*], [-], [!] pour un suivi facile.

🧬 Détails de la vulnérabilité

La vulnérabilité provient des faiblesses de conception suivantes dans le SMA 1000 :

  1. Proxy WebSocket sans restriction – le point de terminaison /wsproxy transmet des messages WebSocket binaires à un port de distribution Erlang local (localhost:1050 par défaut) sans authentification ni autorisation appropriées.
  2. Cookie Erlang prévisible/codé en dur – le cookie utilisé pour l'authentification de distribution est statique sur toutes les appliances SMA (du moins dans la version testée). Cela permet à un attaquant externe de mener à bien la poignée de main.
  3. Nœud Erlang exposé – le nœud Erlang [email protected] écoute sur 1050 et accepte les connexions du proxy WebSocket, ce qui le rend accessible depuis le réseau.
  4. Interface RPC puissante – le nœud Erlang propose le service standard rex, qui peut exécuter des fonctions arbitraires sur le nœud, notamment os:cmd/1.

Versions affectées

  • Série SonicWall SMA 1000 avec un firmware antérieur au correctif de juin 2026 (par ex., ex_sra_vm_12.5.0-02002.ova).
  • Le service WorkPlace doit être activé (configuration par défaut).

Impact

  • Exécution de code à distance sous l'utilisateur couchdb (UID 1010, groupe daemon).
  • Mouvement latéral – un attaquant peut exploiter CVE-2026-15410 (traversée de chemin XML‑RPC) pour élever ses privilèges jusqu'à root.
  • Exfiltration de données – lecture de fichiers arbitraires via file:read_file/1.
  • Persistance – installation de portes dérobées ou modification de fichiers système.

🔧 Prérequis d'exploitation

  • Accès réseau au service WorkPlace de l'appliance SMA (généralement TCP/443).
  • Aucun identifiant valide requis – l'exploit fonctionne sans authentification.
  • Python 3.8+ avec la bibliothèque websockets (installation via pip install websockets).

🚀 Utilisation

Installation

root@kitploit:~
git clone https://github.com/Ch4120N/CVE-2026-15409.git
cd CVE-2026-15409
pip install -r requirements.txt   # websockets

Commande de base

root@kitploit:~
python3 cve-2026-15409.py \
  --ws-url 'wss://TARGET_IP/wsproxy?bmID=-3389c1b25ccd&serviceType=SSH&host=0.0.0.0&port=1050' \
  --ws-user-agent 'SMA Connect Agent' \
  --ws-insecure-tls \
  --exec 'whoami && id && pwd && hostname'

Exemple de sortie

root@kitploit:~
  ░█▀▀░█░█░█▀▀░░░░░▀▀▄░▄▀▄░▀▀▄░▄▀▀░░░░░▀█░░█▀▀░█░█░▄▀▄░▄▀▄
  ░█░░░▀▄▀░█▀▀░▄▄▄░▄▀░░█/█░▄▀░░█▀▄░▄▄▄░░█░░▀▀▄░░▀█░█/█░░▀█
  ░▀▀▀░░▀░░▀▀▀░░░░░▀▀▀░░▀░░▀▀▀░░▀░░░░░░▀▀▀░▀▀░░░░▀░░▀░░▀▀░
                    [CVE-2026-15409]
         Erlang Distribution RCE via WebSocket Proxy
                     Owner: Ch4120N

[ * ] Connecting via WebSocket to wss://192.168.56.102/wsproxy?bmID=-3389c1b25ccd&serviceType=SSH&host=0.0.0.0&port=1050
[ * ] Preparing RPC: os:cmd('whoami && id && pwd && hostname')
[ + ] Authenticated to [email protected]
[ * ] Calling os:cmd/1 ...
[ + ] RPC call completed
[ * ] Peer name: [email protected]
[ * ] Peer flags: 0xd07df7fbd
[ * ] Peer creation: 1784069352
[ + ] Command output:
couchdb
uid=1010(couchdb) gid=1(daemon) groups=1(daemon)
/opt/couchdb
SMAAppliance.sma

Options avancées

ArgumentDescription
--host, --portRepli TCP (si WebSocket non utilisé)
--cookieRemplacer le cookie codé en dur par défaut
--nameNom de nœud Erlang local personnalisé
--ws-originDéfinir l'en-tête Origin pour WebSocket
--ws-user-agentChaîne User‑Agent (défaut : SMA Connect Agent)
--ws-insecure-tlsDésactiver la vérification TLS (certificats auto-signés)
--read-fileLire un fichier sur la cible (par ex., /etc/passwd)
--rpcTester simplement la connexion en appelant erlang:node/0

🧪 Détails techniques pour la détection et le réglage

Cookie codé en dur

Le cookie Erlang utilisé dans l'exploit est :

root@kitploit:~
10ecad5b446e86864832904cd439b6b70262

Cette valeur est constante sur toutes les appliances SMA testées et est codée en dur dans le processus Erlang sur localhost:1050. Elle n'est pas identique au cookie configuré par l'utilisateur pour le clustering.

Le paramètre bmID

Le bmID doit commencer par -3389 (par ex., -3389c1b25ccd). Toute valeur arbitraire après le préfixe est acceptée, de sorte que la détection basée sur des signatures ne doit pas s'appuyer sur un hash fixe.

Types de service

Bien que l'exemple utilise serviceType=SSH, d'autres valeurs telles que TELNET fonctionnent également. L'exploit est agnostique quant au type de service.

Sélection du port

Le port 1050 est le port interne par défaut, mais des attaques réelles ciblant également le port 8188 ont été observées. L'exploit peut être adapté à tout port exposant le protocole de distribution Erlang.

Élévation de privilèges

Après avoir obtenu un shell sous couchdb, un attaquant peut exploiter CVE-2026-15410 – une traversée de chemin XML‑RPC permettant de supprimer le correctif puis d'élever les privilèges jusqu'à root.


🛡️ Détection & atténuation

Indicateurs de compromission (IoCs)

  • Connexions WebSocket inhabituelles vers /wsproxy avec un bmID commençant par -3389.
  • Connexions sortantes inattendues depuis l'appliance SMA vers des IP externes.
  • Processus lancés par l'utilisateur couchdb (par ex., bash, python, nc).
  • Modification ou création de fichiers dans /var/tmp/ par l'utilisateur couchdb.

Actions recommandées

  1. Appliquer le correctif officiel de SonicWall (correctif de juin 2026) immédiatement.
  2. Restreindre l'accès au service WorkPlace aux plages d'IP de confiance uniquement.
  3. Surveiller les journaux pour détecter une activité WebSocket anormale et des tentatives de distribution Erlang.
  4. Changer le cookie Erlang du nœud Erlang interne (si possible) – bien que cela puisse affecter le fonctionnement de l'application.
  5. Désactiver le service WorkPlace s'il n'est pas requis.

👏 Crédits

  • découverte & PoC : Ch4120N.
  • Recherches supplémentaires : SonicWall PSIRT et l'ensemble de la communauté de la sécurité.

📄 Licence

Ce projet est sous licence MIT – voir le fichier LICENSE pour plus de détails.

Avertissement : cet outil est destiné uniquement à des fins éducatives et de test autorisé. L'auteur et les contributeurs ne sont pas responsables de toute utilisation abusive ou de tout dommage causé par ce logiciel.


📚 Références

  • Avis de sécurité SonicWall (CVE-2026-15409)
  • Entrée NIST NVD – CVE-2026-15409

⭐ Support

Si vous trouvez ce PoC utile, pensez à lui attribuer une ⭐ sur GitHub et à le partager de manière responsable. Les contributions, les signalements de problèmes et les pull requests sont les bienvenus !


Bon hacking ! 🛡️

Télécharger l’outil