Generar contraseñas con la opción -x
En este paso, exploraremos cómo utilizar la opción -x
en Hydra para generar contraseñas basadas en un formato especificado. Esto es especialmente útil cuando tienes algún conocimiento sobre la estructura potencial de la contraseña, como un prefijo o sufijo común.
La opción -x
de Hydra te permite definir una longitud mínima y máxima para las contraseñas generadas, junto con un conjunto de caracteres a utilizar. La sintaxis es -x min:max:charset
.
Comencemos con un ejemplo sencillo. Supongamos que queremos generar contraseñas que tengan entre 6 y 8 caracteres de longitud, utilizando solo letras minúsculas.
Primero, navega al directorio ~/project
:
cd ~/project
Ahora, usemos Hydra para generar contraseñas e intentar descifrar un servidor FTP. Con fines de demostración, usaremos un servidor FTP ficticio que siempre acepta cualquier nombre de usuario y contraseña. Usaremos localhost
como objetivo, suponiendo que un servidor FTP está funcionando localmente (aunque no es necesario para este paso de generación de contraseñas).
Ejecuta el siguiente comando:
hydra -l user -P /dev/null -vV -x 6:8:lc localhost ftp
Desglosemos este comando:
hydra
: La herramienta de línea de comandos de Hydra.
-l user
: Especifica el nombre de usuario a utilizar. Aquí estamos usando "user", pero podría ser cualquier nombre de usuario.
-P /dev/null
: Le dice a Hydra que no utilice un archivo de lista de contraseñas. En su lugar, estamos usando -x
para generar contraseñas. /dev/null
es un archivo especial que descarta cualquier dato escrito en él.
-vV
: Habilita la salida detallada, mostrando cada intento de inicio de sesión.
-x 6:8:lc
: Esta es la parte clave. Le dice a Hydra que genere contraseñas con:
6
: Longitud mínima de 6 caracteres.
8
: Longitud máxima de 8 caracteres.
lc
: Utilizar solo letras minúsculas (a - z). Otras opciones incluyen uc
(mayúsculas), 12
(dígitos), sc
(símbolos). Puedes combinarlas, por ejemplo, lcuc12
para minúsculas, mayúsculas y dígitos.
localhost
: El host objetivo (en este caso, nuestro servidor FTP ficticio).
ftp
: El servicio a atacar (FTP).
Verás que Hydra intenta iniciar sesión con contraseñas generadas como "aaaaaa", "aaaaaaa", "aaaaaaaa", "aaaaab", etc. Dado que estamos usando /dev/null
como archivo de contraseñas, Hydra solo utilizará las contraseñas generadas por la opción -x
.
Nota importante: Este ejemplo utiliza un servidor FTP ficticio con fines de demostración. No intentes descifrar servidores FTP sin permiso explícito.
Ahora, probemos un ejemplo más complejo. Supongamos que sabemos que las contraseñas pueden comenzar con "prefix" y terminar con un dígito, con 4 - 6 caracteres alfanuméricos en el medio.
No podemos especificar directamente un prefijo y un sufijo con -x
. Sin embargo, podemos generar la parte del medio y luego agregar los prefijos y sufijos conocidos utilizando otras herramientas (como sed
o awk
) para crear un archivo de lista de contraseñas, que luego usaríamos con Hydra. Por simplicidad, nos limitaremos al uso básico de -x
en este paso. Exploraremos manipulaciones más avanzadas de listas de contraseñas en pasos posteriores.
Por ahora, generemos contraseñas que tengan entre 8 y 10 caracteres de longitud, utilizando letras minúsculas y dígitos:
hydra -l user -P /dev/null -vV -x 8:10:lc12 localhost ftp
Esto generará contraseñas como "aaaaaaaa", "aaaaaaa1", "aaaaaa11", etc.
Este paso demostró cómo utilizar la opción -x
para generar contraseñas con restricciones específicas de longitud y conjunto de caracteres. Esta es una técnica poderosa cuando tienes algún conocimiento previo sobre la estructura potencial de la contraseña.