Configurar FTP con Múltiples Credenciales
En este paso, configuraremos un servidor FTP y lo configuraremos con múltiples credenciales de usuario. Esto nos permitirá probar la capacidad de Hydra para descifrar múltiples cuentas simultáneamente. Usaremos vsftpd (Very Secure FTP Daemon) como nuestro servidor FTP.
Primero, instalemos vsftpd. Abre tu terminal y ejecuta el siguiente comando:
sudo apt update
sudo apt install vsftpd -y
A continuación, necesitamos configurar vsftpd. Empezaremos creando una copia de seguridad del archivo de configuración original. Esto es una buena práctica antes de realizar cualquier cambio en los archivos de configuración del sistema.
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
Ahora, editemos el archivo de configuración /etc/vsftpd.conf usando nano. Este archivo controla el comportamiento del servidor FTP.
sudo nano /etc/vsftpd.conf
Dentro del editor nano, agrega o modifica las siguientes líneas. Estas configuraciones deshabilitarán el acceso anónimo, habilitarán los inicios de sesión de usuario local, permitirán el acceso de escritura y colocarán a los usuarios locales en su directorio de inicio para mayor seguridad.
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
listen=YES
listen_ipv6=NO
Para guardar el archivo en nano:
- Presiona
Ctrl + X para salir.
- Presiona
Y para confirmar el guardado.
- Presiona
Enter para confirmar el nombre del archivo.
Después de guardar el archivo, verifica el archivo de configuración para asegurarte de que los cambios se aplicaron correctamente, usando el siguiente comando:
sudo cat /etc/vsftpd.conf | grep -E "^(anonymous_enable|local_enable|write_enable|chroot_local_user|listen)"
Asegúrate de que la salida muestre la misma configuración que la que agregamos.
Ahora, creemos múltiples cuentas de usuario. Crearemos dos usuarios: testuser1 y testuser2, y estableceremos contraseñas para ellos. Estos usuarios serán utilizados por Hydra para intentar iniciar sesión.
Crea testuser1 con un directorio de inicio:
sudo useradd -m testuser1
Establece la contraseña para testuser1 usando un comando no interactivo:
echo 'testuser1:password123' | sudo chpasswd
Crea testuser2 con un directorio de inicio:
sudo useradd -m testuser2
Establece la contraseña para testuser2 usando un comando no interactivo:
echo 'testuser2:password456' | sudo chpasswd
Estos comandos son no interactivos y crearán los usuarios directamente sin solicitar entrada, lo que los hace más confiables en entornos automatizados.
Ahora, necesitamos corregir los permisos del directorio de inicio para la configuración de chroot. Cuando chroot_local_user=YES está habilitado, el directorio de inicio del usuario no debe ser escribible por el usuario por razones de seguridad:
sudo chmod 755 /home/testuser1
sudo chmod 755 /home/testuser2
Crea un subdirectorio escribible para cada usuario donde puedan cargar archivos:
sudo mkdir /home/testuser1/files
sudo mkdir /home/testuser2/files
sudo chown testuser1:testuser1 /home/testuser1/files
sudo chown testuser2:testuser2 /home/testuser2/files
A continuación, reinicia el servicio vsftpd para aplicar los cambios que hicimos al archivo de configuración y para reconocer a los nuevos usuarios.
sudo service vsftpd restart
Ahora, probemos el servidor FTP para asegurarnos de que funciona correctamente y que nuestros nuevos usuarios pueden iniciar sesión. Puedes usar el cliente de línea de comandos ftp para conectarte al servidor. Dado que estamos ejecutando el servidor localmente, podemos conectarnos a localhost.
ftp localhost
Se te pedirá un nombre de usuario. Introduce testuser1 y luego la contraseña password123. Si todo está configurado correctamente, deberías ver un mensaje que indica que has iniciado sesión.
Connected to localhost.
220 (vsFTPd 3.0.3)
Name (localhost:labex): testuser1
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
Puedes escribir bye para salir del cliente FTP.
ftp> bye
221 Goodbye.
Ahora, preparemos los archivos que Hydra utilizará para su ataque. Navega a tu directorio ~/project, que es tu directorio de trabajo predeterminado.
cd ~/project
Crea un archivo llamado users.txt en el directorio ~/project. Este archivo contendrá los nombres de usuario que Hydra intentará usar.
nano users.txt
Agrega los siguientes nombres de usuario a users.txt:
testuser1
testuser2
Guarda el archivo y cierra nano.
A continuación, crea un archivo llamado passwords.txt en el directorio ~/project. Este archivo contendrá una lista de contraseñas, incluyendo las correctas para nuestros usuarios de prueba, junto con algunas contraseñas incorrectas comunes.
nano passwords.txt
Agrega las siguientes contraseñas a passwords.txt:
password123
password456
password
123456
qwerty
Guarda el archivo y cierra nano.
Ahora tenemos un servidor FTP configurado con múltiples cuentas de usuario y una lista de nombres de usuario y contraseñas que Hydra puede usar para intentar descifrar las cuentas.