Какой алгоритм используется для создания 32-битного ключа-пароля в защищенном от редактирования документе Microsoft Office (в частности, Word)?

Какой алгоритм используется для создания 32-битного ключа-пароля в защищенном от редактирования документе Microsoft Office (в частности, Word)?

Если вы сохраните устаревший документ Word (эпохи .doc) с защитой от редактирования, вы можете найти ключ пароля, сохраненный внутри файла.

Для удобства это можно найти, сохранив в файл .xml или .html и проверив исходный текст (но вы также можете вытащить его из исходного .doc с помощью шестнадцатеричного редактора). Например, с паролем "password" вы найдете в исходном тексте следующее:

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

Какой алгоритм используется для создания этого ключа, который, по-видимому, представляет собой 32-битное шестнадцатеричное число?

решение1

Я не могу воспроизвести этот вывод с текущей установкой Office. По крайней мере, это значение должно означать "пароль" согласноэтот.

Принимая во внимание эти источники:

Похоже, что эти старые версии используют комбинацию хеширования и шифрования. Похоже, вам придется немного больше проверить файл, чтобы выяснить, какую комбинацию он на самом деле использует.

У InfoSecSee есть довольно приятная картина по этому поводу: InfoSecСм. документацию по алгоритму паролей Office

Похоже, это соответствует списку из PenTestCorner:

  • Офис 97-03(MD5+RC4,oldoffice$0,oldoffice$1): флаг -m 9700
  • Офис 97-03(MD5+RC4,режим коллайдера#1): флаг -m 9710
  • Офис 97-03(MD5+RC4,режим коллайдера#2): флаг -m 9720
  • Office 97-03(SHA1+RC4,oldoffice$3,oldoffice$4): флаг -m 9800
  • Офис 97-03(SHA1+RC4,режим коллайдера#1): флаг -m 9810
  • Офис 97-03(SHA1+RC4,режим коллайдера#2): флаг -m 9820
  • Офис 2007: флаг -m 9400
  • Офис 2010: флаг -m 9500
  • Офис 2013: флаг -m 9600

Вам придется проверить особенности реализации «Office2John» или hashcat, чтобы понять, как определить, какой алгоритм используется и т. д.

Связанный контент