Descobrindo a senha de um arquivo pdf no linux

Chegou as minhas mãos um relatório em pdf que precisava ser impresso, mas o mesmo tinha senha, e a pessoa que sabia estava incomunicável. Como essas coisas sempre são com urgência ! E agora ?

Já me foi informado que a senha tinha quatro caracteres numéricos, o que já poupou muito tempo de processamento. Sabendo disso, uma ferramenta de força bruta seria o ideal para essa missão, então, uma rápida pesquisa no Oráculo (google), achei o pdfcrack

No linux mint (Serena), a instalação foi simples, via apt direto, sem precisar adicionar nenhum repositório:

sudo apt install pdfcrack

Devido a urgência, e já sabendo do tamanho da senha e seus caracteres numéricos, ja utilizamos o comando:

pdfcrack -f /tmp/arquivo.pdf -n=4 -c 0123456789

Onde:

  • -f = arquivo pdf a ser quebrada a senha
  • -n = tamanho minimo da senha
  • -c = caracteres a serem utilizados

O resultado não levou nem 1 segundo para surgir:

Foi tão rápido que não deu tempo nem de rodar o htop para ver como estava a carga do processador !

Numa situação mais complexa, vários dias de processamento podem ser necessários para achar a senha, e se alguma coisa acontecer durante o processo ? Precisa começar tudo de novo ?

A qualquer momento o processo pode ser cancelado pelo usuário, bastando pressionar (Ctrl + C). Só que, antes de encerrar, o programa vai tentar salvar onde ele parou, e informar o arquivo onde foi salvo o progresso:

Nesse caso, o arquivo “savedstate.sav” foi gerado

Para continuar de onde parou, basta informar o arquivo:

pdfcrack -f arquivo.pdf -l savedstate.sav

E o processo continuará normalmente

Tenha consciência de que esse processamento tem um custo muito grande para a CPU, quanto mais poder de processamento ela tiver, melhor. Mas o sistema de resfriamento será solicitado ao máximo, por isso é bom monitorar a temperatura da cpu, enquanto estiver executando o procedimento.

Para testar a sua cpu, existe a opção “-b” que executa um benchmark de performance, para fins de comparação, esse é o resultado de um i5 de sexta geração, com 4 gb de RAM: