Некоторое время назад я создал файл .ods
с Libreoffice Calc, который я защищал паролем. Теперь я забыл пароль и в результате не могу получить доступ к файлу. Есть ли способ обойти или восстановить пароль, например, как root с помощью терминала?
Я нашел очень простой способ разблокировать лист (открытый офис 1.0), но должен быть подобным на других версиях.
Отредактируйте этот 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 расширение того файла, Это сделано: Ваш лист больше не защищается!
Я нашел более легкий способ разблокировать электронную таблицу, изменяющую предложение, данное @user380090:
Документ теперь незащищен, и можно отредактировать его.
Открытие файла .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-файлов , они содержат полезную информацию для создания собственного брутфорсера, но, вероятно, не подходят для обычного пользователя.
Как и в большинстве продуктов шифрования, восстановление пароля практически невозможно. Я предлагаю:
Ответ был основан на разговоре, который я имел с ФП в комментариях
Нет способа обойти пароль, потому что, если бы это было возможно, он полностью победил бы цель наличие защищенного паролем документа (только те, кто не хочет использовать пароль для прохождения, являются теми, кто имеет пароль). Единственный вариант - использовать взломщик паролей. Этот метод допустим , если , и , только если вы являетесь владельцем документа или лицо, отправившее вам документ, дало вам разрешение на взлом пароля. Но, конечно, в наши дни никому нет дела до того, чтобы быть на правой стороне закона: 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] s>
РЕДАКТИРОВАТЬ 2 : Лекенштейн опубликовал способ лучший способ сделать это, чем использовать ненадежный файл .exe. Я настоятельно рекомендую использовать его вместо этого!
РЕДАКТИРОВАТЬ 3 : Основываясь на методе, опубликованном Лекенштейном, я написал небольшой инструмент для его реализации, расположенный здесь: https: // github .com / MiJyn / ооо-пройти-восстановление / загрузка . Это, конечно, с открытым исходным кодом (просто нажмите «код» из ссылки на скачивание). Все это лишь интерфейс ODFJlib от Ringlord (того же человека, который сделал документ, размещенный Лекенштейном). Обратите внимание, что этот инструмент написан на Java и довольно медленный (243 ключа / сек на моем компьютере). Я постараюсь оптимизировать его для нескольких ядер.
Пример использования:
java -jar ./ooopassrecover.jar file.ods