Расшифровка защищенного паролем файла LibreOffice Calc .ods (забытый пароль)

Некоторое время назад я создал файл .ods с Libreoffice Calc, который я защищал паролем. Теперь я забыл пароль и в результате не могу получить доступ к файлу. Есть ли способ обойти или восстановить пароль, например, как root с помощью терминала?

5
задан 13 January 2015 в 21:51

4 ответа

Я нашел очень простой способ разблокировать лист (открытый офис 1.0), но должен быть подобным на других версиях.

  • Расширение изменения .ods к .zip
  • разархивируйте файл в папке.
  • Найдите файл document.xml или content.xml, который это содержит.
  • Отредактируйте этот XML-файл для нахождения чего-то вроде этого:

    table:name="*****" table:style-name="ta1" table:protected="true" table:protection-key="wUuUTMMJGNiaa2+yng4cFP6WeFg="

удалите эти два элемента:

 table:protected="true" table:protection-key="wUuUTMMJGNiaa2+yng4cFP6WeFg="

скопируйте измененный document.xml в исходном zip-файле отдают .ods расширение того файла, Это сделано: Ваш лист больше не защищается!

2
ответ дан 13 January 2015 в 21:51

Я нашел более легкий способ разблокировать электронную таблицу, изменяющую предложение, данное @user380090:

  • Расширение изменения .ods к .zip
  • Извлеките .zip файл в менеджере Архива использования папки
  • Откройтесь: файл content.xml с Устройством записи
  • Найдите: table:protected = "верный"
  • Изменитесь "верный" для "лжи"
  • Сохраните файл content.xml и закройте Устройство записи
  • Из Файлов, перетаскивание ранее измененный файл content.xml в .zip файл
  • Измените расширение от .zip до .ods

Документ теперь незащищен, и можно отредактировать его.

0
ответ дан 13 January 2015 в 21:51

Открытие файла .ods с правами root по-прежнему не позволит вам извлечь содержимое файла, поскольку они зашифрованы, что не под силу пользователю root.

MiJyn предложил использовать взломщики паролей для OpenOffice.org. Эти программы часто используют атаки методом «грубой силы» или словаря. Я бы не стал использовать такие программы с закрытым исходным кодом из случайных, ненадежных источников, как это предлагалось Вирусные сканеры не находят все, поэтому вы все еще не можете доверять исполняемому файлу, потому что ClamAV ничего не обнаруживает.

Поскольку LibreOffice имеет открытый исходный код, я бы начал с поиска, какое шифрование он использует. Ubuntu 12.04 поставляется с LibreOffice 3.5. Согласно http://wiki.documentfoundation.org/ReleaseNotes/3.5#Different_Encryption_Algorithm , он использует 256-битный шифр AES.

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

Поскольку файлы .ods - это просто Zip-файлы, я попытался зашифровать файл и извлечь его содержимое. Как и ожидалось, содержимое документа зашифровано и неотличимо от случайных байтов. Конечно, существуют некоторые незашифрованные метаданные, одним из которых является META-INF/manifest.xml. Мой пример зашифрованной электронной таблицы содержал следующие заинтересованные части:

<manifest:encryption-data manifest:checksum-type="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0#sha256-1k" manifest:checksum="48KzqP1PL7Wu/YTtHzlN0buJeUmigGT247dZ6Wrj10s=">
<manifest:algorithm manifest:algorithm-name="http://www.w3.org/2001/04/xmlenc#aes256-cbc" manifest:initialisation-vector="82mrg52Yifh1iIye5W0xuw=="/>
<manifest:key-derivation manifest:key-derivation-name="PBKDF2" manifest:key-size="32" manifest:iteration-count="1024" manifest:salt="hUZrwD1BWkODYVklZiScqA=="/>
<manifest:start-key-generation manifest:start-key-generation-name="http://www.w3.org/2000/09/xmldsig#sha256" manifest:key-size="32"/>

Из этого мы можем узнать, что LibreOffice использует алгоритм хеширования SHA256 для проверки целостности данных, AES256 в режиме CBC [ 116]. 32-байтовый пароль получен из вашего пароля с использованием PBKDF2 с 1024 итерациями.

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

Как и в большинстве продуктов шифрования, восстановление пароля практически невозможно. Я предлагаю:

  • Если файл содержит только бухгалтерию на неделю, просто начните заново и не тратьте время на расшифровку файла.
  • Попробуйте вспомнить пароль, если хотите расшифровать файл.
  • Если вы собираетесь использовать программу грубой силы, не используйте случайную программу, найденную в Интернете. Попробуйте найти программу с открытым исходным кодом. Если вы найдете только программы с закрытым исходным кодом, загрузите его из надежного источника и убедитесь, что у него есть хорошие отзывы (из нескольких источников), пропустите его через https://www.virustotal.com и снова проверьте, что программа, которую вы пробуете, является законной.
0
ответ дан 13 January 2015 в 21:51

Ответ был основан на разговоре, который я имел с ФП в комментариях

Нет способа обойти пароль, потому что, если бы это было возможно, он полностью победил бы цель наличие защищенного паролем документа (только те, кто не хочет использовать пароль для прохождения, являются теми, кто имеет пароль). Единственный вариант - использовать взломщик паролей. Этот метод допустим , если , и , только если вы являетесь владельцем документа или лицо, отправившее вам документ, дало вам разрешение на взлом пароля. Но, конечно, в наши дни никому нет дела до того, чтобы быть на правой стороне закона: P

Так что, если вы все еще заинтересованы в этом, вот еще один недостаток этой техники (ууу!): занимает очень много времени, потому что он должен найти каждую возможную комбинацию пароля. Здесь приведена просто базовая математика: если для ввода пароля требуется 1 миллисекунда, а пароль закодирован в ASCII длиной 5 символов, то для его поиска потребуется 56 недель. Если у вас очень быстрый компьютер (может быть, даже суперкомпьютер), это может занять около 5-10 микросекунд на пароль, поэтому для его расчета потребуется 1,5-3 дня. Если вы используете графическую карту вместо своего ЦП, он сможет вычислять пароли намного быстрее, так как графические процессоры обычно имеют около 300-2000 ядер.

Другая проблема, характерная для паролей OpenOffice, заключается в том, что OpenOffice имеет очень хорошие методы шифрования, что делает его намного длиннее и сложнее для поиска паролей. Это означает, что сработает только атака грубой силы (самая медленная атака)!

Теперь, когда вы ознакомились с краткой информацией о взломе пароля, некоторые быстрые поиски привели меня к этому сайт: http://www.filebuzz.com/fileinfo/37067/OpenOffice_Writer_Password_Recovery.html . Еще не пробовал, но он должен работать, если у вас установлен WINE. Я провел небольшую проверку на вирусы с помощью ClamAV, и она кажется нормальной.

РЕДАКТИРОВАТЬ : Похоже, что поддерживаются только пароли Writer. Вот та же самая программа, очевидно разработанная для паролей Calc. Обратите внимание, что я тоже не пробовал, но у меня вирус тоже был включен с ClamAV: http://www.sharewareconnection.com/download-openoffice-calc-password-recovery-from-sharecon.html [ 113]

РЕДАКТИРОВАТЬ 2 : Лекенштейн опубликовал способ лучший способ сделать это, чем использовать ненадежный файл .exe. Я настоятельно рекомендую использовать его вместо этого!

РЕДАКТИРОВАТЬ 3 : Основываясь на методе, опубликованном Лекенштейном, я написал небольшой инструмент для его реализации, расположенный здесь: https: // github .com / MiJyn / ооо-пройти-восстановление / загрузка . Это, конечно, с открытым исходным кодом (просто нажмите «код» из ссылки на скачивание). Все это лишь интерфейс ODFJlib от Ringlord (того же человека, который сделал документ, размещенный Лекенштейном). Обратите внимание, что этот инструмент написан на Java и довольно медленный (243 ключа / сек на моем компьютере). Я постараюсь оптимизировать его для нескольких ядер.

Пример использования:

java -jar ./ooopassrecover.jar file.ods
0
ответ дан 13 January 2015 в 21:51

Другие вопросы по тегам:

Похожие вопросы: