CRUNCH – Crear su propia wordlist

Share this…

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>

crunch01

  • 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

crunch02

  • 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

crunch03

Iniciar Crunch para descubrir más funciones

  • Escribir crunch

crunch04

  • Escribir man crunch

crunch05.png


crunch06


crunch07

  • 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

crunch08

  • 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

crunch09

  • 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.