Pentest Telnet - puerto 23
services
Telnet es un protocolo de red antiguo y poco seguro que permite a los usuarios conectarse y controlar ordenadores y dispositivos de forma remota a través de una conexión de texto bidireccional, usando un modelo cliente-servidor. Aunque era muy utilizado para tareas como la gestión de redes y el acceso a bases de datos, su uso ha disminuido significativamente en favor de protocolos más seguros como SSH, ya que Telnet no encripta los datos y envía contraseñas en texto plano, exponiéndolos a riesgos.
Telnet trabaja por el puerto 23 de una maquina
Telnet Banner Grabbing via netcat
este comando, usa netcat para conectarse al puerto 23 e intentar hacer banner grabbing, una técnica de reconocimiento tanto pasiva como activo, en este caso es un banner grabbing agresivo (activo) ya que estamos haciendo una petición directa al servicio:
nc -vn <IP_AQUI> 23Scripts de nmap contra Telnet
para implementar todos los scripts de nmap y hacer un reconocimiento completo podemos agregar al comando el siguiente parámetro:
nmap --script "all" <IP_AQUI>el parámetro -sC es mas comunmente utilizado para hacer el reconocimiento con scripts, pero este no implementa todos.
si queremos utilizar solo scripts contra telnet podemos filtrarlos así:
--script "*telnet* and safe"el script telnet-ntlm-info.nse recopila información NTLM,(windows) si quieres utilizarlo específicamente solo debes mencionarlo en el parámetro:
--script telnet-ntlm-infoAutenticacion Passwordless por telnet
Telnet permite a los usuarios conectarse a un servidor sin necesidad de una identidad específica mediante una función de inicio de sesión passwordless (sin contraseña). Este método se suele utilizar para acceder o descargar archivos públicos:
# debemos conectarnos a telnet de manera normal
telnet <IP_AQUI>
# ahora debes intentar autenticarte poniendo solo el username, pero sin proporcionar passwordeste método funciona para los servicios telnet con el usuario anonymous activado, este usuario permite acceder a un servidor remoto a través de Telnet sin necesidad de una cuenta o credenciales específicas, utilizando "anonymous" como nombre de usuario y a menudo passwordless o correo electronico como contraseña. para descargar software o documentos públicos (dependiendo de los permisos). Aunque ya no es común, este tipo de acceso anónimo, también usado en el protocolo FTP, permitía a los usuarios obtener información de forma pública.
Enumeración de usuarios por telnet
La enumeración de usuarios es el proceso por el cual un atacante identifica nombres de usuario válidos en un sistema, generalmente a través de una aplicación web o portal de inicio de sesión. Al obtener esta lista de usuarios, el atacante puede lanzar ataques más sofisticados, como la fuerza bruta, para obtener acceso no autorizado, escalada de privilegios o desplegar ransomware.
en este diccionario se encuentran varias filas de credenciales en este formato:
user:password
puedes usarlo para enumerar usuarios e intentar autenticarte en ellos al utilizar las posibles passwords por defecto que se proporcionan en el mismo archivo.
otra forma de posiblemente analizar usuarios es analizando las respuestas por parte de telnet al intentar iniciar sesión en usuarios no existentes y en usuarios existentes, dependiendo de la version posiblemente notaras cambios en las respuestas proporcionadas, por ejemplo:
login: admin
Password: ****
Login incorrecten este ejemplo se proporciona un usuario valido, pero contraseña incorrecta lo que desencadena un error de Login incorrect.
pero en cambio, al probar un usuario inexistente desencadena el siguiente error Unknown user:
login: usuarioficticio
Unknown useres cuestión de analizar respuestas, en especial en versiones viejas.
MITM por Telnet (recopila credenciales)
como se menciono anteriormente, Telnet es inseguro y no cifra la comunicación, por lo que envía todo en texto plano:
el envio de credenciales e información por la red sin cifrar las comunicaciones da lugar a ataques de MITM (Man-In-The-Middle): Un MITM, o ataque de hombre en el medio, es un ciberataque en el que un atacante se posiciona entre dos partes que se están comunicando para interceptar, leer, modificar o eliminar sus mensajes. El atacante actúa como un "intermediario" que nadie detecta, lo que le permite robar información confidencial o manipular la comunicación en tránsito.
# sniffea la red en tiempo real con tcpdump a telnet
sudo tcpdump -i eth0 -A 'tcp port 23 and not src host $(hostname -I | cut -d" " -f1)'
# filtro para wirekshark (GUI) filtrando comunicaciones Telnet
tcp.port == 23 && (telnet.data || telnet.option)
# podemos aplicar el mismo filtro en tshark (terminal)
tshark -i eth0 -Y "tcp.port == 23 && (telnet.data || telnet.option)"
Servidor telnet falso
Desde metasploit podemos lanzar un servidor telnet falso para capturar credenciales mediante un modulo auxiliar especializado.
use auxiliary/server/capture/telnet # modulo
set srvhost <IP_AQUI> # ip de maquina
set banner Fake Telnet Server # banner que vera la victima al conectarse un cliente
exploit # correr el ataqueFuerza Bruta por telnet
# fuerza bruta con Hydra que para al llegar a un login correcto
hydra -L users.txt -P rockyou.txt -t 4 -f telnet://<IP_AQUI>
# intenta crackear la contraseña de admin y despues intenta abrir una TTY interactiva
ncrack -p 23 --user admin -P common-pass.txt --connection-limit 4 <IP_AQUI>
# fuerza bruta de telnet simple por scripts de nmap
nmap -p 23 --script telnet-brute <IP_AQUI>Password Spraying en telnet
el password spraying consiste en un tipo de ataque de fuerza bruta en el que un atacante utiliza la misma contraseña en varias cuentas para intentar comprometerlas, antes de probar con otra credencial
medusa -M telnet -h targets.txt -U users.txt -P passwords.txt -t 6 -fmedusa es una tool preinstalada en sistemas de pentesting como Kali Linux o Parrot OS consiste en ataques de fuerza bruta paralela para servicios de red. Se parece a Hydra o Ncrack, pero está optimizada para atacar múltiples hosts, usuarios y contraseñas en paralelo de forma eficiente.
Last updated