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

439
Some_Guy

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

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

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

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

0
[Какой алгоритм использует Microsoft Office 2010 для шифрования?] (Https://stackoverflow.com/questions/5501894/what-algorithm-does-microsoft-office-2010-use-for-encryption) Seth 6 лет назад 0
это не хеш, созданный современным алгоритмом. это путь к короткому. посмотрите здесь примеры многих распространенных хэшей: https://hashcat.net/wiki/doku.php?id=example_hashes Frank Thomas 6 лет назад 0
@Seth Этот вопрос касается шифрования документов в новом офисном формате, я спрашиваю о защите паролем незашифрованных файлов в устаревшем офисном формате. Some_Guy 6 лет назад 0
Это восходит к Pre-Windows 2007. Если это не достаточно старый, вам придется быть более конкретным. Seth 6 лет назад 0
@seth Я говорю о ключе, включенном в формат .doc, то есть о родном формате слова 2003 и более ранних (все еще доступном во всех современных версиях Office, наряду с другими связанными унаследованными форматами), и, чтобы быть понятным, это не о зашифрованных файлах, а о редактировании защищенных. Some_Guy 6 лет назад 0

1 ответ на вопрос

0
Seth

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

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

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

InfoSecSee имеет довольно хорошую картину в отношении этого: InfoSecSee Office Password Algorithm documentation

Это похоже на список из PenTestCorner:

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

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

Самый простой способ воспроизвести его - сохранить документ в устаревшем формате .xml. В меню «Сохранить как» выберите «документ Word 2003 xml», затем откройте его в текстовом редакторе и нажмите Ctrl + F для «пароля». Вы также найдете тот же ключ в двоичном файле, но в обратном порядке, в байтовом порядке (т. Е. При проверке с помощью шестнадцатеричного редактора ключ 12 34 56 78 станет 78 56 34 12) Some_Guy 6 лет назад 0