¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!
telnetd_CVE-2026-24061_tester — Script de Python para detectar la vulnerabilidad CVE-2026-24061 en telnetd mediante inyección NEW-ENVIRON, que proporciona evaluación de riesgos y orientación de mitigación. | Kitploit
Script de Python para detectar la vulnerabilidad CVE-2026-24061 en telnetd mediante inyección NEW-ENVIRON, que proporciona evaluación de riesgos y orientación de mitigación.
Una herramienta de pruebas de seguridad en Python para detectar vulnerabilidades de inyección de variables de entorno en servidores telnetd mediante la opción telnet NEW-ENVIRON.
Descripción General
Este script prueba servidores telnetd para detectar CVE-2026-24061, una vulnerabilidad que permite a los atacantes inyectar variables de entorno a través de la opción telnet NEW-ENVIRON. Si un servidor maneja incorrectamente estas variables de entorno, puede ser vulnerable a ataques de inyección de comandos o bypass de autenticación.
El script proporciona una salida detallada y codificada por colores con progreso paso a paso, manejo integral de errores y un resumen final que incluye el resultado de la prueba, la evaluación de riesgo y el análisis de impacto.
Detalles de CVE-2026-24061
Resumen de la Vulnerabilidad
CVE-2026-24061 es una vulnerabilidad de seguridad en servidores telnetd que manejan incorrectamente las variables de entorno enviadas a través de la opción telnet NEW-ENVIRON (RFC 1572).
Impacto
Severidad: Alta
Vector de Ataque: Red
Autenticación Requerida: No
Impacto:
Posible inyección de comandos
Bypass de autenticación
Acceso no autorizado al sistema
Detalles Técnicos
La vulnerabilidad ocurre cuando los servidores telnetd:
Aceptan la opción telnet NEW-ENVIRON
Procesan variables de entorno enviadas vía NEW-ENVIRON sin validación adecuada
Utilizan estas variables de entorno de formas inseguras (por ejemplo, pasándolas directamente a procesos de login)
La opción NEW-ENVIRON (RFC 1572) permite a los clientes telnet enviar variables de entorno al servidor. Un servidor vulnerable puede aceptar y procesar estas variables sin saneamiento, permitiendo potencialmente a un atacante inyectar valores maliciosos que podrían conducir a la ejecución de comandos o bypass de autenticación.
Sistemas Afectados
Servidores telnetd que soportan la opción NEW-ENVIRON
Servidores que procesan la variable de entorno USER sin validación
Sistemas que utilizan versiones vulnerables de implementaciones telnetd
Uso del Script
Requisitos Previos
Python 3.x
Acceso de red al servidor telnet objetivo
Instalación
No se requiere instalación. El script es independiente y utiliza únicamente módulos de la biblioteca estándar de Python.
Instalación de Python
Linux (Ubuntu/Debian):
root@kitploit:~
sudo apt-get update
sudo apt-get install python3
macOS (usando Homebrew):
root@kitploit:~
# Instalar Homebrew si no está instalado
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Instalar Python 3
brew install python3
# Verificar la instalación
python3 --version
# Probar el puerto telnet predeterminado (23)
./telnetd_CVE‑2026‑24061_test.py 10.0.2.134
# Probar un puerto personalizado
./telnetd_CVE‑2026‑24061_test.py 10.0.2.134 2323
# Hacer ejecutable el script (si es necesario)
chmod +x telnetd_CVE‑2026‑24061_test.py
# O ejecutar directamente con python3
python3 telnetd_CVE‑2026‑24061_test.py 10.0.2.134 2323
Windows (Símbolo del sistema):
root@kitploit:~
REM Probar el puerto telnet predeterminado (23)
python telnetd_CVE‑2026‑24061_test.py 10.0.2.134
REM Probar un puerto personalizado
python telnetd_CVE‑2026‑24061_test.py 10.0.2.134 2323
Windows (PowerShell):
root@kitploit:~
# Probar el puerto telnet predeterminado (23)
python telnetd_CVE‑2026‑24061_test.py 10.0.2.134
# Probar un puerto personalizado
python telnetd_CVE‑2026‑24061_test.py 10.0.2.134 2323
macOS (Python de Homebrew):
root@kitploit:~
# Si se usa Python instalado con Homebrew, usar python3 explícitamente
python3 telnetd_CVE‑2026‑24061_test.py 10.0.2.134
# O hacer ejecutable y ejecutar directamente
chmod +x telnetd_CVE‑2026‑24061_test.py
./telnetd_CVE‑2026‑24061_test.py 10.0.2.134 2323
Características
Salida Codificada por Colores: Detección automática de soporte de color con colores ANSI para mejor legibilidad
Verde para mensajes de éxito
Rojo para errores y resultados de alto riesgo
Amarillo para advertencias y resultados no concluyentes
Cian para mensajes informativos
Los colores se desactivan automáticamente al redirigir la salida o si la variable de entorno NO_COLOR está configurada
Salida de Prueba Detallada: Progreso paso a paso con análisis detallado
Manejo Integral de Errores: Mensajes de error claros con posibles causas y recomendaciones
Resumen de Prueba: El resumen final incluye resultado, nivel de riesgo, severidad del riesgo y evaluación de impacto
Información de Conexión: Muestra direcciones remota y local para depuración
Resultados de la Prueba
El script proporciona cuatro resultados posibles:
1. NO IMPACTADO
root@kitploit:~
[-] NEW-ENVIRON no aceptado
[RESULTADO] NO IMPACTADO
Significado: El servidor no soporta ni acepta la opción NEW-ENVIRON. El servidor no es vulnerable a este vector de ataque específico.
Información del Resumen:
Resultado Final: NO IMPACTADO
Nivel de Riesgo: NINGUNO
Severidad del Riesgo: N/A
Acción Requerida:
No se requiere acción inmediata para esta vulnerabilidad
Continuar con el mantenimiento y las actualizaciones de seguridad regulares
2. PROBABLEMENTE IMPACTADO
root@kitploit:~
[!] ENV aceptado por el servidor
[RESULTADO] PROBABLEMENTE IMPACTADO (CVE-2026-24061)
Significado: El servidor aceptó la opción NEW-ENVIRON y parece haber procesado la variable de entorno inyectada. Es probable que el servidor sea vulnerable a CVE-2026-24061.
Deshabilitar el soporte NEW-ENVIRON si no es necesario
Implementar validación adecuada de entrada para variables de entorno
Considerar deshabilitar telnet en favor de SSH
Implementar controles de acceso de red
Revisar los registros del servidor en busca de actividad sospechosa
3. NO CONCLUYENTE
root@kitploit:~
[+] Sin respuesta a la inyección de ENV
[RESULTADO] NO CONCLUYENTE
Significado: El servidor aceptó NEW-ENVIRON pero no proporcionó una respuesta clara. Se recomienda verificación manual.
Información del Resumen:
Resultado Final: NO CONCLUYENTE
Nivel de Riesgo: DESCONOCIDO
Severidad del Riesgo: MEDIA
Evaluación de Impacto:
Estado de la vulnerabilidad poco claro
Se requiere verificación manual
Se recomienda investigación adicional
Acción Requerida:
Realizar pruebas manuales
Revisar los registros del servidor
Verificar la configuración de telnetd
Consultar los avisos de seguridad del proveedor
Probar con variables de entorno adicionales
4. PRUEBA FALLIDA
root@kitploit:~
[RESULTADO] PRUEBA FALLIDA - Error de Comunicación
Significado: La prueba no pudo completarse debido a un error de comunicación.
Información del Resumen:
Resultado Final: PRUEBA FALLIDA - Error de Comunicación
Nivel de Riesgo: DESCONOCIDO
Severidad del Riesgo: N/A
Evaluación de Impacto:
La prueba no pudo completarse
No se pudo determinar el estado de la vulnerabilidad
Acción Requerida:
Reintentar la prueba
Verificar la estabilidad de la red
Revisar los registros del servidor
Verificar la conectividad de red
Cómo Funciona
Conexión: Establece una conexión TCP con el servidor telnet objetivo
Muestra el estado de la conexión y las direcciones
Maneja errores de conexión con mensajes detallados
Recepción del Banner: Recibe y muestra el banner inicial del servidor (si existe)
Muestra la longitud del banner y una vista previa
Negociación NEW-ENVIRON:
Envía IAC DO NEW_ENVIRON para solicitar la opción NEW-ENVIRON
Espera la respuesta del servidor (IAC WILL NEW_ENVIRON)
Muestra el estado de la negociación
Inyección de Variables de Entorno:
Construye un payload de subnegociación telnet
Envía la variable de entorno USER=-f root vía NEW-ENVIRON
El indicador -f es una técnica común de bypass de login
Muestra los detalles del payload
Análisis de Respuesta:
Monitorea la respuesta del servidor
Determina si el servidor procesó la variable inyectada
Proporciona una evaluación detallada de la vulnerabilidad
Resumen de la Prueba:
Muestra el resultado final
Indica el nivel de riesgo y la severidad
Proporciona la evaluación de impacto
Incluye la marca de tiempo de finalización
Implementación Técnica
Constantes del Protocolo Telnet
El script utiliza valores de bytes estándar del protocolo telnet:
IAC (255): Interpretar como Comando
DO (253): Solicitar habilitación de opción
WILL (251): Aceptar habilitación de opción
SB (250): Inicio de Subnegociación
SE (240): Fin de Subnegociación
NEW_ENVIRON (39): Número de opción NEW-ENVIRON (RFC 1572)
Estructura del Payload
El payload de inyección sigue el formato RFC 1572:
root@kitploit:~
IAC SB NEW_ENVIRON IS VAR USER <0x01>-f root IAC SE
Donde:
IAC SB: Inicio de subnegociación
NEW_ENVIRON: Identificador de opción
IS: Subnegociación de Información
VAR: Indicador de tipo de variable
USER: Nombre de la variable de entorno
0x01: Byte VALUE
-f root: Valor inyectado
IAC SE: Fin de subnegociación
Manejo de Errores
El script incluye manejo integral de errores para:
Tiempos de espera de conexión (con posibles causas)
Errores de conexión rechazada (con consejos de solución de problemas)
Números de puerto no válidos (con mensajes de error claros)
Errores de comunicación de socket (con recomendaciones)
Fallos de red (con sugerencias de reintento)
Todos los errores se informan con mensajes claros, codificados por colores y fáciles de usar que incluyen:
Descripción del error
Posibles causas
Acciones recomendadas
Resumen de la prueba incluso en caso de fallo
Limitaciones
Falsos Positivos: Algunos servidores pueden aceptar NEW-ENVIRON pero sanear adecuadamente las entradas
Falsos Negativos: Los servidores pueden procesar variables de manera diferente a lo esperado
Dependencias de Red: Requiere conectividad de red con el objetivo
Método de Detección: Se basa en patrones de respuesta del servidor, que pueden variar
Consideraciones de Seguridad
⚠️ Importante: Este script es solo para pruebas de seguridad autorizadas.
Probar únicamente sistemas que posea o para los que tenga permiso explícito
Las pruebas no autorizadas pueden violar leyes y regulaciones
Usar de manera responsable y ética
Los resultados deben verificarse mediante pruebas adicionales
Recomendaciones de Mitigación
Si se encuentra que un servidor es vulnerable:
Acciones Inmediatas:
Actualizar telnetd a la última versión parcheada
Revisar y aplicar parches de seguridad del proveedor
Considerar deshabilitar el servicio telnet si no es necesario
Cambios de Configuración:
Deshabilitar la opción NEW-ENVIRON si no es necesaria
Implementar validación de entrada para variables de entorno
Usar reglas de firewall para restringir el acceso telnet
Soluciones a Largo Plazo:
Migrar a SSH (Secure Shell) en lugar de telnet
Implementar segmentación de red
Auditorías y actualizaciones de seguridad regulares
Referencias
CVE: CVE-2026-24061
RFC 1572: Opción de Entorno Telnet (NEW-ENVIRON)
RFC 854: Especificación del Protocolo Telnet
RFC 855: Especificaciones de Opciones Telnet
Salida de Color
El script detecta automáticamente el soporte de color del terminal y utiliza colores ANSI para mejor legibilidad:
Deshabilitar colores: Configurar la variable de entorno NO_COLOR=1
Forzar colores: Configurar la variable de entorno FORCE_COLOR=1
Los colores se desactivan automáticamente cuando la salida se redirige a un archivo
Ejemplo:
root@kitploit:~
# Deshabilitar colores
NO_COLOR=1 ./telnetd_CVE‑2026‑24061_test.py 10.0.2.134
# Forzar colores (útil para algunos terminales)
FORCE_COLOR=1 ./telnetd_CVE‑2026‑24061_test.py 10.0.2.134
Licencia
Este script se proporciona tal cual para fines de pruebas de seguridad. Úselo bajo su propio riesgo.
Descargo de Responsabilidad y Garantía
SIN GARANTÍA
ESTE SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO PERO NO LIMITADO A LAS GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN PROPÓSITO PARTICULAR Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES O TITULARES DE DERECHOS DE AUTOR SERÁN RESPONSABLES DE CUALQUIER RECLAMO, DAÑO U OTRA RESPONSABILIDAD, YA SEA EN UNA ACCIÓN DE CONTRATO, AGRAVIO O DE OTRA MANERA, QUE SURJA DE, O EN CONEXIÓN CON EL SOFTWARE O EL USO U OTROS TRATOS EN EL SOFTWARE.
LIMITACIÓN DE RESPONSABILIDAD
LOS AUTORES, COLABORADORES Y DISTRIBUIDORES DE ESTE SOFTWARE NO SERÁN RESPONSABLES DE NINGÚN DAÑO DIRECTO, INDIRECTO, INCIDENTAL, ESPECIAL, EJEMPLAR O CONSECUENTE (INCLUYENDO, PERO NO LIMITADO A, ADQUISICIÓN DE BIENES O SERVICIOS SUSTITUTOS; PÉRDIDA DE USO, DATOS O BENEFICIOS; O INTERRUPCIÓN DEL NEGOCIO) CUALQUIERA QUE SEA LA CAUSA Y BAJO CUALQUIER TEORÍA DE RESPONSABILIDAD, YA SEA EN CONTRATO, RESPONSABILIDAD ESTRICTA O AGRAVIO (INCLUYENDO NEGLIGENCIA U OTRA) QUE SURJA DE CUALQUIER MANERA DEL USO DE ESTE SOFTWARE, INCLUSO SI SE HA ADVERTIDO DE LA POSIBILIDAD DE DICHOS DAÑOS.
USO BAJO SU PROPIO RIESGO
Esta herramienta se proporciona únicamente con fines educativos y de pruebas de seguridad autorizadas
Los autores y colaboradores no son responsables de ningún uso indebido, daño o consecuencia legal derivada del uso de esta herramienta
Asegúrese siempre de tener la autorización adecuada antes de probar cualquier sistema
El acceso no autorizado a sistemas informáticos es ilegal y puede resultar en enjuiciamiento penal
Los autores no asumen ninguna responsabilidad por las acciones realizadas con este software
Los usuarios son los únicos responsables de garantizar el cumplimiento de todas las leyes y regulaciones aplicables
Este software puede causar efectos no deseados en los sistemas objetivo
Los resultados de esta herramienta deben verificarse mediante pruebas adicionales y evaluación profesional de seguridad
Los autores no garantizan la exactitud, integridad o fiabilidad de los resultados de las pruebas
Contribuciones
Se aceptan mejoras e informes de errores. Asegúrese de que cualquier modificación mantenga el propósito de pruebas de seguridad del script y las pautas de uso ético.