Понимание шифрования документов Office
На этом шаге мы кратко обсудим механизмы шифрования, используемые документами Microsoft Office, и почему такие инструменты, как John the Ripper, эффективны.
Современные документы Microsoft Office (DOCX, XLSX, PPTX) используют форматы на основе XML (Open XML). Когда устанавливается пароль, содержимое документа шифруется. Процесс шифрования включает получение ключа шифрования из пароля пользователя с использованием функции вывода ключа (KDF), такой как PBKDF2 (Password-Based Key Derivation Function 2).
office2john.py работает путем извлечения необходимых параметров из XML-структуры документа Office, таких как соль (salt), количество итераций (iteration count) и зашифрованный хэш верификатора (encrypted verifier hash). Эти параметры, наряду с типом хэша (например, Office 2007/2010/2013/2016), формируют строку "хэша", которую понимает John the Ripper.
Затем John the Ripper выполняет атаку методом перебора (brute-force) или словарную атаку (dictionary attack). Для каждого слова в своем списке слов (или каждой комбинации при атаке методом перебора) он применяет ту же KDF с извлеченными параметрами для генерации предполагаемого ключа. Если этот предполагаемый ключ совпадает с зашифрованным хэшем верификатора, пароль найден.
Стойкость шифрования в значительной степени зависит от сложности и длины пароля. Слабые или распространенные пароли, такие как "password123", легко взламываются с помощью словарных атак, как показано в этой лаборатории. Сильные пароли, которые являются длинными, случайными и содержат смесь символов, значительно увеличивают время и вычислительные ресурсы, необходимые для взлома, делая их гораздо более безопасными.
Это упражнение подчеркивает важность использования надежных, уникальных паролей для конфиденциальных документов, чтобы защитить их от несанкционированного доступа.