Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-15409 — Proof-of-Concept exploit for CVE-2026-15409 (SonicWall SMA 1000 RCE) via Erlang distribution over WebSocket. Achieves unauthenticated remote code execution as couchdb user. | Kitploit
Strumenti/GitHubGitHub/ch4120n/cve-2026-15409
Vulnerability AnalysisExploitationWeb Application ExploitationData ExfiltrationPost-ExploitationPenetration TestingRed Teaming
GitHubch4120n/cve-2026-15409

CVE-2026-15409

Proof-of-Concept exploit for CVE-2026-15409 (SonicWall SMA 1000 RCE) via Erlang distribution over WebSocket. Achieves unauthenticated remote code execution as couchdb user.

Vedi Repository
117 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

🚀 CVE-2026-15409 – RCE Erlang su SonicWall SMA 1000 tramite proxy WebSocket

Python Exploit CVE

GitHub stars GitHub issues License

Exploit Proof‑of‑Concept per CVE-2026-15409 – esecuzione remota di codice non autenticata su appliance della serie SonicWall SMA 1000 tramite il protocollo di distribuzione Erlang tunnellizzato su WebSocket.


📖 Panoramica

CVE-2026-15409 è una vulnerabilità critica che colpisce le appliance SonicWall SMA 1000 (versioni precedenti all'hotfix di giugno 2026). Il difetto risiede nel servizio WorkPlace (solitamente esposto sulla porta 443) che inoltra le connessioni WebSocket ai nodi Erlang interni. Forgiando un parametro bmID valido e utilizzando un cookie Erlang hardcoded, un attaccante può stabilire un canale di distribuzione autenticato ed eseguire comandi di sistema arbitrari come utente couchdb (o altri account con privilegi limitati) tramite chiamate RPC a os:cmd/1.

Questo repository fornisce un PoC completamente funzionante che automatizza l'intera catena di sfruttamento – dall'handshake WebSocket all'esecuzione di comandi arbitrari – con un'interfaccia pulita, una gestione avanzata degli errori e un logging ben strutturato.

🔍 Caratteristiche principali

  • Tunneling WebSocket – funziona direttamente su wss:// utilizzando l'endpoint wsproxy.
  • Protocollo di distribuzione Erlang – implementa completamente l'handshake e l'ETF (Erlang External Term Format).
  • Esecuzione remota di codice – tramite os:cmd/1; può leggere file con file:read_file/1 o testare la connettività con erlang:node/0.
  • Rilevamento intelligente – supporta valori bmID arbitrari (purché inizino con -3389) e molteplici valori serviceType.
  • Logging completo – messaggi con codice colore e simboli [+], [*], [-], [!] per un facile monitoraggio.

🧬 Dettagli della vulnerabilità

La vulnerabilità deriva dai seguenti punti deboli di progettazione nella SMA 1000:

  1. Proxy WebSocket senza restrizioni – L'endpoint /wsproxy inoltra messaggi WebSocket binari a una porta locale di distribuzione Erlang (localhost:1050 di default) senza una corretta autenticazione o autorizzazione.
  2. Cookie Erlang prevedibile/hardcoded – Il cookie utilizzato per l'autenticazione di distribuzione è statico su tutte le appliance SMA (almeno nella versione testata). Ciò consente a un attaccante esterno di completare l'handshake.
  3. Nodo Erlang esposto – Il nodo Erlang [email protected] è in ascolto sulla porta 1050 e accetta connessioni dal proxy WebSocket, rendendolo raggiungibile dalla rete.
  4. Interfaccia RPC potente – Il nodo Erlang offre il servizio standard rex, che può eseguire funzioni arbitrarie sul nodo, inclusa os:cmd/1.

Versioni interessate

  • Serie SonicWall SMA 1000 con firmware precedente all'hotfix di giugno 2026 (ad es., ex_sra_vm_12.5.0-02002.ova).
  • Il servizio WorkPlace deve essere abilitato (configurazione predefinita).

Impatto

  • Esecuzione remota di codice come utente couchdb (UID 1010, gruppo daemon).
  • Movimento laterale – un attaccante può sfruttare CVE-2026-15410 (path traversal XML‑RPC) per elevare i privilegi a root.
  • Esfiltrazione di dati – leggere file arbitrari tramite file:read_file/1.
  • Persistenza – installare backdoor o modificare file di sistema.

🔧 Requisiti per lo sfruttamento

  • Accesso di rete al servizio WorkPlace dell'appliance SMA (solitamente TCP/443).
  • Nessuna credenziale valida richiesta – l'exploit funziona senza autenticazione.
  • Python 3.8+ con la libreria websockets (installazione tramite pip install websockets).

🚀 Utilizzo

Installazione

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

Comando di 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'

Esempio di output

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

Opzioni avanzate


🧪 Dettagli tecnici per rilevamento e ottimizzazione

Cookie hardcoded

Il cookie Erlang utilizzato nell'exploit è:

root@kitploit:~
10ecad5b446e86864832904cd439b6b70262

Questo valore è costante su tutte le appliance SMA testate ed è hardcoded nel processo Erlang su localhost:1050. Non è lo stesso cookie configurato dall'utente per il clustering.

Il parametro bmID

Il bmID deve iniziare con -3389 (ad es., -3389c1b25ccd). I valori arbitrari dopo il prefisso vengono accettati, quindi il rilevamento basato su firma non dovrebbe fare affidamento su un hash fisso.

Tipi di servizio

Sebbene l'esempio utilizzi serviceType=SSH, anche altri valori come TELNET funzionano. L'exploit è agnostico rispetto al tipo di servizio.

Selezione della porta

La porta 1050 è la porta interna predefinita, ma sono stati osservati attacchi reali che prendono di mira anche la porta 8188. L'exploit può essere adattato a qualsiasi porta che esponga il protocollo di distribuzione Erlang.

Escalation dei privilegi

Dopo aver ottenuto una shell come couchdb, un attaccante può sfruttare CVE-2026-15410 – un path traversal XML‑RPC che consente la rimozione dell'hotfix e la successiva escalation dei privilegi a root.


🛡️ Rilevamento e mitigazione

Indicatori di compromissione (IoC)

  • Connessioni WebSocket insolite verso /wsproxy con bmID che inizia con -3389.
  • Connessioni in uscita inaspettate dall'appliance SMA verso IP esterni.
  • Processi avviati dall'utente couchdb (ad es., bash, python, nc).
  • Modifica o creazione di file in /var/tmp/ da parte dell'utente couchdb.

Azioni consigliate

  1. Applicare immediatamente la patch ufficiale di SonicWall (hotfix di giugno 2026).
  2. Limitare l'accesso al servizio WorkPlace solo a intervalli di IP attendibili.
  3. Monitorare i log per attività WebSocket anomale e tentativi di distribuzione Erlang.
  4. Cambiare il cookie Erlang del nodo Erlang interno (se possibile) – sebbene ciò possa influire sulla funzionalità dell'applicazione.
  5. Disabilitare il servizio WorkPlace se non necessario.

👏 Riconoscimenti

  • scoperta & PoC: Ch4120N.
  • Ricerca aggiuntiva: SonicWall PSIRT e la più ampia community della sicurezza.

📄 Licenza

Questo progetto è concesso in licenza MIT – consulta il file LICENSE per i dettagli.

Disclaimer: Questo strumento è destinato esclusivamente a scopi educativi e di test autorizzati. L'autore e i collaboratori non sono responsabili di qualsiasi uso improprio o danno causato da questo software.


📚 Riferimenti

  • Advisory di sicurezza SonicWall (CVE-2026-15409)
  • Voce NIST NVD – CVE-2026-15409

⭐ Supporto

Se trovi utile questo PoC, valuta di lasciare una ⭐ su GitHub e di condividerlo in modo responsabile. Contributi, segnalazioni di problemi e pull request sono i benvenuti!


Buon hacking! 🛡️

Scarica lo strumento
ArgomentoDescrizione
--host, --portFallback TCP (se non si utilizza WebSocket)
--cookieSostituisce il cookie hardcoded predefinito
--nameNome personalizzato del nodo Erlang locale
--ws-originImposta l'header Origin per il WebSocket
--ws-user-agentStringa User‑Agent (default: SMA Connect Agent)
--ws-insecure-tlsDisabilita la verifica TLS (certificati self‑signed)
--read-fileLegge un file dal target (ad es., /etc/passwd)
--rpcTesta solo la connessione chiamando erlang:node/0