Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2025-32433 — prueba | Kitploit
Herramientas/GitHubGitHub/iteride/cve-2025-32433
Análisis de VulnerabilidadesExplotaciónSeguridad SCADA/ICSCTFPruebas de PenetraciónComando y ControlAprendizaje y EducaciónHerramienta de Acceso RemotoLabs y Práctica
GitHubiteride/cve-2025-32433

CVE-2025-32433

prueba

1hace 11 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio

CVE-2025-32433

Introducción

En este documento se presenta una investigación de la vulnerabilidad CVE-2025-32433, que afecta a la implementación del servidor SSH integrado en la plataforma Erlang/OTP.
Esta vulnerabilidad consiste en la posibilidad de ejecución remota de código arbitrario (Remote Code Execution, RCE) sin necesidad de autenticación y afecta a varias ramas de Erlang/OTP hasta la publicación de los parches:

  • versiones 27 hasta 27.3.3
  • versiones 26 hasta 26.2.5.11
  • versiones 25 hasta 25.3.2.20

Erlang/OTP se utiliza ampliamente como base para sistemas distribuidos escalables y forma parte del stack de muchos proyectos conocidos (por ejemplo, mensajeros, brokers de mensajes, servicios web de alta carga).
La presencia de una vulnerabilidad RCE crítica en la biblioteca base de SSH pone en riesgo a la infraestructura que utiliza Erlang/OTP como servidor o como componente con acceso SSH abierto.

Objetivo del informe

Examinar paso a paso la vulnerabilidad y demostrar el ciclo completo de investigación:

  1. Recopilación y estructuración de materiales:
    Encontrar y sistematizar los datos disponibles públicamente sobre CVE-2025-32433, describir la esencia y el posible impacto.

  2. Determinación de CPE y condiciones de configuración:
    Proporcionar una lista de CPE y condiciones de configuración para las que la vulnerabilidad es relevante.

  3. Desarrollo de PoC/Exploit:
    Crear y demostrar un prototipo funcional de explotación en un entorno de pruebas.

  4. Metodologías de verificación masiva segura:
    Describir tres formas de comprobar los hosts vulnerables:

    • mediante nuclei en modo activo (daño mínimo durante la explotación);
    • mediante nuclei en modo pasivo (por versiones de software o indicios indirectos);
    • mediante un script propio en Python 3 (o Go) con soporte de multihilo.

⚠️ Descargo de responsabilidad

Esta investigación se lleva a cabo exclusivamente con fines educativos y éticos y se ha realizado únicamente en un entorno de pruebas controlado.
El autor no se hace responsable de cualquier uso indebido de la información presentada.
Utilice esta información solo para aprender y mejorar el nivel de seguridad de sus sistemas.


Detalles de la vulnerabilidad

Erlang es un lenguaje de programación creado para construir sistemas altamente paralelos y tolerantes a fallos.
Su plataforma Open Telecom Platform (OTP) se ha utilizado durante muchos años en infraestructuras críticas, desde las telecomunicaciones hasta el sector financiero.

Erlang/OTP en la industria

En entornos OT (tecnologías operativas) y en redes 5G, Erlang/OTP se valora por su escalabilidad y su capacidad para garantizar el funcionamiento continuo de los sistemas con un tiempo de inactividad mínimo.
Para la administración remota, estas redes suelen utilizar la implementación integrada de SSH en Erlang/OTP.
Precisamente esto hace que la vulnerabilidad CVE-2025-32433 sea especialmente peligrosa para dichos entornos.

Esencia del problema

La interacción segura en Erlang/OTP está garantizada por su propia implementación de SSH, que:

  • gestiona las conexiones cifradas,
  • la transferencia de archivos,
  • y también — lo que es importante — la ejecución de comandos.

La vulnerabilidad en esta implementación permite a un atacante con acceso a la red ejecutar código arbitrario sin autenticación, lo que supone una amenaza directa para los activos vulnerables.

Alcance de la distribución

Según el escaneo global de Internet (Cortex Xpanse, abril de 2025), los servicios SSH de Erlang/OTP vulnerables están ampliamente disponibles en Internet y no solo se ejecutan en los puertos estándar, sino también, por ejemplo, en el puerto TCP 2222.
Este puerto es utilizado a menudo por componentes obsoletos de automatización industrial y por el protocolo de mensajería implícita Ethernet/IP, lo que amplía el posible vector de ataque.

La vulnerabilidad está relacionada con las versiones de SSH incluidas en los lanzamientos de Erlang/OTP.
La propagación de servicios vulnerables en puertos característicos de diversos sectores conforma una superficie de ataque global significativa.

Sectores más afectados

La telemetría mostró que más del 85 % de los intentos de explotación se registraron en los cortafuegos del segmento OT de los siguientes sectores:

  • Sanidad
  • Agricultura
  • Medios de comunicación y entretenimiento
  • Alta tecnología

Al mismo tiempo, a pesar de la alta dependencia de OT, en los sectores:

  • servicios públicos,
  • energía,
  • minería,
  • industria aeroespacial y de defensa

no se identificaron factores que favorecieran la propagación activa de esta amenaza en particular.

Particularidades por sectores

  • En los ámbitos de servicios profesionales y jurídicos, las detecciones se registraron principalmente en redes de TI.
  • En los sectores de fabricación, comercio mayorista y minorista, así como servicios financieros, los ataques se distribuyeron aproximadamente a partes iguales entre los segmentos de TI y OT, lo que exige una protección integral.

Estado de la vulnerabilidad

  • Nivel de gravedad: puntuación CVSS 3.1 de 10,0 (crítico) según los criterios de Offsec y Tenable. La complejidad de explotación es baja, no requiere credenciales ni interacción con el usuario.
  • Lista KEV: añadida al catálogo de vulnerabilidades explotadas conocidas (KEV) de CISA el 9 de junio de 2025, lo que subraya la necesidad de una corrección urgente.

Productos afectados y condiciones de configuración

Identificadores CPE

CVE-2025-32433 está registrada en la base de datos NVD con los siguientes CPE típicos (Common Platform Enumeration):

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

Se consideran vulnerables las versiones menores anteriores a las siguientes versiones de parche:

  • 25.x — hasta 25.3.2.20 inclusive
  • 26.x — hasta 26.2.5.11 inclusive
  • 27.x — hasta 27.3.3 inclusive

Condiciones en las que se manifiesta la vulnerabilidad

  • En el host debe estar ejecutándose el demonio SSH integrado de Erlang/OTP (ssh:daemon/2), no un openssh externo.
  • El puerto SSH (el estándar 22 o uno personalizado, por ejemplo 2222) debe ser accesible para conexiones remotas desde la red del atacante.
  • A nivel de configuración no se requieren flags especiales — la vulnerabilidad está relacionada con la lógica del protocolo en el código de Erlang/OTP, no con opciones concretas de ssh:daemon/2.
  • La autenticación puede ser cualquiera (por contraseña, por claves, etc.) — el fallo se explota antes de la fase de autenticación.

⚠️ Si Erlang/OTP se utiliza solo como biblioteca cliente sin un servidor SSH activo, o si el servidor está cerrado en una red aislada, la vulnerabilidad no es explotable.


Descripción técnica

La vulnerabilidad se debe a que el servidor SSH integrado de Erlang/OTP procesa incorrectamente el proceso de preautenticación.
Dos tipos de mensajes del protocolo de conexión desempeñan un papel clave: SSH_MSG_CHANNEL_OPEN y SSH_MSG_CHANNEL_REQUEST.
Según el estándar RFC 4254, estos mensajes deben aceptarse solo después de la autenticación exitosa del usuario.
Cualquier intento de enviarlos antes debe provocar inmediatamente el cierre de la conexión.
En el caso de CVE-2025-32433, el demonio SSH no garantiza el cumplimiento de esta regla, lo que permite a un atacante abrir un canal de sesión y enviar una solicitud exec con un comando arbitrario sin proporcionar credenciales válidas.
En otras palabras, esto conduce a una ejecución remota de código no autenticada (RCE): el atacante puede tomar el control del servidor sin conocer ni el nombre de usuario, ni la contraseña, ni la clave.

diagram-placeholder-1

El protocolo SSH Connection funciona sobre los niveles de transporte y autenticación de SSH.
Proporciona funciones de inicio de sesión interactivo, ejecución remota de comandos y reenvío de puertos.
En la implementación vulnerable de SSH en Erlang/OTP, precisamente estos dos mensajes — SSH_MSG_CHANNEL_OPEN y SSH_MSG_CHANNEL_REQUEST, necesarios para iniciar el canal y solicitar comandos— se convierten en el punto de ataque:
el atacante puede enviar tráfico especialmente diseñado que engaña al sistema para que ejecute código arbitrario antes de pasar la autenticación.

diagram-placeholder-2


PoC / Exploit

En el marco de la investigación se ha preparado un Proof-of-Concept funcional para CVE-2025-32433.

Archivos incluidos

  • CVE-2025-32433.py — script de Python que forma manualmente paquetes SSH (SSH_MSG_KEXINIT, SSH_MSG_CHANNEL_OPEN, SSH_MSG_CHANNEL_REQUEST) y los envía antes de pasar la autenticación.
    Esto permite ejecutar un comando arbitrario en el lado del servidor en las versiones vulnerables de Erlang/OTP: en el PoC se crea el archivo /lab.txt con el texto cyberok.

  • ssh_server.erl — módulo mínimo de Erlang que levanta el demonio SSH integrado de OTP en el puerto 2222. Solo es necesario para la demostración y se ejecuta dentro de un contenedor Docker.

  • Dockerfile — receta de construcción del contenedor, en la que se compila automáticamente la versión indicada de Erlang/OTP y se inicia el servidor SSH de prueba.

⚠️ Este PoC está pensado exclusivamente para pruebas locales y fines educativos. No utilizarlo en redes productivas o públicas.


Pruebas locales en Docker

  1. Construya la imagen: git clone https://github.com/iteride/CVE-2025-32433.git && cd CVE-2025-32433/POC/ && docker build -t cve-ssh . docker

  2. Ejecute la imagen

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


nuclei-template para una verificación rápida

Verificación pasiva

La plantilla pasiva busca indicios indirectos de vulnerabilidad sin realizar acciones de ataque reales.
Solo analiza la información «superficial» que el propio servicio expone:

  • banner de la versión de Erlang/OTP,
  • cabeceras de respuesta,
  • otros metadatos abiertos.

Si se detecta una versión vulnerable (por ejemplo, OTP 25.3.2.19 o 26.2.5.10), nuclei marca el host como potencialmente vulnerable.
⚠️ Este enfoque es seguro: no se envían paquetes maliciosos ni se realizan intentos de explotación.

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

nuclei-passive


Verificación activa

La plantilla activa realiza una simulación controlada del ataque:
envía paquetes SSH especialmente formados antes de la autenticación y comprueba si la vulnerabilidad se activa.
Para registrar el hecho de la explotación se utiliza Interactsh: si el servidor remoto ha ejecutado la solicitud maliciosa, aparecerá un DNS-callback en el panel de Interactsh.

✅ Esta prueba confirma la posibilidad real de ejecución remota de código (RCE),
pero solo se lleva a cabo en un entorno de pruebas aislado.

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

nuclei-passive

Script multihilo ⚡️

Diferencias respecto a nuclei-template:

  1. El script funciona igual que la plantilla activa de nuclei, solo que mucho más rápido.
  2. El script determina con mucha más precisión si el servidor es vulnerable, a diferencia de nuclei, que tiene problemas con el análisis de interactsh.

Ejecución del script

⚠️ Antes de ejecutarlo, asegúrese de que interactsh-client esté instalado y en ejecución

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

babyfon

Después de la ejecución, comprobamos las interacciones DNS en interactsh-client. (En el ejemplo se escanean dos objetivos: uno es vulnerable y el otro ya está parcheado)

interactsh

Comparación de velocidad y precisión de los resultados con nuclei ℹ️

  1. Nuclei:

nuclei_bad

  1. babyfon

babyfon

Conclusión de las pruebas:

  • El escaneo con babyfon se completó en 0.95 segundos y además determinó correctamente que uno de los hosts ya está actualizado y no es vulnerable.
  • El escaneo con nuclei se completó en 9.9 segundos y mostró erróneamente que ambos hosts son vulnerables.
Descargar herramienta