Descifrando una contraseña Archivo PDF protegido con John the Ripper

3

¿Qué sucede exactamente después de proporcionar el hash del archivo pdf a John para descifrar la contraseña?

¿John extrae solo el hash de contraseña del archivo y trabaja en él, o hay algo más?

    
pregunta rats20 10.03.2016 - 09:06
fuente

2 respuestas

5

Generalmente, el hash de destino que desea romper en el caso de un PDF es el hash del usuario, que se deriva de la contraseña del usuario. Un PDF hará dos cosas cuando se ingrese una contraseña para un PDF encriptado -

  1. Derivará una clave simétrica de la contraseña de usuario. Esta es la clave con la que se encripta el documento.
  2. Derivará un hash de la contraseña y lo comparará con el hash del usuario en los metadatos de los documentos para verificar si la contraseña es correcta.

PDF es extraño porque en realidad deriva la clave simétrica antes de calcular el hash, de hecho, la clave simétrica se usa en el cálculo del hash. El proceso de producción del hash es el siguiente:

  1. Derive la clave simétrica de la contraseña del usuario.
  2. Concatene los siguientes valores y pase el resultado a la función hash MD5:
    • Una cadena de relleno de 32 bytes (definida en la especificación)
    • El ID de documento de 16 bytes (contenido en los metadatos de los documentos)
  3. Cifre la salida de la llamada MD5 a través de RC4 con la clave simétrica del paso 1.
  4. Haz lo siguiente para i = 1 a 19:
    • Cree una nueva clave RC4 haciendo XOR en cada byte de la clave simétrica del paso 1 con i .
    • Tome la salida de la llamada RC4 anterior y cifrada bajo la nueva clave RC4.
  5. Agregue 16 bytes de relleno arbitrario a la salida de la última llamada RC4. Este es el hash del usuario. (No está claro por qué el hash del usuario se rellena en absoluto, ya que la comparación para validar la contraseña del usuario elimina los bytes del relleno del hash del usuario y solo mira los primeros 16 bytes).

Lo que supondría que hace John the Ripper es que introducirá las contraseñas (definidas por las reglas que usted le dé para generarlas) en el algoritmo anterior hasta que calcule un hash de usuario que coincida con el de los metadatos del documento (es decir, hash que proporcionaste). Dado que la derivación de hash solo utiliza MD5 y RC4 (y tampoco muchas rondas de ellos) es muy fácil probar muchas contraseñas en un corto período de tiempo, por lo que el PDF es bastante susceptible a ataques de fuerza bruta y diccionario. De hecho, todo el algoritmo es bastante extraño y no infunde mucha confianza en la seguridad de los archivos PDF protegidos con contraseña.

    
respondido por el puzzlepalace 11.03.2016 - 05:04
fuente
3

John trabaja en diferentes tipos de hashes.

Puede extraer el hash de un archivo pdf utilizando una utilidad como pdf2john y luego comenzar a crackear con john como siempre.

Relevante - ¿Cómo puedo extraer el hash dentro de una archivo PDF encriptado?

Editar: ¿Cómo funciona el craqueo de hash real?

La digestión de mensajes es un proceso de hacer hashes. Obtienes el mensaje en alguna función de digestión y obtienes hash. Este tipo de funciones se denominan funciones unidireccionales. Esto significa que una vez que digiere un mensaje, no puede recuperarlo del hash revertiendo esta función. La información sobre el mensaje original se pierde de forma irrecuperable en el proceso.

¿Qué puedes hacer entonces? Puede intentar reproducir el mensaje haciendo un hash de varias palabras y comparándolos con el hash del mensaje original. Si el hash generado es igual al hash del mensaje original, entonces sabrá que la palabra que usó para generar ese hash es igual al mensaje original.

Esto es esencialmente cómo funciona el craqueo de contraseñas en JohnTheRipper.

Las palabras utilizadas para el craqueo pueden generarse de forma incremental (fuerza bruta) o usar un diccionario.

Puedes leer sobre los modos de craqueo de john aquí .

Puede leer sobre los hashes de contraseña en detalle aquí ¿Por qué las funciones hash son una forma? Si conozco el algoritmo, ¿por qué no puedo calcular su entrada?

    
respondido por el proslaniec 10.03.2016 - 10:48
fuente

Lea otras preguntas en las etiquetas