¿Qué algoritmo se utiliza para producir la clave de contraseña de 32 bits en un documento de Microsoft Office (específicamente Word) protegido contra edición?

¿Qué algoritmo se utiliza para producir la clave de contraseña de 32 bits en un documento de Microsoft Office (específicamente Word) protegido contra edición?

Si guarda un documento de Word heredado (era .doc) con protección de edición, puede encontrar la clave de contraseña almacenada en el archivo.

Para facilitarlo, esto se puede encontrar guardándolo en un archivo .xml o .html e inspeccionando la fuente del texto (pero también puede extraerlo del .doc original con un editor hexadecimal). Por ejemplo, con la contraseña "contraseña", encontrarás lo siguiente en la fuente:

<w:documentProtection w:edit="forms" w:enforcement="on" w:unprotectPassword="147A83AF"/>

¿Qué algoritmo se utiliza para producir esta clave, que parece ser hexadecimal de 32 bits?

Respuesta1

No puedo reproducir ese resultado con una instalación actual de Office. Al menos ese valor debería representar "contraseña" segúneste.

Teniendo en cuenta estas fuentes:

Parece que esas versiones anteriores utilizan una combinación de Hashing y Encryption. Parecería que tendrías que verificar un poco más sobre el archivo para poder descubrir qué tipo de combinación está usando realmente.

InfoSecSee tiene una imagen bastante interesante al respecto: InfoSecVer documentación del algoritmo de contraseña de Office

Esto parece coincidir con la lista de PenTestCorner:

  • Oficina 97-03(MD5+RC4,oficina antigua$0,oficina antigua$1): bandera -m 9700
  • Office 97-03 (MD5+RC4, modo colisionador n.º 1): bandera -m 9710
  • Office 97-03 (MD5+RC4, modo colisionador n.º 2): bandera -m 9720
  • Oficina 97-03(SHA1+RC4,oficina antigua$3,oficina antigua$4): bandera -m 9800
  • Office 97-03 (SHA1+RC4, modo colisionador n.º 1): bandera -m 9810
  • Office 97-03 (SHA1+RC4, modo colisionador n.º 2): bandera -m 9820
  • Oficina 2007: bandera -m 9400
  • Oficina 2010: bandera -m 9500
  • Oficina 2013: bandera -m 9600

Tendría que verificar los detalles sobre cómo se implementa "Office2John" o hashcat para descubrir cómo determinar qué algoritmo se utiliza, etc.

información relacionada