Personalizar Números de Puerto de Hydra

HydraBeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderá cómo personalizar el número de puerto FTP en un sistema objetivo y luego utilizar Hydra para realizar un ataque de fuerza bruta contra el servicio FTP en ese puerto personalizado. Esta es una habilidad valiosa para los probadores de penetración y profesionales de seguridad que necesitan evaluar la seguridad de sistemas que se han configurado con puertos FTP no estándar.

El laboratorio implica configurar el servidor FTP en la máquina virtual (VM) de LabEx para que escuche en un puerto no estándar modificando el archivo vsftpd.conf y reiniciando el servicio FTP. Luego, utilizará el comando netstat para verificar que el servidor FTP está escuchando en el nuevo puerto. Finalmente, utilizará Hydra con la opción -s para especificar el puerto personalizado y ejecutar un ataque FTP, validando que Hydra puede conectarse exitosamente al servicio FTP en el puerto configurado.

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 97%. Ha recibido una tasa de reseñas positivas del 95% por parte de los estudiantes.

Configurar FTP en un Puerto No Estándar

En este paso, configuraremos el servidor FTP en la máquina virtual (VM) de LabEx para que escuche en un puerto no estándar. Por defecto, FTP utiliza el puerto 21. Cambiar el puerto FTP puede ayudar a reducir el riesgo de ataques automatizados que apuntan al puerto predeterminado.

Primero, editemos el archivo de configuración de FTP. Utilizaremos el editor nano, que está preinstalado en la máquina virtual de LabEx.

sudo nano /etc/vsftpd.conf

Este comando abre el archivo vsftpd.conf en el editor nano.

Agregue la siguiente línea al archivo:

listen_port=2121
add listen_port

Si la línea listen_port no existe, agréguela al archivo. Es una buena práctica agregarla cerca de la parte superior del archivo.

Después de realizar los cambios, guarde el archivo presionando Ctrl+X, luego Y para confirmar y luego Enter para guardar con el mismo nombre de archivo.

A continuación, necesitamos reiniciar el servicio FTP para que los cambios surtan efecto.

sudo service vsftpd restart

Este comando reinicia el servicio FTP. Debería ver una salida que indique que el servicio se ha reiniciado.

Finalmente, verifiquemos que el servidor FTP ahora está escuchando en el nuevo puerto. Podemos usar el comando netstat para verificar los puertos en escucha.

sudo netstat -tulnp | grep vsftpd

Este comando muestra toda la información de TCP, UDP, puertos en escucha y procesos, y luego filtra la salida para mostrar solo las líneas que contengan "vsftpd". Debería ver una línea que indique que vsftpd está escuchando en el puerto 2121 (o el puerto que haya elegido).

Ejemplo de salida:

tcp6       0      0 :::2121                 :::*                    LISTEN      1027/vsftpd
check FTP port

Si ve el nuevo número de puerto en la salida, significa que el servidor FTP ahora está escuchando en el nuevo puerto.

Especificar el Puerto con la Opción -s

En este paso, aprenderemos cómo especificar un puerto no estándar cuando se utiliza el comando ftp. Esto es crucial porque en el paso anterior, cambiamos el puerto de escucha del servidor FTP del predeterminado 21 a un puerto personalizado (por ejemplo, 2121). Ahora, cuando nos conectamos al servidor, necesitamos decirle al cliente ftp qué puerto utilizar.

El comando ftp proporciona la opción -p para especificar el número de puerto. Sin embargo, Hydra utiliza la opción -s para especificar el puerto. Es importante entender esta diferencia mientras nos preparamos para el ataque de Hydra en el siguiente paso.

Intentemos conectarnos al servidor FTP utilizando el comando ftp con la opción -p para verificar la conexión. Reemplace localhost con la dirección IP de la máquina virtual de LabEx. Si está ejecutando este laboratorio en la misma máquina virtual, puede utilizar localhost o 127.0.0.1.

ftp localhost -p 2121

Se le pedirá el nombre de usuario y la contraseña. Presione Ctrl+C para salir.

Ahora, simulemos cómo Hydra especificará el puerto. Aunque aún no usaremos realmente Hydra, este paso es importante para entender la sintaxis. Hydra utiliza la opción -s para especificar el puerto.

La sintaxis de Hydra para especificar el puerto es diferente del comando ftp estándar. Hydra utiliza -s seguido del número de puerto. Por ejemplo, si estuviéramos utilizando Hydra para atacar el servicio FTP en el puerto 2121, incluiríamos -s 2121 en el comando de Hydra.

Para demostrar esto, creemos un comando de Hydra ficticio. No lo ejecutaremos, pero ilustrará la sintaxis correcta.

hydra -l ftpuser -P ~/project/password.txt localhost ftp -s 2121
hydra syntax

Lo más importante aquí es la parte -s 2121. Esto le dice a Hydra que se conecte al servicio FTP en el puerto 2121.

En resumen, mientras que el comando ftp estándar utiliza -p para especificar el puerto, Hydra utiliza -s. Entender esta diferencia es crucial para el siguiente paso, donde ejecutaremos un ataque FTP utilizando Hydra.

Ejecutar un Ataque FTP en un Puerto Personalizado

En este paso, utilizaremos Hydra para realizar un ataque de fuerza bruta contra el servicio FTP que se ejecuta en el puerto no estándar que configuramos en el primer paso. Utilizaremos la lista de contraseñas que se creó durante la fase de configuración.

Ahora estamos listos para lanzar el ataque de Hydra. Reemplace localhost con la dirección IP de la máquina virtual de LabEx. Si está ejecutando este laboratorio en la misma máquina virtual, puede utilizar localhost o 127.0.0.1.

hydra -l ftpuser -P ~/project/password.txt localhost ftp -s 2121 -vV

Desglosemos este comando:

  • hydra: El comando para ejecutar la herramienta Hydra.
  • -l ftpuser: Especifica el nombre de usuario a atacar.
  • -P ~/project/password.txt: Especifica la ruta al archivo de lista de contraseñas que se creó durante la configuración.
  • localhost: Especifica la dirección IP de destino. Reemplace localhost con la dirección IP real.
  • ftp: Especifica el servicio a atacar (FTP en este caso).
  • -s 2121: Especifica el número de puerto. Esto es crucial porque cambiamos el puerto FTP a 2121 en el primer paso.
  • -vV: Habilita el modo detallado, que muestra los intentos de inicio de sesión en tiempo real.

Ejecute el comando. Hydra comenzará a probar diferentes contraseñas del archivo ~/project/password.txt contra el servicio FTP en el puerto especificado.

Si Hydra encuentra la contraseña correcta, mostrará la información de inicio de sesión exitoso. Por ejemplo:

[ATTACKER] attacking ftp://localhost:2121/
[2121][ftp] host: localhost   login: ftpuser   password: password123

Si Hydra no encuentra la contraseña correcta, probará todas las contraseñas de la lista y luego saldrá sin mostrar un inicio de sesión exitoso.

Nota de Seguridad Importante: Este laboratorio es solo con fines educativos. No utilice Hydra para atacar sistemas sin permiso explícito. El acceso no autorizado a sistemas informáticos es ilegal y poco ético.

Validar la Conexión al Puerto Correcto

En este último paso, validaremos que todavía podemos conectarnos al servidor FTP en el puerto personalizado después del intento de ataque de Hydra. Esto confirma que el servicio FTP está funcionando como se espera y que podemos acceder a él utilizando el puerto especificado.

Utilice el comando ftp con la opción -p para conectarse al servidor FTP en el puerto personalizado. Reemplace localhost con la dirección IP de la máquina virtual de LabEx. Si está ejecutando este laboratorio en la misma máquina virtual, puede utilizar localhost o 127.0.0.1.

ftp -p 2121 localhost

Se le pedirá el nombre de usuario y la contraseña. Utilice las credenciales que creamos durante la configuración:

  • Nombre de usuario: ftpuser
  • Contraseña: password123

Si la conexión es exitosa, se iniciará sesión en el servidor FTP.

ftp login

Si no puede conectarse, verifique lo siguiente:

  • Asegúrese de que el servicio FTP todavía esté en ejecución. Puede verificar esto utilizando el comando netstat -tulnp | grep vsftpd, como hicimos en el primer paso.
  • Verifique que el puerto FTP todavía esté configurado en 2121 (o el puerto que haya elegido) en el archivo /etc/vsftpd.conf.
  • Asegúrese de que no haya reglas de firewall que bloqueen las conexiones al puerto personalizado. (Nota: El entorno de la máquina virtual de LabEx normalmente no tiene un firewall habilitado por defecto, pero es bueno tener esto en cuenta para escenarios del mundo real.)
  • Confirme que está utilizando el nombre de usuario y la contraseña correctos.

Una conexión exitosa confirma que el servidor FTP está funcionando en el puerto personalizado y que puede conectarse a él utilizando el comando ftp con la opción -p. Esto también valida que el ataque de Hydra, incluso si no fue exitoso, no interrumpió el servicio FTP.

Con esto se completa el laboratorio. Ha configurado con éxito FTP en un puerto no estándar, aprendido cómo especificar el puerto utilizando la opción -s con Hydra, ejecutado un ataque básico de Hydra y validado la conexión al puerto correcto.

Resumen

En este laboratorio, configuramos el servidor FTP en la máquina virtual de LabEx para que escuche en un puerto no estándar, específicamente el puerto 2121, en lugar del puerto predeterminado 21. Esto implicó editar el archivo /etc/vsftpd.conf utilizando nano para modificar o agregar la directiva listen_port, y luego reiniciar el servicio FTP utilizando sudo service vsftpd restart.

Finalmente, verificamos que el servidor FTP estaba efectivamente escuchando en el nuevo puerto utilizando el comando netstat -tulnp | grep vsftpd para comprobar los puertos en escucha y confirmar que vsftpd estaba asociado con el puerto 2121.