Skip to main content
Crackear documentos office protegidos con contraseña

Crackear documentos office protegidos con contraseña

La mejor técnica de defensa en este tipo de ataques es utilizar contraseñas que cumplan con las buenas prácticas, letras, números y símbolos.

Bienvenidos a un nuevo post en Bytemind. En el post de hoy les vamos a explicar como recuperar la contraseña de un fichero Office que hayamos perdido o no nos acordemos de la misma, para ello utilizaremos varias herramientas, así como un diccionario mediante el cual realizar el ataque para descubrir la misma.

Los archivos de Microsoft Office pueden protegerse con contraseña para evitar manipulaciones no deseadas y garantizar la integridad de nuestros datos, pero documentos protegidos de versiones anteriores son susceptibles de poder extraer sus hashes con un programa simple llamado office2john. Estos hashes extraídos pueden descifrarse de forma sencilla utilizando herramientas muy útiles como son John the Ripper y Hashcat.

Extraer este hash tan sólo lleva unos segundos y nos ayudará a obtener dicha contraseña. Esta herramienta, office2john, está escrita en Python y puede ejecutarse directamente desde la terminal. En cuanto a la compatibilidad con Office, se sabe que funciona en cualquier archivo protegido de Word, Excel, Powerpoint, OneNote, Project, Access y Outlook creado en Office 97, 2000, XP, 2003, 2007, 2010 y 2013, inlcuidas las versiones del mismo para Mac. Sin embargo, es posible que no funcione correctamente en versiones más nuevas del mismo.

 

Instalación de Office2John

Para comenzar, necesitaremos descargar la herramienta desde GitHub ya que office2john no está incluido en la versión estándar de John the Ripper (que ya debería estar instalada en su sistema Kali). Esto se puede lograr fácilmente con wget, para ello lo haremos mediante el siguiente comando:

 

Extracción del hash con Office2John

Para su ejecución deberemos de realizarlo mediante python, indicando el directorio en el cual se instaló. Para la prueba que vamos a realizar, hemos creado un documento llamado prueba.docx protegido con contraseña con Word 2007 y en el cual la contraseña es “password1234”.

Ahora deberemos de extraer el hash de nuestro fichero Office protegido. Para ello ejecutaremos el siguiente comando y enviaremos la salida del mismo a un fichero llamado hash.txt para su uso posterior:

Para verificar que se obtuvo el hash correctamente podemos utilizar cat sobre el fichero hash.txt generado como en el siguiente ejemplo:

 

Ataque de diccionario sobre el hash obtenido

Como ya se mencionó, vamos a realizar esta prueba mediante el uso de dos herramientas, John the Ripper y Hashcat para descifrar el hash que acabamos de obtener del fichero de Microsoft Office protegido. Ambos métodos funcionan muy bien así que ya depende de las preferencias de cada uno el utilizar una herramienta u otra.

Si no tienes un diccionario creado previamente, es hora de crear uno, ya sea mediante la creación de un fichero con las palabras o posibles coincidencias que creamos que podrían ser o mediante el uso de una herramienta que automatice la creación del mismo como es crunch.

Opción 1 – John the Ripper

En nuestro caso utilizaremos un diccionario creado previamente y que incluye la contraseña que hemos definido previamente. Lanzaremos el siguiente comando para empezar a descifrar el hash obtenido:

Lanzado el comando anterior, John comenzará a descifrar el hash y, dependiendo de la complefidad de la contraseña y del diccionario, tardará más o menos tiempo hasta encontrar una coincidencia o finalizar el diccionario sin un resultado. Cuando se obtenga la contraseña, se mostrará un mensaje en pantalla con la misma. En nuestro caso, como la contraseña es muy simple, ha tardado tan sólo unos segundos en descifrarla.

Otra opción es utilizar el flag –show para mostrar la misma:

Y listo, ya disponemos de la contraseña de nuestro documento de Office, vamos a verlo en otro ejemplo mediante la herramienta Hashcat.

 

Opción 2 – Hashcat

A continuación, y para realizar la prueba con Hashcat, deberemos de realizar un modificación en el fichero hash.txt obtenido. Editaremos el fichero con vi y eliminaremos el principio de la línea del hash, eliminando el nombre del fichero y los dos puntos del mismo, quedando de la siguiente forma:

Antes:

Y después:

Completado este paso, seguimos. Podemos comentar mostrando la ayuda de Hashcat con el siguiente comando, aunque destinaré una entrada nueva para hablar en profundidad de esta herramienta:

Desde el resultado anterior, sólo estamos interesados en los modos hash de Office, por lo que utilizaremos la opción -m seguido del identificador correspondiente a la versión de nuestro documento Office.

En nuestro caso, al tratarse de 2007 utilizaremos el identificador 9400, por lo tanto el comando quedaría de la siguiente forma:

Las opciones utilizadas serian las siguientes:

  • -a -> establece el tipo de ataque como el modo directo predeterminado de 0
  • -m -> especifica el modo que queremos utilizar, tal y como acabamos de explicar
  • –username -> ignora cualquier nombre de usuario en el archivo de hash
  • -o -> especifica el fichero de salida
  • hast.txt  -> el fichero de hash a descifrar
  • dictionary.txt -> el diccionario a utilizar para descifrar el hash

Una vez lanzado el comando, hashcat empezará a trabajar en ello:

Después de un tiempo, mostrará el estado de descifrado y habrá creado el fichero de salida indicado con la contraseña del hash:

Ahora ejecutaremos un cat sobre el fichero de salida para obtener la contraseña del hash:

Y listo, ya conocemos dos métodos para descifrar contraseñas de un fichero de Microsoft Office.

 

Como defenderse ante un ataque de diccionario

Como siempre, existen medidas con las que hacerlo y nada es imposible en este mundo. La mejor técnica de defensa en este tipo de ataques es utilizar contraseñas que cumplan con las buenas prácticas, es decir, el uso de letras mayúsculas y minúsculas, números, y símbolos y con una longitud mínima de 16 caracteres, aunque cuanto más larga y complicada más difícil se lo pondríamos al atacante. Otra de las opciones es utilizar frases largas con una alta entropía con la que también hacer mucho más complicado la posibilidad de que pueda descifrarse la misma.

 

Y esto ha sido todo por hoy, espero les haya sido de ayuda y si tienen cualquier duda o aclaración no duden en exponerla en la sección de comentarios.

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *