Al tratar de crackear una contraseña, un hacker siempre necesitará una lista de palabras (wordlist). Normalmente, las listas de palabras utilizan miles de palabras por segundo para descifrar una contraseña. Si el atacante recopila información sobre la víctima, como fechas de cumpleaños, nombres sus hijos, mascotas, nombres de novias, etc., el atacante puede usar esa información para crear una lista de palabras personalizada.
Demás, al atacar cualquier organización, es posible que el hacker requiera una lista de palabras personalizada, para generar la lista de palabras para atacar. Es por eso que se utiliza Crunch. Crunch es una herramienta incorporada de Kali Linux. Crunch ayuda a crear una lista de palabras personalizada. Y esa lista de palabras se puede utilizar en herramientas como John The Ripper, Cain And Abel, Aircrack-ng y muchas más herramientas para descifrar contraseñas.
Investigadores en hacking ético del Instituto Internacional de Seguridad Cibernética mencionan que Crunch se utiliza principalmente en el ataque masivo a páginas web de inicio de sesión de plataformas de redes sociales populares, así como en ataques a grandes compañías tecnológicas.
Comandos básicos en Crunch
crunch <mini. password length> <max. password length>
- También puede especificar los números o los caracteres en la lista de palabras. Si especifica el carácter, la lista de palabras se generará en caracteres y si especifica los números, la lista de palabras se generará en números como se muestra a continuación
- Aquí la lista de palabras se generará en caracteres
- Escriba crunch 2 4 abcdefgh
- 2 es la longitud mínima de la contraseña y 4 es la longitud máxima
- Se utilizan los caracteres abcdefgh para generar la lista
- También puedes usar números para generar la lista de palabras
- Aquí la lista de palabras se generará en números
- Escriba crunch 2 4 123456789
- 2 es la longitud mínima de la contraseña y 4 es la longitud máxima
- Se utilizan 123456789 números para generar la lista
Iniciar Crunch para descubrir más funciones
- Escribir crunch
- Escribir man crunch
- Las capturas de pantalla anteriores son las páginas de manual de Crunch. Estas páginas del manual se pueden utilizar para conocer las opciones del comando crunch
Crear una lista de palabras simple
Estamos asumiendo que el objetivo tiene una contraseña entre 2 y 4 caracteres. Así que Crunch hará que la lista de palabras contenga entre 2 a 4 caracteres.
- Escriba crunch 2 4 en el terminal de Linux
- 2 es la longitud mínima de la contraseña y 4 es la longitud máxima
- Como puede ver, Crunch ha comenzado a hacer la lista de palabras. Tenga en cuenta que una lista de palabras se ha creado entre 2 y 4 caracteres
- Puede utilizar la lista de palabras anterior para descifrar la contraseña
Crear la lista de palabras con números
- Escriba crunch 10 10 9875347821 -o /root/numericlist.txt
- 9875347821 son los números utilizados para generar la lista
- 10 es la longitud mínima de la contraseña y el siguiente 10 es la longitud máxima de la contraseña en el comando anterior
- -o /path/to/save/list se usa para especificar la ubicación para guardar la lista de palabras
root@kali:~# crunch 10 10 9875347821 -o /root/numericlist.txt Crunch will now generate the following amount of data: 11811160064 bytes 11264 MB 11 GB 0 TB 0 PB Crunch will now generate the following number of lines: 1073741824 crunch: 1% completed generating output crunch: 2% completed generating output crunch: 3% completed generating output crunch: 4% completed generating output crunch: 5% completed generating output crunch: 6% completed generating output crunch: 7% completed generating output crunch: 7% completed generating output crunch: 8% completed generating output crunch: 9% completed generating output crunch: 9% completed generating output crunch: 10% completed generating output crunch: 11% completed generating output crunch: 11% completed generating output crunch: 12% completed generating output crunch: 13% completed generating output crunch: 14% completed generating output crunch: 15% completed generating output crunch: 16% completed generating output crunch: 17% completed generating output crunch: 18% completed generating output crunch: 19% completed generating output crunch: 20% completed generating output crunch: 22% completed generating output crunch: 23% completed generating output crunch: 24% completed generating output crunch: 25% completed generating output crunch: 26% completed generating output crunch: 27% completed generating output crunch: 28% completed generating output crunch: 29% completed generating output crunch: 30% completed generating output crunch: 31% completed generating output crunch: 33% completed generating output crunch: 34% completed generating output crunch: 35% completed generating output crunch: 36% completed generating output crunch: 38% completed generating output crunch: 39% completed generating output crunch: 40% completed generating output crunch: 41% completed generating output crunch: 43% completed generating output crunch: 44% completed generating output crunch: 45% completed generating output crunch: 46% completed generating output crunch: 47% completed generating output crunch: 48% completed generating output crunch: 49% completed generating output crunch: 51% completed generating output crunch: 52% completed generating output crunch: 53% completed generating output crunch: 54% completed generating output crunch: 55% completed generating output crunch: 56% completed generating output crunch: 57% completed generating output crunch: 59% completed generating output crunch: 60% completed generating output crunch: 61% completed generating output crunch: 62% completed generating output crunch: 64% completed generating output crunch: 65% completed generating output crunch: 66% completed generating output crunch: 67% completed generating output crunch: 68% completed generating output crunch: 70% completed generating output crunch: 71% completed generating output crunch: 72% completed generating output crunch: 73% completed generating output crunch: 74% completed generating output crunch: 76% completed generating output crunch: 77% completed generating output crunch: 78% completed generating output crunch: 79% completed generating output crunch: 80% completed generating output crunch: 82% completed generating output crunch: 83% completed generating output crunch: 84% completed generating output crunch: 85% completed generating output crunch: 86% completed generating output crunch: 88% completed generating output crunch: 89% completed generating output crunch: 90% completed generating output crunch: 91% completed generating output crunch: 92% completed generating output crunch: 93% completed generating output crunch: 94% completed generating output crunch: 95% completed generating output crunch: 97% completed generating output crunch: 98% completed generating output crunch: 99% completed generating output crunch: 100% completed generating output
- Después de ejecutar el comando anterior, la contracción generará la lista de contraseñas utilizando los números <9875347821>
root@kali:~# ls root@kali:~# head numericlist.txt 9999999999 9999999998 9999999997 9999999995 9999999993 9999999994 9999999992 9999999991 9999999989 9999999988
- La lista numérica anterior podría usarse si el atacante conoce el número de móvil del objetivo. Podría ser una posibilidad que la contraseña sea un número de teléfono
Crear la lista de palabras con otras opciones
Usar opción –i
-i se utiliza para invertir el output. Esta opción invierte el output generado sin la opción -i. Si no usamos -i, Crunch generará la lista en aa, ab, ac, ad, ae, pero si usa -i, Crunch generará la lista en aa, ba, ca, da, ea como se muestra a continuación.
- Escriba crunch 1 2 abcdefgh -i -o/root/wordlist2/txt
- abcdefgh son los caracteres utilizados en la generación de la lista
- 1 es la longitud mínima de la contraseña y 2 es la longitud máxima de la contraseña en el comando anterior
- -o /path/to/save/list se usa para especificar la ubicación para guardar la lista de palabras
root@kali:~# crunch 1 2 abcdefgh -i -o /root/wordlist2.txt Crunch will now generate the following amount of data: 208 bytes 0 MB 0 GB 0 TB 0 PB Crunch will now generate the following number of lines: 72 a b c d e f g h aa ba ca da ea fa ga ha ab bb cb db eb fb gb hb ac bc cc dc ec fc gc hc ad bd cd
- La salida anterior está invirtiendo la salida generada sin la opción –i
iicybersecurity@kali:/root$ crunch 2 4 Crunch will now generate the following amount of data: 2357212 bytes 2 MB 0 GB 0 TB 0 PB Crunch will now generate the following number of lines: 475228 aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as
Para caracteres en minúsculas
Uso de la opción –t
- -t te permite especificar un patrón
- @ insertará caracteres en minúsculas
- , insertará caracteres en mayúsculas
- % insertará números
- ^ insertará símbolos
Ahora vamos a tomar comandos -t uno por uno:
- <@> inserta letras minúsculas.
- Escriba crunch 10 10 -t @@@@@@ 0316 -o /root/birth_datlist.txt
- 10 es el mínimo y 10 siguientes es la longitud máxima de la contraseña en el comando anterior
- -o /path/to/save/list se usa para guardar la lista
- Aquí 0316 es la fecha de nacimiento utilizada para generar la lista
root@kali:~# crunch 10 10 -t @@@@@@0316 -o /root/birth_datlist.txt Crunch will now generate the following amount of data: 3398073536 bytes 3240 MB 3 GB 0 TB 0 PB Crunch will now generate the following number of lines: 308915776 crunch: 2% completed generating output crunch: 5% completed generating output crunch: 8% completed generating output crunch: 10% completed generating output crunch: 13% completed generating output crunch: 16% completed generating output crunch: 18% completed generating output crunch: 21% completed generating output crunch: 24% completed generating output crunch: 27% completed generating output crunch: 29% completed generating output crunch: 32% completed generating output crunch: 35% completed generating output crunch: 37% completed generating output crunch: 40% completed generating output crunch: 43% completed generating output crunch: 45% completed generating output crunch: 48% completed generating output crunch: 51% completed generating output crunch: 54% completed generating output crunch: 56% completed generating output crunch: 59% completed generating output crunch: 62% completed generating output crunch: 64% completed generating output crunch: 67% completed generating output crunch: 70% completed generating output crunch: 72% completed generating output crunch: 75% completed generating output crunch: 78% completed generating output crunch: 81% completed generating output crunch: 83% completed generating output crunch: 87% completed generating output crunch: 90% completed generating output crunch: 92% completed generating output crunch: 95% completed generating output crunch: 99% completed generating output crunch: 100% completed generating output
- Como suponemos que podemos tomar ese objetivo, podemos tener una contraseña en las fechas de cumpleaños. Así podemos generar la lista de palabras en las fechas de nacimiento
root@kali:~# ls root@kali:~# head birth_datlist.txt aaaaaa0316 aaaaab0316 aaaaac0316 aaaaad0316 aaaaae0316 aaaaaf0316 aaaaag0316 aaaaah0316 aaaaai0316 aaaaaj0316
- Como puede ver, la lista anterior se ha generado utilizando la fecha de cumpleaños particular. La información anterior se puede utilizar en el craqueo de contraseñas
Para caracteres en mayúsculas
- <,> inserta caracteres en mayúsculas.
- Escriba crunch 10 10 -t ,,,,,, 0316 -o /root/birth_dat2list.txt
- 0316 se utiliza como fecha de cumpleaños para generar la lista
- 10 es la longitud mínima de la contraseña y el siguiente 10 es la longitud máxima de la contraseña en el comando anterior
root@kali:~# crunch 10 10 -t ,,,,,,0316 -o /root/birth_dat2list.txt Crunch will now generate the following amount of data: 3398073536 bytes 3240 MB 3 GB 0 TB 0 PB Crunch will now generate the following number of lines: 308915776 crunch: 2% completed generating output crunch: 5% completed generating output crunch: 8% completed generating output crunch: 11% completed generating output crunch: 13% completed generating output crunch: 16% completed generating output crunch: 18% completed generating output crunch: 21% completed generating output crunch: 24% completed generating output crunch: 27% completed generating output crunch: 29% completed generating output crunch: 32% completed generating output crunch: 34% completed generating output crunch: 36% completed generating output crunch: 39% completed generating output crunch: 42% completed generating output crunch: 44% completed generating output crunch: 47% completed generating output crunch: 50% completed generating output crunch: 52% completed generating output crunch: 55% completed generating output crunch: 58% completed generating output crunch: 60% completed generating output crunch: 63% completed generating output crunch: 66% completed generating output crunch: 69% completed generating output crunch: 71% completed generating output crunch: 74% completed generating output crunch: 77% completed generating output crunch: 80% completed generating output crunch: 83% completed generating output crunch: 86% completed generating output crunch: 89% completed generating output crunch: 92% completed generating output crunch: 94% completed generating output crunch: 97% completed generating output crunch: 100% completed generating output root@kali:~# ls root@kali:~# head birth_dat2list.txt AAAAAA0316 AAAAAB0316 AAAAAC0316 AAAAAD0316 AAAAAE0316 AAAAAF0316 AAAAAG0316 AAAAAH0316 AAAAAI0316 AAAAAJ0316
- Después de ejecutar el comando anterior, la consulta generará la lista de palabras en mayúsculas
Para números
- <%> se utiliza para generar números
- Escriba crunch 10 10 -t %%%%%% 0618 -o /root/petnameslist.txt
- 0618 utilizar como fechas de cumpleaños para generar la lista
- -o se utiliza para guardar la ruta de la lista
root@kali:~# crunch 10 10 -t %%%%%%0618 -o /root/petnameslist.txt Crunch will now generate the following amount of data: 11000000 bytes 10 MB 0 GB 0 TB 0 PB Crunch will now generate the following number of lines: 1000000 crunch: 100% completed generating output root@kali:~# ls root@kali:~# head petnameslist.txt 0000000618 0000010618 0000020618 0000030618 0000040618 0000050618 0000060618 0000070618 0000080618 0000090618
- La salida anterior se puede utilizar en el craqueo de contraseñas
CHARSET
Crunch proporciona una característica en la que puede generar una lista utilizando un conjunto de caracteres específico. Si sabe que su objetivo está utilizando la contraseña de 7 caracteres alfanuméricos, Puede generar una lista de las posibilidades en Crunch.
Para usar el conjunto de caracteres (charset), primero debe seleccionarlo.
- Escriba cd/usr/share/crunch
- Luego escriba ls
- Escriba cat charset.lst
root@kali:/usr/share/crunch# ls charset.lst root@kali:/usr/share/crunch# cat charset.lst # charset configuration file for winrtgen v1.2 by Massimiliano Montoro (mao@oxid.it) # compatible with rainbowcrack 1.1 and later by Zhu Shuanglei <shuanglei@hotmail.com> hex-lower = [0123456789abcdef] hex-upper = [0123456789ABCDEF] numeric = [0123456789] numeric-space = [0123456789 ] symbols14 = [!@#$%^&*()-_+=] symbols14-space = [!@#$%^&*()-_+= ] symbols-all = [!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/] symbols-all-space = [!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/ ] ualpha = [ABCDEFGHIJKLMNOPQRSTUVWXYZ] ualpha-space = [ABCDEFGHIJKLMNOPQRSTUVWXYZ ] ualpha-numeric = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789] ualpha-numeric-space = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ] ualpha-numeric-symbol14 = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=] ualpha-numeric-symbol14-space = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+= ] ualpha-numeric-all = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/] ualpha-numeric-all-space = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/ ] lalpha = [abcdefghijklmnopqrstuvwxyz] lalpha-space = [abcdefghijklmnopqrstuvwxyz ] lalpha-numeric = [abcdefghijklmnopqrstuvwxyz0123456789] lalpha-numeric-space = [abcdefghijklmnopqrstuvwxyz0123456789 ] lalpha-numeric-symbol14 = [abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_+=] lalpha-numeric-symbol14-space = [abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_+= ] lalpha-numeric-all = [abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/] lalpha-numeric-all-space = [abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/ ] mixalpha = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ] mixalpha-space = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ] mixalpha-numeric = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789] mixalpha-numeric-space = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ] mixalpha-numeric-symbol14 = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=] mixalpha-numeric-symbol14-space = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+= ] mixalpha-numeric-all = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/] mixalpha-numeric-all-space = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/ ] ######################################################################################### # SWEDISH CHAR-SUPPORT # ######################################################################################### ######################### # Uppercase # ######################### ualpha-sv = [ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ] ualpha-space-sv = [ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ ] ualpha-numeric-sv = [ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ0123456789] ualpha-numeric-space-sv = [ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ0123456789 ] ualpha-numeric-symbol14-sv = [ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ0123456789!@#$%^&*()-_+=] ualpha-numeric-symbol14-space-sv = [ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ0123456789!@#$%^&*()-_+= ] ualpha-numeric-all-sv = [ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/] ualpha-numeric-all-space-sv = [ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/ ] ######################### # Lowercase # ######################### lalpha-sv = [abcdefghijklmnopqrstuvwxyzåäö] lalpha-space-sv = [abcdefghijklmnopqrstuvwxyzåäö ] lalpha-numeric-sv = [abcdefghijklmnopqrstuvwxyzåäö0123456789] lalpha-numeric-space-sv = [abcdefghijklmnopqrstuvwxyzåäö0123456789 ] lalpha-numeric-symbol14-sv = [abcdefghijklmnopqrstuvwxyzåäö0123456789!@#$%^&*()-_+=] lalpha-numeric-symbol14-space-sv = [abcdefghijklmnopqrstuvwxyzåäö0123456789!@#$%^&*()-_+= ] lalpha-numeric-all-sv = [abcdefghijklmnopqrstuvwxyzåäö0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/] lalpha-numeric-all-space-sv = [abcdefghijklmnopqrstuvwxyzåäö0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/ ] ################### # Mixcase # ######################### mixalpha-sv = [abcdefghijklmnopqrstuvwxyzåäöABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ] mixalpha-space-sv = [abcdefghijklmnopqrstuvwxyzåäöABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ ] mixalpha-numeric-sv = [abcdefghijklmnopqrstuvwxyzåäöABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ0123456789] mixalpha-numeric-space-sv = [abcdefghijklmnopqrstuvwxyzåäöABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ0123456789 ] mixalpha-numeric-symbol14-sv = [abcdefghijklmnopqrstuvwxyzåäöABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ0123456789!@#$%^&*()-_+=] mixalpha-numeric-symbol14-space-sv = [abcdefghijklmnopqrstuvwxyzåäöABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ0123456789!@#$%^&*()-_+= ] mixalpha-numeric-all-sv = [abcdefghijklmnopqrstuvwxyzåäöABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/] mixalpha-numeric-all-space-sv = [abcdefghijklmnopqrstuvwxyzåäöABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/
- Puede utilizar cualquiera de los valores de configuración de caracteres para generar la lista
- Para mostrarte hemos seleccionado ualpha para generar la lista
- Para utilizar cualquier conjunto de caracteres, escriba:
crunch 8 8 -f /usr/share/crunch/charset.lst ualpha -o root/newwordlist.txt
- 8 es el número mínimo de longitud de contraseña y el siguiente 8 es el número máximo de longitud de contraseña
- /usr/share/crunch/charset.lst ualpha se utilizará un conjunto de caracteres particular para generar la lista
- -f para usar el charset.lst para crear Crunch
root@kali:/usr/share/crunch# crunch 8 8 -f /usr/share/crunch/charset.lst ualpha -o root/iicybersecurity/newlist.txt Crunch will now generate the following amount of data: 1879443581184 bytes 1792377 MB 1750 GB 1 TB 0 PB Crunch will now generate the following number of lines: 208827064576
- Después de ejecutar el comando anterior, Crunch ha generado la lista que se puede utilizar en el nivel masivo de ataques
Según investigadores de hacking ético del Instituto Internacional de Seguridad Cibernética, la lista de palabras debe ser útil al realizar pruebas de penetración, además hay otro método para crear listas de palabras utilizando twofi.
Ahora es el momento de generar su propia lista de palabras e intentar descifrar una contraseña con John The Ripper.
Trabajando como arquitecto de soluciones de ciberseguridad, Alisa se enfoca en la protección de datos y la seguridad de datos empresariales. Antes de unirse a nosotros, ocupó varios puestos de investigador de ciberseguridad dentro de una variedad de empresas de seguridad cibernética. También tiene experiencia en diferentes industrias como finanzas, salud médica y reconocimiento facial.
Envía tips de noticias a info@noticiasseguridad.com o www.instagram.com/iicsorg/
También puedes encontrarnos en Telegram www.t.me/noticiasciberseguridad