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-2025-32433 — test | Kitploit
Strumenti/GitHubGitHub/iteride/cve-2025-32433
Analisi delle VulnerabilitàExploitSicurezza SCADA/ICSCTFPenetration TestingCommand and ControlApprendimento e FormazioneStrumento di Accesso RemotoLab e Pratica
GitHubiteride/cve-2025-32433

CVE-2025-32433

test

11511 mesi faNon ancora revisionato
Vedi Repository

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-2025-32433

Introduzione

In questo documento viene presentata un'analisi della vulnerabilità CVE-2025-32433, che interessa l'implementazione del server SSH integrato nella piattaforma Erlang/OTP.
Questa vulnerabilità consente l'esecuzione remota di codice arbitrario (Remote Code Execution, RCE) senza necessità di autenticazione e interessa diverse versioni di Erlang/OTP precedenti ai fix:

  • versioni 27 fino a 27.3.3
  • versioni 26 fino a 26.2.5.11
  • versioni 25 fino a 25.3.2.20

Erlang/OTP è ampiamente utilizzato come base per sistemi distribuiti scalabili e fa parte dello stack di molti progetti noti (ad esempio, messaggerie, broker di messaggi, servizi web ad alto carico).
La presenza di una vulnerabilità RCE critica nella libreria SSH di base mette a rischio le infrastrutture che utilizzano Erlang/OTP come server o componente con accesso SSH aperto.

Scopo del rapporto

Analizzare passo dopo passo la vulnerabilità e dimostrare l'intero ciclo di ricerca:

  1. Raccolta e strutturazione dei materiali:
    Trovare e sistematizzare i dati pubblicamente disponibili su CVE-2025-32433, descrivere la sostanza e il possibile impatto.

  2. Identificazione CPE e condizioni di configurazione:
    Elencare i CPE e le condizioni di configurazione per cui la vulnerabilità è attuale.

  3. Sviluppo di PoC/Exploit:
    Creare e dimostrare un prototipo funzionante di sfruttamento in un ambiente di test.

  4. Metodologie di verifica sicura di massa:
    Descrivere tre modi per verificare gli host vulnerabili:

    • tramite nuclei in modalità attiva (danno minimo durante lo sfruttamento);
    • tramite nuclei in modalità passiva (basata su versioni del software o indizi indiretti);
    • tramite uno script personalizzato in Python 3 (o Go) con supporto multithreading.

⚠️ Disclaimer

Questa ricerca viene condotta esclusivamente a scopo educativo ed etico ed eseguita solo in un ambiente di test controllato.
L'autore non si assume alcuna responsabilità per qualsiasi uso improprio delle informazioni presentate.
Utilizza queste informazioni solo per apprendere e migliorare la sicurezza dei tuoi sistemi.


Dettagli della vulnerabilità

Erlang è un linguaggio di programmazione creato per costruire sistemi altamente concorrenti e tolleranti ai guasti.
La sua piattaforma Open Telecom Platform (OTP) è stata utilizzata per molti anni in infrastrutture critiche, dalle telecomunicazioni al settore finanziario.

Erlang/OTP nell'industria

Negli ambienti OT (tecnologie operative) e nelle reti 5G, Erlang/OTP è apprezzato per la scalabilità e la capacità di garantire un funzionamento continuo dei sistemi con tempi di inattività minimi.
Per l'amministrazione remota, tali reti utilizzano spesso l'implementazione SSH integrata in Erlang/OTP.
È proprio questo che rende la vulnerabilità CVE-2025-32433 particolarmente pericolosa per tali ambienti.

Il problema

L'interazione sicura in Erlang/OTP è garantita dalla propria implementazione SSH, che:

  • gestisce connessioni crittografate,
  • trasferimento di file,
  • e – cosa importante – l'esecuzione di comandi.

La vulnerabilità in questa implementazione consente a un attaccante con accesso di rete di eseguire codice arbitrario senza autenticazione, creando una minaccia diretta per gli asset vulnerabili.

Scala della diffusione

Secondo i dati di scansione globale di Internet (Cortex Xpanse, aprile 2025), i servizi SSH Erlang/OTP vulnerabili sono ampiamente disponibili su Internet e non operano solo sulle porte standard, ma anche, ad esempio, sulla porta TCP 2222.
Questa porta è spesso utilizzata da componenti obsoleti di automazione industriale e dal protocollo di trasmissione implicita di messaggi Ethernet/IP, ampliando così il possibile vettore d'attacco.

La vulnerabilità è legata alle versioni SSH incluse nei rilasci di Erlang/OTP.
La diffusione di servizi vulnerabili su porte caratteristiche di vari settori crea una superficie d'attacco globale significativa.

Settori più colpiti

La telemetria ha mostrato che oltre 85% dei tentativi di sfruttamento sono stati registrati sui firewall del segmento OT nei seguenti ambiti:

  • Sanità
  • Agricoltura
  • Media e intrattenimento
  • Alta tecnologia

Allo stesso tempo, nonostante l'elevata dipendenza da OT, nei settori:

  • servizi pubblici,
  • energia,
  • industria mineraria,
  • aerospaziale e difesa

non sono stati individuati fattori che favorissero la diffusione attiva di questa specifica minaccia.

Particolarità per settore

  • Nei settori dei servizi professionali e legali, gli allarmi sono stati registrati prevalentemente nelle reti IT.
  • Nei settori manifatturiero, commercio all'ingrosso e al dettaglio, e servizi finanziari, gli attacchi erano distribuiti approssimativamente equamente tra segmenti IT e OT, richiedendo una protezione completa.

Stato della vulnerabilità

  • Livello di gravità: punteggio CVSS 3.1 10,0 (critico) secondo i criteri di Offsec e Tenable. Complessità di sfruttamento bassa, non richiede credenziali né interazione con l'utente.
  • Elenco KEV: aggiunto al catalogo delle vulnerabilità note sfruttate (KEV) della CISA il 9 giugno 2025, sottolineando l'urgenza della correzione.

Prodotti interessati e condizioni di configurazione

Identificatori CPE

CVE-2025-32433 è registrata nel database NVD con i seguenti CPE tipici (Common Platform Enumeration):

  • cpe:2.3:a:erlang:otp:25:*:*:*:*:*:*:*
  • cpe:2.3:a:erlang:otp:26:*:*:*:*:*:*:*
  • cpe:2.3:a:erlang:otp:27:*:*:*:*:*:*:*

Sono considerate vulnerabili le versioni minori successive alle seguenti versioni patch:

  • 25.x – fino a 25.3.2.20 inclusa
  • 26.x – fino a 26.2.5.11 inclusa
  • 27.x – fino a 27.3.3 inclusa

Condizioni in cui la vulnerabilità si manifesta

  • Sull'host deve essere in esecuzione il demone SSH integrato di Erlang/OTP (ssh:daemon/2), non un demone openssh esterno.
  • La porta SSH (standard 22 o personalizzata, ad esempio 2222) deve essere accessibile per connessioni remote dalla rete dell'attaccante.
  • A livello di configurazione non sono richiesti flag speciali: la vulnerabilità è legata alla logica del protocollo nel codice Erlang/OTP, non a opzioni specifiche di ssh:daemon/2.
  • L'autenticazione può essere di qualsiasi tipo (password, chiavi, ecc.) – il bug viene sfruttato prima della fase di autenticazione.

⚠️ Se Erlang/OTP viene utilizzato solo come libreria client senza che sia attivo un server SSH, o se il server è chiuso in una rete isolata, la vulnerabilità non è sfruttabile.


Panoramica tecnica

La vulnerabilità è causata dal fatto che il server SSH integrato in Erlang/OTP gestisce in modo errato il processo di pre-autenticazione.
Un ruolo chiave è giocato da due tipi di messaggi del protocollo di connessione – SSH_MSG_CHANNEL_OPEN e SSH_MSG_CHANNEL_REQUEST.
Secondo lo standard RFC 4254, tali messaggi dovrebbero essere accettati solo dopo un'autenticazione riuscita dell'utente.
Qualsiasi tentativo di inviarli prima dovrebbe portare immediatamente alla chiusura della connessione.
Nel caso di CVE-2025-32433, il demone SSH non fa rispettare questa regola, consentendo a un attaccante di aprire un canale di sessione e inviare una richiesta exec con un comando arbitrario senza fornire credenziali valide.
In altre parole, ciò porta a un'esecuzione remota di codice non autenticata (RCE) – l'attaccante può prendere il controllo del server senza conoscere né nome utente, né password, né chiave.

diagram-placeholder-1

Il protocollo SSH Connection opera sopra i livelli di trasporto e autenticazione di SSH.
Fornisce funzioni di login interattivo, esecuzione remota di comandi e inoltro di porte.
Nell'implementazione SSH vulnerabile in Erlang/OTP, proprio questi due messaggi – SSH_MSG_CHANNEL_OPEN e SSH_MSG_CHANNEL_REQUEST, necessari per avviare un canale e richiedere comandi – diventano il punto d'attacco:
l'attaccante può inviare traffico appositamente formato che inganna il sistema facendogli eseguire codice arbitrario prima del completamento dell'autenticazione.

diagram-placeholder-2


PoC / Exploit

Nell'ambito della ricerca è stato preparato un Proof-of-Concept funzionante per CVE-2025-32433.

Elenco dei file

  • CVE-2025-32433.py – Script Python che costruisce manualmente i pacchetti SSH (SSH_MSG_KEXINIT, SSH_MSG_CHANNEL_OPEN, SSH_MSG_CHANNEL_REQUEST) e li invia prima del completamento dell'autenticazione.
    Ciò consente, nelle versioni vulnerabili di Erlang/OTP, di eseguire un comando arbitrario sul lato server – nel PoC crea il file /lab.txt con il testo cyberok.

  • ssh_server.erl – Modulo Erlang minimale che avvia il demone SSH integrato OTP sulla porta 2222. Serve solo a scopo dimostrativo e viene eseguito all'interno di un contenitore Docker.

  • Dockerfile – Ricetta per la creazione del contenitore, in cui viene automaticamente compilata la versione specificata di Erlang/OTP e avviato il server SSH di test.

⚠️ Questo PoC è destinato esclusivamente a test locali e scopi educativi. Non utilizzarlo in reti produttive o pubbliche.


Test locale in Docker

  1. Costruisci l'immagine: git clone https://github.com/iteride/CVE-2025-32433.git && cd CVE-2025-32433/POC/ && docker build -t cve-ssh . docker

  2. Avvia l'immagine

    root@kitploit:~
    docker run -d --name cve-ssh -p 2222:2222 cve-ssh
    
    
  3. Dimostrazione del PoC poc


Modello nuclei per verifica rapida

Verifica passiva

Il modello passivo cerca indizi indiretti della vulnerabilità, senza eseguire azioni offensive reali.
Analizza solo le informazioni "superficiali" che il servizio espone:

  • banner della versione Erlang/OTP,
  • intestazioni di risposta,
  • altri metadati aperti.

Se viene rilevata una versione vulnerabile (ad esempio OTP 25.3.2.19 o 26.2.5.10), nuclei segnala l'host come potenzialmente vulnerabile.
⚠️ Questo approccio è sicuro: non vengono inviati pacchetti dannosi o tentativi di sfruttamento.

root@kitploit:~
nuclei -u 127.0.0.1:2222 -t erlang-passive.yaml

nuclei-passive


Verifica attiva

Il modello attivo esegue una simulazione controllata dell'attacco:
invia pacchetti SSH appositamente formati prima dell'autenticazione e verifica se la vulnerabilità si attiva.
Per rilevare lo sfruttamento viene utilizzato Interactsh – se il server remoto ha eseguito la richiesta malevola, nel pannello Interactsh apparirà un DNS-callback.

✅ Questo test conferma la reale possibilità di esecuzione remota di codice (RCE),
ma viene condotto solo in un ambiente di test isolato.

root@kitploit:~
nuclei -u 127.0.0.1:2222 -t erlang-active.yaml -code

nuclei-passive

Script multithread ⚡️

Differenze rispetto al modello nuclei:

  1. Lo script funziona come il modello attivo di nuclei, ma molto più velocemente.
  2. Lo script determina con maggiore precisione se il server è vulnerabile, a differenza di nuclei, che ha problemi con l'analisi di interactsh.

Esecuzione dello script

⚠️ Prima di eseguire, assicurati che interactsh-client sia installato e in esecuzione.

root@kitploit:~
python3  babyfon.py -f targets.txt -d your.interactsh_domain

babyfon

Dopo l'esecuzione, controlla le interazioni DNS in interactsh-client. (Nell'esempio vengono scansionati due target: uno vulnerabile, l'altro già patchato)

interactsh

Confronto di velocità e precisione con nuclei ℹ️

  1. Nuclei:

nuclei_bad

  1. babyfon

babyfon

Conclusioni dai test:

  • La scansione con babyfon è stata completata in 0.95 secondi e ha inoltre determinato correttamente che uno degli host era già stato aggiornato e non era vulnerabile.
  • La scansione con nuclei è stata completata in 9.9 secondi e ha erroneamente mostrato che entrambi gli host erano vulnerabili.
Scarica lo strumento