Introducción
Las listas de palabras son una parte clave de los ataques de contraseña de fuerza bruta. Para aquellos lectores que no estén familiarizados, un ataque de contraseña de fuerza bruta es un ataque en el que un atacante utiliza un script para intentar iniciar sesión repetidamente en una cuenta hasta que recibe un resultado positivo. Los ataques de fuerza bruta son bastante evidentes y pueden hacer que un servidor correctamente configurado bloquee a un atacante o su IP.
Este es el objetivo de probar la seguridad de los sistemas de inicio de sesión de esta manera. Su servidor debe prohibir a los atacantes que intenten estos ataques y debe informar el aumento del tráfico. Por parte del usuario, las contraseñas deberían ser más seguras. Es importante entender cómo se lleva a cabo el ataque para crear y hacer cumplir una política de contraseña segura.
Kali Linux viene con una poderosa herramienta para crear listas de palabras de cualquier longitud. Es una sencilla utilidad de línea de comandos llamada Crunch. Tiene una sintaxis simple y se puede ajustar fácilmente para satisfacer sus necesidades. Sin embargo, tenga cuidado, estas listas pueden ser muy grande y puede llenar fácilmente un disco duro completo.
Generación de una lista
Para comenzar, abre una terminal. Crunch ya está instalado y listo para funcionar en Kali, por lo que puede ejecutarlo. Para la primera lista, comience con algo pequeño, como el siguiente.
# crunch 1 3 0123456789
Muy bien, la línea de arriba creará una lista de todas las combinaciones posibles de los números del cero al nueve con uno, dos y tres caracteres. Para reiterar, el primer número es la combinación más pequeña de caracteres. En este caso, es un solo personaje. Esto es un poco irreal, ya que nadie debería tener una contraseña de un solo carácter y ningún sitio debería permitirla.
El segundo número es la combinación más larga de caracteres. Esta vez, son tres. Entonces, Crunch generará todas las combinaciones posibles de tres de los personajes provistos.
La última parte es la lista de todos los personajes que Crunch usará para hacer las combinaciones. Esta lista es relativamente pequeña, así que siéntase libre de ejecutarla, pero tan pronto como comience a agregar más caracteres o aumente el tamaño máximo de la combinación, el tamaño total de la lista se disparará.
El escenario anterior no es tan realista, aunque podría aplicarse a la combinación de pines para desbloquear un teléfono o algo por el estilo. Se podría generar una lista más realista con el siguiente comando de Linux.
# crunch 3 5 0123456789abcdefghijklmnopqrstuvwxyz
Ese comando generará todas las combinaciones posibles de tres, cuatro y cinco caracteres de los números del cero al nueve y el alfabeto usando caracteres en minúsculas. Aunque las contraseñas generadas serán cortas, la lista será absolutamente enorme.
Ahora, si tuviera el hardware y los recursos para probar realmente la seguridad de las contraseñas, puede ejecutar algo como el siguiente comando.
# crunch 3 10 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
¡CUIDADO! No intente ejecutar eso. Generará un archivo que llenará fácilmente todo su disco duro y será prácticamente inutilizable con el hardware normal. Sin embargo, si alguien pudiera usarlo, podría probar cada contraseña con cada combinación de tres a diez caracteres usando todos los números y el alfabeto en mayúsculas y minúsculas.
Capturar la salida
Lo que has visto hasta ahora es solo mostrar números en la pantalla. Eso obviamente no es muy útil. Después de todo, se supone que debe generar un archivo de texto para usar con otro programa. Crunch como indicador integrado para generar resultados en forma de archivo de texto.
# crunch 3 5 0123456789abcdefghijklmnopqrstuvwxyz -o Documents/pass.txt
Simplemente agregando el -o
marca y especificando un destino, puede crear su lista de palabras en forma de un archivo de texto con el formato adecuado.
Sin embargo, hay otra manera de manejar esto. Digamos que ya tiene una buena lista de palabras con malas contraseñas populares. De hecho, hay uno instalado en Kali de forma predeterminada en /usr/share/wordlists
llamado rockyou.txt
. Solo tienes que descomprimirlo. ¿Qué sucede si desea agregar su lista de palabras generada en rockyou.txt
? para probar posibilidades adicionales de una sola vez. Puede. Simplemente redirija la salida de Crunch al archivo.
# crunch 3 5 0123456789abcdefghijklmnopqrstuvwxyz >> /usr/share/wordlists/rockyou.txt
El archivo será muy grande, así que asegúrese de tener espacio y de querer probar tantas posibilidades.
Pensamientos finales
No hay mucho más que decir. Crunch es una excelente herramienta para crear listas de palabras. Como cualquier herramienta de seguridad, debe usarse con inteligencia y discreción. En el caso de realmente contraseñas incorrectas, Crunch puede crear una lista corta rápidamente para que la prueben otros programas como Hydra. Las guías futuras explorarán las otras herramientas que pueden usar las listas de palabras creadas por Crunch para probar contraseñas vulnerables.