Rompiendo contraseñas después de un patrón con John

1

Por lo tanto, estoy tratando de descubrir lo fácil que es descifrar una contraseña con algunas herramientas excelentes de Linux.

Todos sabemos que John es un cracker de contraseñas y lo bueno que es. Pero ¿qué hay de especificar un patrón.

Asumamos las siguientes políticas.

  • Una contraseña debe comenzar con una letra mayúscula seguida de 3 letras minúsculas
  • Una contraseña debe terminar con 3 números
  • Una contraseña debe tener exactamente 7 de longitud

Ejemplo de contraseña: Aabc123

Así que no tengo ni la menor idea de cómo hacer esto. Intenté buscarlo en Google, pero no tuve éxito ni siquiera se me hicieron pistas.

¿Hay una manera de configurar a John para hacer esto y cómo?

    
pregunta Daniel 20.12.2013 - 21:20
fuente

3 respuestas

4

Su mejor apuesta es usar el procesador de máscara de oclHashcat disponible aquí .

Puede usar esto para crear una lista de palabras con sus especificaciones exactas.

?u is uppercase
?l is lowercase
?d are digits

Para que pueda hacer una lista de palabras de las siguientes:

mp64.exe ?u?l?l?l?d?d?d > wordlist.txt

Ejecute oclHashcat o JTR contra esa lista de palabras y ya está listo.

    
respondido por el Peleus 21.12.2013 - 13:42
fuente
2

Un método simple sería generar la lista de palabras ya que solo hay 26 * 26 * 26 * 26 * 10 * 10 * 10 posibilidades, por lo que su lista de palabras sería de aproximadamente 3.4 GB (8 bytes por contraseña; los siete caracteres y una salto de línea).

Esto sería trivial en cualquier lenguaje de programación; por ejemplo, en python usaría:

import string
uppers = string.ascii_uppercase # 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
lowers = string.ascii_lowercase # 'abcdefghijklmnopqrstuvwxyz'
with open('wordlist.out', 'w') as f:
    for c1 in uppers:
        for c2 in lowers:
            for c3 in lowers:
                for c4 in lowers:
                    for d in range(1000):
                        f.write('%s%s%s%s%03d\n' % (c1, c2, c3, c4, d))

Este método intentará cada contraseña en orden alfabético, por ejemplo, Aaaa000 primero, luego Aaaa001, ..., Aaaa999, Aaab000, Aaab001, ..., Azzz999, ... Baaa000. Puede reorganizar el anidamiento de los bucles for si desea recorrer en un orden diferente.

    
respondido por el dr jimbob 21.12.2013 - 15:28
fuente
0

No estoy familiarizado con John, pero me imagino que John le permite pasar expresiones regulares como parámetro a uno de sus métodos. El conocimiento de las expresiones regulares bien vale su tiempo para adquirirlo.

    
respondido por el Christopher Basinger 21.12.2013 - 13:17
fuente

Lea otras preguntas en las etiquetas