Bienvenidos a este capítulo del Curso de Linux para Hackers – Telnet: Protocolo y explotación. Comparte este articulo y síguenos para recibir más capítulos y cursos gratis.
Esta guía es parte de un curso mucho más grande en donde te enseñamos a convertirte en hacker de 0 a 100. Desde los conocimientos más básicos hasta conseguir empleo.
En esta guía veremos desde cero un tema tan amplio como es Linux y lo haremos desde el punto de vista del hacking y la ciberseguridad.
Para saber más comente a continuación, respondemos todos y cada uno de los comentarios.
¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?
Lo que aprenderás en este artículo
- Comprender el protocolo Telnet y su funcionalidad:
- Qué es el protocolo Telnet, cómo funciona y cómo permite el acceso remoto a dispositivos en redes TCP/IP.
- Uso del comando
telnet
en Linux:- Conocer la sintaxis y las opciones principales del comando Telnet.
- Cómo instalar y usar Telnet para conectarse a sistemas remotos.
- Vulnerabilidades de Telnet:
- Identificar las debilidades de Telnet, como la transmisión en texto plano y la falta de cifrado.
- Ataques comunes a Telnet y sus implicaciones:
- Cómo los atacantes explotan Telnet mediante sniffing, fuerza bruta, Man-in-the-Middle, y otras técnicas.
- Herramientas de hacking ético como Hydra y Wireshark para analizar vulnerabilidades en Telnet.
- Mejores prácticas para asegurar Telnet o migrar a protocolos más seguros:
- Estrategias de mitigación, como segmentación de red, uso de VPNs y monitoreo constante.
Comando telnet de Linux
En Linux, el comando telnet se utiliza para crear una conexión remota con un sistema a través de una red TCP/IP. Nos permite administrar otros sistemas mediante la terminal. Podemos ejecutar un programa para realizar la administración.
Telnet se utiliza para negociar con otro host con la ayuda del protocolo TELNET. Si el comando telnet se invoca sin un argumento de host, se presenta en modo comando, representado por su indicador. Acepta y ejecuta el comando que se indica a continuación en este modo. Implementa un comando abierto con esos argumentos si se invoca con argumentos.
Utiliza el protocolo TELNET. Sin embargo, este protocolo tiene algunos defectos de seguridad, pero es uno de los protocolos de red más utilizados debido a su simplicidad. No es un protocolo seguro porque transfiere datos en forma no cifrada. A menudo, los usuarios de Linux prefieren ssh en lugar de telnet porque ssh transfiere datos en forma cifrada. Esta utilidad es similar a la función de Escritorio remoto de Windows.
Opciones de telnet
- -7: Elimina el octavo bit de la entrada y la salida. De manera predeterminada, Telnet es de 8 bits limpios, pero no transfiere la opción, es decir, TELNET BINARY, a menos que se fuerce.
- -8: ejecuta una ruta de datos de 8 bits. Intenta comunicarse con la opción, es decir, TELNET BINARY, tanto en la salida como en la entrada.
- -E: Impide que un carácter sea identificado como un carácter de escape.
- -F: Esta opción permite enviar las credenciales locales al sistema remoto, como las que ya se enviaron al entorno local si se utiliza la autenticación Kerberos V5.
- -K: No especifica el inicio de sesión automático para el sistema remoto.
- -L: En la salida, especifica la ruta de datos de 8 bits. Lleva la opción, es decir, BINARIO, a comunicar en la salida.
- -X atype: Desactiva el tipo de autenticación atype.
- -a: Intenta iniciar sesión automáticamente. Transfiere el nombre de usuario mediante la variable USER de la opción ENVIRON si el sistema remoto lo admite.
- -b hostalias: utiliza bind(2) para vincular el socket local a una dirección con alias o a otra dirección de interfaz distinta a la seleccionada por connect(2) de forma natural. Puede resultar útil durante la conexión a servicios que aplican direcciones IP para la reconfiguración del servidor y la autenticación no es deseable.
- -c: Desactiva la lectura del archivo .telnetrc del usuario.
- -d: Establece el valor de alternancia de depuración inicial en VERDADERO.
- -e escapechar: Establece el carácter de escape inicial de Telnet como escapechar. No habrá ningún carácter de escape si no se encuentra escapechar.
- -f: esta opción permite enviar las credenciales locales al sistema remoto si se utiliza la autenticación Kerberos V5.
- -k realm: esta opción afirma que telnet trae tickets para el host remoto en el reino en lugar del reino del host remoto si se utiliza la autenticación Kerberos.
- -I usuario: si el sistema remoto acepta la opción ENVIRON al conectarse a un sistema remoto, el usuario será transferido al sistema remoto debido al valor de la variable USER. Esta opción significa el indicador -a. También se puede utilizar con el comando, es decir, open.
- -n tracefile: esta opción se utiliza para abrir el archivo de seguimiento para registrar información de seguimiento.
- -r: especifica la interfaz de usuario de la misma forma que rlogin(1). El carácter de escape se fija en el carácter tilde a menos que se cambie con el indicador -e.
- -x: activa el cifrado del flujo de datos si es posible.
- -port: representa un número de puerto (una dirección de aplicación). El puerto telnet es el puerto predeterminado si no se indica el número.
- -host: Representa el nombre oficial, la dirección de Internet de un host remoto o un alias.
Comandos en telnet
A continuación se enumeran y explican algunos comandos Telnet importantes. Solo se deben escribir los comandos necesarios para identificarlo de forma única.
- auth[…]: este comando puede manipular los detalles enviados por la opción, es decir, TELNET AUTHENTICATION . Para este comando, se describen a continuación algunos argumentos válidos:
- disable type: deshabilita el tipo de autenticación indicado. Podemos usar el comando, es decir, auth disable , para obtener la lista de tipos disponibles.
- enable type: Habilita el tipo de autenticación indicado. Podemos usar el comando, es decir, auth enable , para obtener la lista de tipos disponibles.
- status: especifica el estado actual de varios tipos de autenticación.
- close: Cierra la sesión TELNET y vuelve al modo comando.
- display argument[…]: Muestra algunos o todos los valores de alternancia y configuración.
- encrypt argument[…]: este comando puede manipular los detalles enviados por la opción, es decir, TELNET ENCRYPT . A continuación se describen algunos argumentos válidos para este comando:
- disable type [input|output]: deshabilita el tipo de cifrado indicado. Si omitimos la salida y la entrada, se deshabilitan ambas. Podemos usar el comando, es decir, encrypt deshabilitar , para obtener la lista de tipos disponibles.
- enable type [input|output]: habilita el tipo de cifrado indicado. Si omitimos la salida y la entrada, se habilitan ambas. Podemos usar el comando, es decir, encrypt enable , para obtener la lista de tipos disponibles.
- input: es similar al comando encrypt start input.
- -input: Es similar al comando encrypt stop input.
- output: Es similar al comando encrypt start output.
- -output: Es similar al comando encrypt stop output.
- status: especifica el estado de cifrado actual.
Características principales:
- Protocolo basado en texto: La interacción se realiza a través de comandos de texto.
- Sin cifrado: Toda la información, incluidas las credenciales de usuario, se transmite en texto plano.
- Acceso remoto: Permite la administración remota de sistemas y dispositivos.
- Interacción directa: No ofrece ninguna interfaz gráfica, lo que lo hace muy ligero.
Instalación y uso básico en Linux
En la mayoría de distribuciones de Linux, Telnet no viene preinstalado debido a sus problemas de seguridad. Sin embargo, se puede instalar fácilmente utilizando el gestor de paquetes de tu sistema:
- En sistemas basados en Debian/Ubuntu:
sudo apt install telnet - En sistemas basados en Red Hat/Fedora:
sudo yum install telnet
Una vez instalado, puedes conectarte a un servidor remoto simplemente utilizando:
telnet <IP o dominio> <puerto>
Por ejemplo, para conectarse a un servidor en el puerto 23 (puerto predeterminado de Telnet):
telnet 192.168.1.10 23
Instalar Telnet en Linux
Para instalar telnet, ejecute el siguiente comando:
sudo apt install telnetd -y
El comando anterior instalará el paquete necesario para el protocolo Telnet. Observe el resultado siguiente:
Iniciar el shell Telnet
El shell interactivo se puede iniciar ejecutando el comando telnet de la siguiente manera:
telnet
Este shell nos permite ejecutar algunos comandos exclusivos de Telnet. Se verá como el siguiente:
El shell facilita la creación de una conexión remota con varios comandos. Podemos enumerar todos los comandos ejecutando el comando help . Para ejecutar el comando help, escriba h . Considere el siguiente resultado:
A partir de la captura de pantalla anterior, se enumeran todos los comandos y su uso. Se enumeran muchas utilidades de línea de comandos, como cerrar, cerrar sesión, mostrar, modo, abrir, salir, enviar y más.
¿Cómo conectarse mediante el comando telnet en Linux?
Crear una conexión entre dos sistemas mediante el comando telnet es un proceso simple, ejecute el comando telnet seguido del nombre del host.
Por ejemplo, conectamos nuestro sistema con el host local. Ejecutamos el comando de la siguiente manera:
telnet localhost
El comando anterior solicitará el nombre de usuario y la contraseña. Ingrese las credenciales para continuar. Observe el siguiente resultado:
Telnet es un protocolo de red simple basado en texto que se utiliza para acceder a computadoras remotas a través de redes TCP/IP como Internet.
Conectarse a Telnet usando el comando: `telnet 192.168.0.121`.
Luego de conectarnos, podemos ejecutar los comandos como lo hicimos anteriormente. La única diferencia es que ahora la máquina se trata como una máquina remota.
Para salir del comando telnet, ejecute el comando logout.
Explotación del puerto 23 con Hydra
Explotación de TELNET con MF6
Este módulo probará un inicio de sesión de Telnet en una variedad de máquinas e informará los inicios de sesión exitosos. Si ha cargado un complemento de base de datos y se ha conectado a una base de datos, este módulo registrará los inicios de sesión y hosts exitosos para que pueda realizar un seguimiento de su acceso. Para esto se utilizará la misma contraseña y el mismo archivo de usuario de antes.
use auxiliary/scanner/telnet/telnet_login msf auxiliary (scanner/telnet/telnet_login)
> set rhosts 192.168.1.103 msf auxiliary (scanner/telnet/telnet_login)
> set user_file /root/Desktop/user.txt msf auxiliary (scanner/telnet/telnet_login)
> set pass_file /root/Desktop/pass.txt msf auxiliary (scanner/telnet/telnet_login)
> set stop_on_success true msf auxiliary (scanner/telnet/telnet_login)
> run
Problemas de Seguridad con Telnet
Una vez establecida una conexión Telnet, los usuarios pueden realizar cualquier función autorizada en el servidor, como si utilizaran una sesión de línea de comandos en el servidor mismo. Si están autorizados, pueden iniciar y detener procesos, configurar el dispositivo e inclusive apagar el sistema.
Aunque el protocolo Telnet puede requerir que un usuario inicie sesión, no admite el transporte de datos cifrados. Todos los datos intercambiados durante las sesiones de Telnet se transportan como texto normal por la red. Esto significa que los datos pueden ser fácilmente interceptados y entendidos.
El protocolo Secure Shell (SSH) ofrece un método alternativo y seguro para el acceso a servidores. SSH proporciona la estructura para un inicio de sesión remoto seguro y otros servicios de red seguros. También proporciona una autenticación más sólida que Telnet y admite el transporte de datos de sesión mediante cifrado.
Como una mejor práctica, los profesionales de red deberían utilizar siempre SSH en lugar de Telnet, cada vez que sea posible. En la figura se ilustra por qué SSH es más seguro que Telnet. Observe que, cuando se utiliza Telnet, los datos que captura el hacker son claramente legibles, mientras que al utilizar SSH, los datos están cifrados y, por lo tanto, son más seguros.
Ataque y Defensa del Protocolo Telnet
El protocolo Telnet es uno de los métodos más antiguos utilizados para acceder de forma remota a dispositivos en una red. Aunque su uso ha disminuido significativamente en favor de protocolos más seguros como SSH, Telnet aún se encuentra en algunos sistemas heredados y dispositivos de red.
Este protocolo presenta varias vulnerabilidades críticas, lo que lo convierte en un objetivo frecuente para ataques cibernéticos. En este artículo, exploraremos los tipos de ataques más comunes contra Telnet y las mejores estrategias para defenderse.
Telnet es un protocolo de red que permite a los usuarios conectarse a un sistema remoto para ejecutar comandos como si estuvieran físicamente presentes en ese sistema. Opera principalmente sobre el puerto TCP 23 y permite el acceso a la línea de comandos de servidores, enrutadores, conmutadores y otros dispositivos. Telnet es un protocolo en texto plano, lo que significa que los datos, incluidas las credenciales de autenticación, se transmiten sin cifrar.
Telnet es un protocolo antiguo con numerosas vulnerabilidades que lo hacen inadecuado para su uso en entornos de red modernos, especialmente en redes públicas. A pesar de su simplicidad y facilidad de uso, Telnet carece de las características de seguridad necesarias para proteger las comunicaciones y los datos en la era actual de ciber
Principales Vulnerabilidades de Telnet
- Transmisión de Credenciales en Texto Plano: Todas las credenciales de inicio de sesión, incluidas las contraseñas, se envían sin cifrar. Esto permite a los atacantes que interceptan el tráfico de red capturar estas credenciales y obtener acceso no autorizado.
- Falta de Autenticación Sólida: Telnet carece de mecanismos de autenticación robustos. Los ataques de fuerza bruta y el uso de credenciales predeterminadas o débiles son comunes, lo que facilita el acceso no autorizado.
- Ausencia de Cifrado de Datos: A diferencia de protocolos como SSH, Telnet no cifra los datos transmitidos, lo que hace que todo el tráfico sea susceptible a ataques de intermediario (MitM) y sniffing.
Cómo Los Hackers Usan Telnet para Atacar Sistemas
A pesar de sus desventajas, Telnet sigue siendo una herramienta útil para los hackers en situaciones específicas, principalmente en redes mal configuradas o antiguas. A continuación, se muestran algunas formas comunes en las que los hackers pueden explotar Telnet:
1. Escaneo de Puertos para Identificar Servicios Telnet Activos
Los atacantes suelen realizar escaneos de puertos utilizando herramientas como Nmap para identificar dispositivos que tienen el puerto 23 abierto (puerto estándar de Telnet). Un escaneo simple para encontrar dispositivos que ejecutan Telnet en una red sería:
nmap -p 23 192.168.1.0/24
Si el atacante encuentra algún sistema con Telnet habilitado, sabrá que tiene un objetivo potencial.
2. Sniffing de Tráfico
Descripción: Sniffing es una técnica en la que un atacante intercepta y captura el tráfico de red para analizarlo. Dado que Telnet transmite datos en texto plano, un atacante que use herramientas de sniffing como Wireshark puede capturar credenciales, comandos y otros datos sensibles.
Métodos de Ejecución:
- Captura de Paquetes: El atacante utiliza un analizador de paquetes para capturar el tráfico Telnet, lo que le permite leer todo el contenido transmitido, incluidas las credenciales de inicio de sesión.
Consecuencias:
- Robo de Credenciales: El atacante puede capturar nombres de usuario y contraseñas, lo que le permite acceder al sistema de forma remota.
- Compromiso de Seguridad: El acceso no autorizado al sistema puede llevar al robo de datos, modificación de configuraciones, o la instalación de malware.
Una vez que un atacante ha identificado un sistema que utiliza Telnet, puede usar técnicas de sniffing para capturar el tráfico de red y obtener credenciales de inicio de sesión. Herramientas como Wireshark o tcpdump permiten capturar y analizar paquetes en tiempo real, revelando cualquier dato enviado sin cifrar, como contraseñas.
Por ejemplo, un atacante podría ejecutar:
tcpdump -i eth0 port 23 -w telnet_traffic.pcap
Después, puede abrir el archivo resultante en Wireshark y observar el contenido, incluidos los nombres de usuario y contraseñas en texto claro.
3. Fuerza Bruta de Contraseñas
Descripción: En un ataque de fuerza bruta, un atacante intenta adivinar las credenciales de Telnet probando múltiples combinaciones de nombres de usuario y contraseñas hasta encontrar la correcta. Dado que Telnet no implementa medidas de seguridad avanzadas, como bloqueos de cuenta tras varios intentos fallidos, es vulnerable a estos ataques.
Métodos de Ejecución:
- Automatización: Herramientas como Hydra o Medusa pueden ser utilizadas para automatizar el proceso de adivinación de credenciales.
Consecuencias:
- Acceso No Autorizado: Una vez que el atacante adivina las credenciales correctas, puede acceder al sistema Telnet, potencialmente obteniendo control total del dispositivo.
- Escalada de Privilegios: Si el atacante logra acceder a una cuenta con privilegios elevados, puede realizar cambios críticos en el sistema.
Defensa Contra la Fuerza Bruta en Telnet:
- Uso de Contraseñas Fuertes: Implementar políticas que requieran contraseñas largas, complejas y únicas.
- Limitar Intentos de Inicio de Sesión: Configurar el sistema para bloquear temporalmente o permanentemente las cuentas después de un número determinado de intentos fallidos.
- Migración a SSH: SSH no solo cifra las credenciales, sino que también permite la autenticación multifactor y otras medidas de seguridad avanzadas.
Como ya vimos en un ejemplo anterior en muchas redes mal protegidas, los servicios Telnet están activados con credenciales débiles o predeterminadas. Los hackers pueden aprovechar herramientas de fuerza bruta como Hydra o Medusa para intentar adivinar las credenciales. Un ataque de fuerza bruta en Telnet usando Hydra sería algo como esto:
hydra -l admin -P /ruta/a/diccionario.txt telnet://192.168.1.10
Este comando intentará todas las combinaciones de contraseñas desde un archivo de diccionario contra el usuario admin en el dispositivo Telnet.
4. Ataques Man-in-the-Middle (MitM)
Descripción: En un ataque MitM, un atacante intercepta las comunicaciones entre el cliente Telnet y el servidor. Dado que Telnet no cifra el tráfico, el atacante puede capturar, modificar o inyectar comandos en la comunicación, comprometiendo la seguridad del sistema.
Métodos de Ejecución:
- Intercepción de Tráfico: El atacante coloca su dispositivo entre el cliente y el servidor Telnet, interceptando todo el tráfico de ida y vuelta.
Consecuencias:
- Suplantación de Identidad: El atacante puede hacerse pasar por el cliente o el servidor, lo que permite realizar acciones no autorizadas en el sistema.
- Robo de Información Sensible: El atacante puede capturar datos sensibles, como credenciales o información confidencial, que se transmiten entre el cliente y el servidor.
Defensa Contra MitM en Telnet:
- Migración a SSH: SSH protege contra ataques MitM mediante el uso de cifrado fuerte y autenticación de servidor.
- Implementación de VPNs: Utilizar redes privadas virtuales (VPN) para cifrar todo el tráfico entre el cliente y el servidor Telnet, protegiéndolo contra la interceptación.
5. Explotación de Vulnerabilidades en Implementaciones de Telnet
Descripción: A lo largo de los años, varias implementaciones de servidores Telnet han tenido vulnerabilidades que permiten a los atacantes ejecutar código arbitrario, provocar denegaciones de servicio, o ganar acceso no autorizado.
Métodos de Ejecución:
- Explotación de Desbordamiento de Búfer: Un atacante puede enviar datos específicamente manipulados que explotan una vulnerabilidad de desbordamiento de búfer, permitiéndole ejecutar código malicioso en el servidor.
Consecuencias:
- Compromiso Total del Sistema: El atacante puede obtener control total del servidor Telnet, lo que le permite modificar archivos, instalar software malicioso o robar datos.
- Denegación de Servicio (DoS): El servidor Telnet puede caer o volverse inestable debido a la explotación, interrumpiendo los servicios para los usuarios legítimos.
Defensa Contra la Explotación de Vulnerabilidades en Telnet:
- Aplicar Parches y Actualizaciones: Mantener el software del servidor Telnet actualizado con los últimos parches de seguridad para corregir vulnerabilidades conocidas.
- Deshabilitar Servicios Innecesarios: Deshabilitar Telnet y otros servicios innecesarios que puedan ser explotados por atacantes.
6. Acceso Persistente
Si un atacante logra acceder a un sistema a través de Telnet, puede instalar un backdoor o un rootkit para mantener acceso a largo plazo. Un método común es modificar archivos críticos del sistema, como el .bashrc o .profile de un usuario, para ejecutar scripts maliciosos cada vez que el usuario inicie sesión.
7. Escalamiento de Privilegios
Una vez dentro del sistema, si el atacante ha ingresado con una cuenta de usuario de bajo nivel, puede intentar escalar privilegios para obtener acceso de administrador o root. Esto puede implicar la explotación de vulnerabilidades locales en el sistema, como configuraciones erróneas de permisos, o la explotación de vulnerabilidades conocidas del sistema operativo.
Mejores Prácticas para Asegurar Telnet
- Migración a Protocolos Seguros: La mejor defensa contra los riesgos asociados con Telnet es dejar de usarlo en favor de protocolos más seguros, como SSH. SSH proporciona cifrado fuerte, autenticación avanzada y protección contra muchos de los ataques comunes a los que es vulnerable Telnet.
- Segmentación de Red y Acceso Controlado: Si Telnet debe ser utilizado por alguna razón, asegúrese de que el acceso esté restringido solo a las partes de la red que realmente lo necesiten. Utilizar firewalls para bloquear el tráfico Telnet desde y hacia la red pública y restringir el acceso solo a dispositivos autorizados.
- Autenticación Multifactor (MFA): Implementar MFA para agregar una capa adicional de seguridad a los inicios de sesión de Telnet. MFA requiere que los usuarios proporcionen una segunda forma de autenticación, lo que dificulta que los atacantes accedan al sistema incluso si tienen las credenciales correctas.
- Monitoreo y Registro de Actividades: Configurar sistemas para registrar todas las actividades de Telnet y monitorear estos registros en busca de patrones sospechosos. Utilizar soluciones de monitorización y análisis de registros, como SIEM (Security Information and Event Management), para detectar y responder a actividades sospechosas en tiempo real.
- Educación y Capacitación del Personal: Capacitar a los administradores y usuarios sobre los riesgos de Telnet y las mejores prácticas de seguridad. Realizar sesiones de capacitación periódicas y asegurarse de que todos los usuarios comprendan los riesgos de seguridad asociados con el uso de Telnet.
Ejemplo Real: Uso Malicioso de Telnet en Dispositivos IoT
Una de las áreas donde Telnet sigue siendo prevalente es en dispositivos IoT (Internet de las cosas), como cámaras IP, routers y otros dispositivos conectados a la red. Muchos de estos dispositivos tienen credenciales Telnet predeterminadas que rara vez son cambiadas por los usuarios.
Un ejemplo notable de abuso de Telnet en dispositivos IoT es el malware Mirai, que comprometió millones de dispositivos IoT vulnerables que ejecutaban Telnet, utilizando contraseñas predeterminadas. Mirai luego utilizó estos dispositivos comprometidos para lanzar ataques DDoS masivos.
Cómo Protegerse de Ataques en Telnet
Debido a los riesgos inherentes del uso de Telnet, la mejor práctica es no usar Telnet y en su lugar optar por SSH, que cifra todas las comunicaciones. Sin embargo, si debes usar Telnet por alguna razón, aquí te ofrecemos algunas recomendaciones de seguridad:
- Deshabilitar Telnet: Si no es necesario, deshabilita el servicio Telnet en tus dispositivos y sistemas.
- Usar Telnet a través de una VPN: Si Telnet es imprescindible, usa una VPN para asegurar la conexión y cifrar el tráfico.
- Cambiar credenciales predeterminadas: Siempre asegúrate de cambiar las contraseñas predeterminadas en dispositivos que usen Telnet.
- Restringir el acceso: Usa firewalls y listas de control de acceso (ACL) para restringir el acceso al servicio Telnet solo a IPs específicas.
- Monitoreo de tráfico: Implementa herramientas de monitoreo para detectar cualquier intento no autorizado de acceso a través de Telnet.
Resumen detallado del artículo
1. ¿Qué es el Protocolo Telnet?
- Telnet es un protocolo de red de texto plano que permite a los usuarios conectarse de forma remota a otro sistema a través de TCP/IP. Se usa principalmente en el puerto 23 y proporciona acceso a la línea de comandos del dispositivo remoto.
2. Comando Telnet en Linux
- Instalación de Telnet:
- En Ubuntu/Debian:
sudo apt install telnet
- En Red Hat/Fedora:
sudo yum install telnet
- En Ubuntu/Debian:
- Conexión básica:
telnet <IP o dominio> <puerto>
- Ejemplo para conectarse en el puerto 23:
telnet 192.168.1.10 23
- Ejemplo para conectarse en el puerto 23:
3. Opciones principales del comando Telnet
-8
: Permite la comunicación en modo binario de 8 bits.-K
: Desactiva el inicio de sesión automático en el sistema remoto.-d
: Habilita la depuración.-x
: Activa el cifrado del flujo de datos si es compatible.-e <carácter>
: Define el carácter de escape de Telnet.
4. Comandos en el shell interactivo de Telnet
auth
: Configura autenticación para la sesión Telnet.encrypt
: Administra las opciones de cifrado.close
: Cierra la sesión actual y regresa al modo comando.
5. Problemas de seguridad con Telnet
- Transmisión de datos en texto plano: Todos los datos, incluyendo credenciales, se transmiten sin cifrar, lo que los hace vulnerables a interceptación.
- Falta de autenticación sólida: No ofrece mecanismos de seguridad avanzados, facilitando ataques de fuerza bruta.
- Exposición a sniffing y ataques Man-in-the-Middle: Los atacantes pueden capturar o modificar el tráfico entre cliente y servidor.
6. Ataques comunes contra Telnet
- Escaneo de puertos: Los atacantes buscan servicios Telnet activos con herramientas como Nmap.
nmap -p 23 192.168.1.0/24
- Sniffing de tráfico: Herramientas como Wireshark permiten interceptar datos en texto plano, incluyendo credenciales.
- Fuerza bruta de contraseñas: Herramientas como Hydra pueden adivinar contraseñas de Telnet.
hydra -l admin -P /ruta/a/diccionario.txt telnet://192.168.1.10
- Ataques Man-in-the-Middle (MitM): Permite a los atacantes interceptar y manipular la comunicación en tiempo real.
- Explotación de vulnerabilidades en implementaciones de Telnet: Los hackers pueden aprovechar vulnerabilidades de buffer overflow y otros errores de implementación.
7. Mejores prácticas para proteger el uso de Telnet
- Migración a SSH: La mejor defensa es deshabilitar Telnet y usar SSH, que ofrece cifrado y autenticación avanzada.
- Segmentación de red: Limitar el acceso a Telnet solo a IPs autorizadas y restringirlo a partes necesarias de la red.
- Autenticación multifactor (MFA): Añade una capa adicional de seguridad.
- Monitoreo y registro de actividad: Implementar un monitoreo de acceso y analizar los registros para detectar actividades sospechosas.
- Capacitación del personal: Asegurarse de que los usuarios comprendan los riesgos de Telnet y sigan las mejores prácticas de seguridad.
8. Ataque y defensa de Telnet en dispositivos IoT
- Ejemplo del malware Mirai: Aprovechó credenciales predeterminadas en Telnet para comprometer millones de dispositivos IoT y lanzarlos en ataques DDoS.
9. Recomendaciones finales de seguridad
- Usar Telnet solo en redes seguras: Si es indispensable, proteger Telnet mediante una VPN.
- Cambiar credenciales predeterminadas: Esto es crucial para la seguridad en dispositivos IoT.
- Restringir el acceso: Configurar firewalls y ACLs para limitar el acceso al puerto 23 solo a dispositivos específicos.
- Monitoreo de tráfico: Implementar soluciones de monitoreo para identificar intentos no autorizados en Telnet.
Conclusión
Telnet es un protocolo obsoleto y vulnerable que se sigue utilizando en sistemas heredados y dispositivos IoT. Sin embargo, debido a la transmisión en texto plano y la falta de cifrado, es un objetivo para ataques cibernéticos como el sniffing y los ataques de fuerza bruta. Para mantener la seguridad, se recomienda migrar a SSH siempre que sea posible. En los casos en los que Telnet sea imprescindible, es fundamental implementar medidas como la segmentación de red, autenticación robusta y monitoreo constante para reducir los riesgos de seguridad.
Pon en práctica lo aprendido
Ahora pon a prueba lo aprendido con estas preguntas y ejercicios.
10 Preguntas sobre el comando Telnet y su uso en Linux:
- ¿Cuál es el propósito principal del comando
telnet
en Linux? - ¿Por qué el protocolo Telnet no es seguro para transferir datos?
- ¿Cuál es la diferencia principal entre Telnet y SSH en términos de seguridad?
- ¿Qué puerto utiliza Telnet por defecto para establecer conexiones?
- ¿Cómo se puede instalar Telnet en un sistema basado en Debian?
- ¿Qué comando en Telnet permite cerrar la sesión y volver al modo de comandos?
- ¿Qué implica el uso de la opción
-n tracefile
en el comandotelnet
? - ¿Qué es un ataque de sniffing en el contexto de una sesión Telnet?
- ¿Cómo se puede proteger un sistema contra ataques de fuerza bruta en Telnet?
- ¿Qué tipo de herramientas pueden usar los hackers para interceptar el tráfico de Telnet?
10 Ejercicios para practicar el uso del comando Telnet y su seguridad:
- Instala el comando Telnet en una máquina Linux y verifica que se haya instalado correctamente.
- Conéctate a un servidor remoto usando Telnet con el comando:
telnet <IP o nombre de host>
Intenta establecer una conexión y observa los mensajes de la terminal. - Inicia el shell de Telnet ejecutando solo el comando
telnet
. Luego, escribehelp
para explorar las opciones disponibles. - Configura Telnet para eliminar el octavo bit de entrada y salida usando la opción
-7
. Conéctate a un host y verifica el cambio. - Ejecuta Telnet en modo de depuración usando la opción
-d
. Observa la salida y cómo se registran los mensajes adicionales. - Realiza un escaneo de puertos en una red local para identificar dispositivos con el puerto 23 abierto utilizando Nmap:
nmap -p 23 <rango de IP>
- Captura el tráfico de Telnet con Wireshark en una red de prueba y observa cómo se transmite la información en texto plano.
- Realiza un ataque de fuerza bruta contra un servicio Telnet en una red de prueba usando Hydra:
hydra -l admin -P /ruta/a/diccionario.txt telnet://<IP>
- Configura una VPN en el sistema y conéctate a Telnet a través de ella para ver cómo la VPN protege el tráfico de Telnet.
- Desactiva Telnet en tu sistema y configura SSH como alternativa segura, realizando una conexión básica con SSH para comprobar la diferencia en la seguridad.
Respuestas detalladas a las preguntas:
- Propósito del comando
telnet
: El comandotelnet
permite crear una conexión remota con otro sistema a través de la red, habilitando la administración remota del sistema como si estuviera en la terminal local. - Inseguridad del protocolo Telnet: Telnet transfiere datos en texto plano, lo que permite que cualquier persona que intercepte el tráfico pueda leer la información, incluidas las credenciales de autenticación.
- Diferencia entre Telnet y SSH: SSH cifra todas las comunicaciones, protegiendo los datos de posibles interceptores, mientras que Telnet envía datos sin cifrar.
- Puerto predeterminado de Telnet: Telnet utiliza el puerto TCP 23 por defecto.
- Instalación de Telnet en Debian/Ubuntu:
sudo apt install telnet
- Comando para cerrar sesión en Telnet: El comando
logout
cierra la sesión Telnet. - Opción
-n tracefile
en Telnet: Esta opción permite guardar un archivo de seguimiento con la actividad de Telnet para revisarla posteriormente. - Ataque de sniffing en Telnet: El sniffing es la captura del tráfico de red; en Telnet, debido a que los datos se envían sin cifrar, un atacante podría ver credenciales y otros datos confidenciales en texto plano.
- Protección contra fuerza bruta en Telnet: Configurar contraseñas seguras, limitar intentos fallidos de inicio de sesión, y preferir SSH en lugar de Telnet reduce la vulnerabilidad a ataques de fuerza bruta.
- Herramientas de interceptación de tráfico Telnet: Herramientas como Wireshark y tcpdump pueden capturar tráfico Telnet en redes, revelando datos en texto claro debido a la falta de cifrado.
Respuestas detalladas a los ejercicios:
- Instalar Telnet:
sudo apt install telnet
Verifica la instalación usando:telnet --version
- Conectar a un servidor remoto:
telnet <IP o nombre de host>
Reemplaza<IP o nombre de host>
con la dirección IP o el nombre del host al que deseas conectarte. - Iniciar el shell de Telnet y explorar opciones:
telnet
Luego, escribehelp
para ver los comandos disponibles y cómo utilizarlos. - Eliminar el octavo bit usando
-7
:telnet -7 <IP o nombre de host>
Este comando elimina el octavo bit de la entrada y salida, útil en sistemas con requerimientos específicos de transmisión. - Ejecutar Telnet en modo de depuración:
telnet -d <IP o nombre de host>
Observa la información adicional que se muestra para depurar la conexión. - Escanear red en busca de dispositivos con puerto 23 abierto:
nmap -p 23 <rango de IP>
Este comando muestra los dispositivos en el rango que tienen el puerto Telnet abierto. - Capturar tráfico de Telnet en Wireshark: Abre Wireshark, selecciona la interfaz de red, aplica el filtro
telnet
y observa los paquetes Telnet para analizar la transmisión de datos en texto plano. - Ejecutar ataque de fuerza bruta usando Hydra:
hydra -l admin -P /ruta/a/diccionario.txt telnet://<IP>
Hydra intentará todas las combinaciones de contraseñas en el archivo de diccionario para acceder al servicio Telnet. - Configurar VPN y conectar a Telnet: Configura una VPN y luego ejecuta el comando
telnet <IP o nombre de host>
para observar cómo la VPN cifra el tráfico. - Desactivar Telnet y habilitar SSH:
- Deshabilita Telnet eliminando su paquete:
sudo apt remove telnet
Instala SSH en su lugar:sudo apt install openssh-server
Conéctate usando SSH:ssh usuario@<IP o nombre de host>
- Deshabilita Telnet eliminando su paquete:
No te detengas, sigue avanzando
Aquí tienes un propósito que debes considerar seriamente: si has querido mejorar tus habilidades en hacking, Ciberseguridad y programación ahora es definitivamente el momento de dar el siguiente paso. ¡Desarrolla tus habilidades aprovechando nuestros cursos a un precio increíble y avanza en tu carrera! El mundo necesita más hackers…
- Cómo conseguir trabajo de hacker en 2024
- Trabaja remoto e internacionalmente como Hacker en 2024
- Se necesitan más Hackers – Hechos y estadísticas de 2024
- Se Necesitan más Hackers – La escasez de habilidades en ciberseguridad está empeorando
- El salario de un hacker – Cuanto se gana como Pentesters/ Infosec
- Las empresas te estan buscando para hacerle frente a los ciberataques
- Cómo convertirse en analista de ciberseguridad
- Inicia en hacking y ciberseguridad como analista SOC
- DevOps vs DevSecOps para Hackers
- DevOps vs DevSecOps para Empresas
¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?
Sobre los autores
Álvaro Chirou
Yo soy Álvaro Chirou, tengo más de 20 Años de experiencia trabajando en Tecnología, eh dado disertaciones en eventos internacionales como OWASP, tengo más de 1.800.000 estudiantes en Udemy y 100 formaciones profesionales impartidas en la misma. Puedes seguirme en mis redes:
Laprovittera Carlos
Soy Laprovittera Carlos. Con más de 20 años de experiencia en IT brindo Educación y Consultoría en Seguridad de la Información para profesionales, bancos y empresas. Puedes saber más de mi y de mis servicios en mi sitio web: laprovittera.com y seguirme en mis redes:
Hacker de 0 a 100 desde las bases hasta conseguir empleo
¿Quieres iniciarte en hacking y ciberseguridad pero no sabes por dónde empezar? Inicia leyendo nuestra guia gratuita: https://achirou.com/hacker-de-0-a-100-desde-las-bases-hasta-conseguir-empleo/ que te lleva de 0 a 100. Desde los fundamentos más básicos, pasando por cursos, recursos y certificaciones hasta cómo obtener tu primer empleo.
Hemos creado una ruta de 0 a 100. Un plan de desarrollo que va desde las bases: cómo aprender hacking, qué aprender, en qué orden; pasando por las areas técnicas necesarias como Linux, Redes, Programación y los conocimientos necesarios en ciber seguridad, hacking, pentesting hasta la práctica y el inicio laboral: Crear tu propio laboratorio, certificaciones, adquirir experiencia e iniciarse laboralmente.
Este es un mega post. Una guía con más de 250 artículos que te llevaran por el camino del hacker. Esta guía es gratuita y esta creada gracias al esfuerzo y al trabajo combinado de Alvaro Chirou y mío (Laprovittera Carlos).
Creamos esta guía (futuro curso) para que puedas iniciarte en este mundo. Puedes arrancar ahora, GRATIS, solo necesitas un PC, conexión a internet y paciencia (Ser hacker NO ES un camino de la noche a la mañana).
El Hacking y la ciberseguridad es una carrera divertida, emocionante y gratificante que te recompensará y desafiará por igual. Sin embargo, para quienes buscan adentrarse en este campo en auge y en constante evolución, puede resultar difícil saber por dónde empezar. ¡Ahí es donde entra en juego nuestra guía en ciberseguridad!
Esta es la hoja de ruta hacia el trabajo de ciberseguridad de tus sueños. Te ayudará a entender qué conocimientos, habilidades y certificados son necesarios para alcanzar tus metas profesionales y tener una carrera próspera. Si quieres ser consultor de ciberseguridad, analista de malware, evaluador de penetración, analista de SOC o cualquier otro puesto de ciberseguridad, esta guía es lo que necesitas.
SIGUE APRENDIENDO GRATIS CON NUESTRAS GUIAS
- Cómo Iniciarse en Hacking y Ciberseguridad en 2024
- Hacker de 0 a 100 desde las bases hasta conseguir empleo
- Curso de Redes para Hackers
- Curso Gratis de Programación
- Curso Gratis Linux – Capitulo 1 – Introducción a Linux
- Curso Gratis de Redes – Capitulo 1 – Tipos de redes y servicios
- Guía de Hacking y Pentesting capitulo 1: Introducción al Pentesting
- Como iniciarse en TRY HACK ME – Complete Beginner #1
- OSINT #1 Más de 200 Search Tools
- Curso Gratis de Java para Hackers
- Hardware para Hackers – Los mejores 40 Dispositivos de Hacking
- Guía de Flipper Zero – Qué es y para qué sirve
- SIGUE APRENDIENDO GRATIS EN NUESTRO BLOG
Aprende con nuestros más de 100 cursos que tenemos disponibles para vos
Compartimos estos recursos para ayudar a la comunidad de hacking y ciberseguridad. COMPARTE y Siéntete libre de agregar más sugerencias en los comentarios a continuación, respondemos todos y cada uno de los comentarios.
Saludos amigos y happy hacking!!!