Recuperando um documento do LibreOffice Writer protegido por senha [duplicado]

1

Um ano atrás eu comecei um livro de memórias e escrevi 120000 palavras, que eu protegi por senha no LibreOffice 3. Eu tirei uma pausa de muitos meses e pretendia retomar a redação do documento alguns dias atrás.

No entanto ..

Esqueci minha senha. Este é um desastre completo. Eu fiz minha esposa ciente da senha (apenas no caso!) Mas ela também esqueceu isso.

Aqui está a minha pergunta bastante óbvia - Existe alguma maneira de acessar o livro de memórias sem a senha?

Sou muito pouco técnico e, após uma pesquisa, descobri um meio possível de usar o xmlcopyeditor para desativar a senha e, assim, acessar o documento. Mas isso não funciona - o editor de xmlcopy não parece abrir.

Existem três cópias do livro de memórias, uma em um flashdrive, uma em um CD-ROM e uma no laptop, todas protegidas pela mesma senha.

Muito frustrado, de fato.

    
por David 13.01.2015 / 12:31

2 respostas

1

Realmente sinto muito por você, o LibreOffice está usando a criptografia AES ao usar proteção por senha, e o AES não possui falhas conhecidas. A única maneira é fornecer a senha correta, sem que você não possa contorná-la. Se você tiver uma senha menor que 7 caracteres, pode tentar forçar a força bruta. Se a senha for maior que 6 caracteres, poderá levar anos para quebrá-la.

    
por Frantique 13.01.2015 / 12:38
1

Este é um copiar e colar de outra resposta ( link aqui ). Todos os créditos para o autor original da pergunta.

Você terá que usar um software de força bruta para abri-lo. Esses programas geralmente usam ataques de força bruta ou de dicionário. Eu não usaria esses programas de código fechado de fontes aleatórias e não confiáveis, como sugerido. Scanners de vírus não encontram tudo, então você ainda não pode confiar no executável porque o ClamAV não detecta nada.

Como o LibreOffice é open source, eu começaria procurando o tipo de criptografia que ele usa. Ubuntu 12.04 vem com o LibreOffice 3.5. De acordo com o link , ele usa uma cifra AES de 256 bits.

Esta postagem na lista de discussão também deixa claro que a senha é derivada usando PBKDF2 , o que significa que o forçamento brutal será muito mais lento com uma contagem de iteração alta suficiente.

Como os arquivos .ods são apenas arquivos Zip, tentei criptografar o arquivo e extraí o conteúdo. Como esperado, o conteúdo do documento é criptografado e indistinguível de bytes aleatórios. É claro que existem alguns metadados não criptografados, sendo um deles META-INF/manifest.xml . Meu exemplo de planilha criptografada continha as seguintes partes interessadas:

<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"/>

A partir disso, podemos aprender que o LibreOffice usa um algoritmo de hash SHA256 para verificar a integridade dos dados, AES256 em Modo de CBC . A senha de 32 bytes é derivada de sua senha usando PBKDF2 com 1024 iterações.

Um documento sobre a descriptografia de arquivos ODF está disponível aqui, eles contêm informações interessantes para criar seu próprio bruto -forcer, mas provavelmente não são adequados para o usuário médio.

Assim como a maioria dos produtos de criptografia, a recuperação de senha é quase impossível. Eu sugiro:

  • Se o arquivo contiver apenas a contabilidade por uma semana, basta começar de novo e não perder tempo descriptografando o arquivo.
  • Tente recuperar a senha se você quiser descriptografar o arquivo.
  • Se você for usar um programa de força bruta, não use um programa aleatório encontrado na internet. Tente encontrar um programa de código aberto. Se você encontrar apenas programas de código fechado, baixe-o de uma fonte confiável e garanta que ele tenha boas críticas (de várias fontes), coloque-o no link a> e verifique novamente que o programa que você está tentando é legítimo.
por Sachin Kamath 13.01.2015 / 12:40