Use o John the Ripper para Quebrar Documentos PDF

Kali LinuxBeginner
Pratique Agora

Introdução

Neste laboratório, você explorará o processo de quebra de documentos PDF protegidos por senha usando a poderosa ferramenta de código aberto para quebra de senhas, John the Ripper. Você aprenderá a criar um PDF seguro, extrair seu hash e, em seguida, tentar quebrar a senha. Este laboratório também abordará diferentes tipos de criptografia de PDF e fornecerá as melhores práticas para proteger seus documentos PDF. Compreender esses conceitos é crucial tanto para profissionais de cibersegurança quanto para qualquer pessoa que lide com informações confidenciais em formato PDF.

Criar um Documento PDF Protegido por Senha

Nesta etapa, você criará um arquivo de texto simples e o converterá em um documento PDF protegido por senha. Usaremos os comandos enscript e ps2pdf para este propósito. enscript converte arquivos de texto para PostScript, e ps2pdf converte PostScript para PDF.

Primeiro, crie um arquivo de texto simples chamado secret.txt no seu diretório ~/project.

echo "This is a secret document." > ~/project/secret.txt
cat ~/project/secret.txt

Em seguida, converta secret.txt para um arquivo PostScript.

enscript -p ~/project/secret.ps ~/project/secret.txt
ls -l ~/project/secret.ps

Agora, converta o arquivo PostScript para um PDF protegido por senha. Definiremos tanto a senha do usuário quanto a senha do proprietário como labex123. A senha do usuário restringe a abertura do documento, enquanto a senha do proprietário restringe permissões como impressão ou edição.

ps2pdf -sOwnerPassword=labex123 -sUserPassword=labex123 ~/project/secret.ps ~/project/protected.pdf
ls -l ~/project/protected.pdf

Você criou com sucesso um documento PDF protegido por senha.

Extrair Hash de PDF usando pdf2john

Nesta etapa, você extrairá o hash do documento PDF protegido por senha usando pdf2john.py. pdf2john.py é um script Python que acompanha o John the Ripper e é projetado para extrair hashes que podem ser quebrados de arquivos PDF.

Primeiro, localize o script pdf2john.py. Ele geralmente é encontrado no diretório run da instalação do John the Ripper.

find /usr/share/john -name pdf2john.py

Agora, use pdf2john.py para extrair o hash de ~/project/protected.pdf e salvá-lo em um arquivo chamado pdf_hash.txt.

python3 /usr/share/john/pdf2john.py ~/project/protected.pdf > ~/project/pdf_hash.txt
cat ~/project/pdf_hash.txt

A saída mostrará uma string de hash que o John the Ripper pode tentar quebrar. O formato geralmente inclui informações sobre a versão do PDF, o tipo de criptografia e o hash real.

Quebrar Hash de PDF com John the Ripper

Nesta etapa, você usará o John the Ripper para quebrar o hash de PDF extraído. Usaremos uma lista de palavras simples para esta demonstração.

Primeiro, crie um arquivo de lista de palavras chamado wordlist.txt no seu diretório ~/project. Inclua labex123 (a senha correta) e algumas outras senhas comuns.

echo -e "password\n123456\nlabex123\nqwerty" > ~/project/wordlist.txt
cat ~/project/wordlist.txt

Agora, use o John the Ripper com o wordlist.txt para quebrar o hash em pdf_hash.txt.

john --wordlist=~/project/wordlist.txt ~/project/pdf_hash.txt

O John the Ripper processará o hash e a lista de palavras. Se encontrar uma correspondência, exibirá a senha quebrada.

Após a quebra, você pode visualizar as senhas quebradas que o John encontrou e armazenou.

john --show ~/project/pdf_hash.txt

Você deverá ver labex123 como a senha quebrada para protected.pdf.

Compreender Tipos de Criptografia de PDF

Nesta etapa, você aprenderá sobre diferentes tipos de criptografia de PDF e como eles afetam a segurança de um documento PDF. A criptografia de PDF evoluiu ao longo do tempo, com versões mais recentes oferecendo proteção mais forte.

A criptografia de PDF geralmente usa algoritmos como RC4 ou AES. O comprimento da chave também varia, com chaves mais longas fornecendo mais segurança.

  • RC4 40-bit: Este é um método de criptografia mais antigo e fraco, facilmente quebrável.
  • RC4 128-bit: Um padrão mais antigo e comum, mas ainda vulnerável a técnicas de quebra modernas.
  • AES 128-bit: Um padrão de criptografia mais forte, mais resistente a ataques de força bruta (brute-force attacks).
  • AES 256-bit: A criptografia mais forte atualmente disponível para PDFs, oferecendo proteção robusta.

Você pode usar o exiftool para inspecionar os detalhes de criptografia de um PDF. Vamos verificar o protected.pdf que criamos.

exiftool ~/project/protected.pdf | grep "Encryption"

A saída mostrará detalhes como Encryption : RC4 128-bit ou AES 256-bit, dependendo das ferramentas e versões usadas para criar o PDF. Nosso comando ps2pdf geralmente usa RC4 128-bit por padrão para compatibilidade mais antiga. Criptografia mais forte requer opções específicas ou ferramentas de criação de PDF mais recentes.

Compreender o tipo de criptografia é crucial porque impacta diretamente o esforço necessário para quebrar uma senha. Tipos de criptografia mais fracos são muito mais rápidos de quebrar.

Proteja Documentos PDF Adequadamente

Nesta etapa, você aprenderá as melhores práticas para proteger documentos PDF a fim de prevenir acesso não autorizado e quebra de senha. Embora ferramentas como o John the Ripper possam quebrar senhas fracas, medidas de segurança fortes podem torná-lo extremamente difícil ou impossível.

Aqui estão as principais recomendações para proteger seus documentos PDF:

  1. Use Senhas Fortes: Este é o passo mais crítico. Uma senha forte deve ser:

    • Longa (pelo menos 12-16 caracteres).
    • Complexa (mistura de letras maiúsculas, minúsculas, números e símbolos).
    • Única (não usada para nenhuma outra conta ou documento).
    • Aleatória (evite palavras de dicionário ou informações pessoais).
  2. Use Algoritmos de Criptografia Fortes: Sempre escolha o mais alto padrão de criptografia disponível, preferencialmente AES 256-bit. Ao criar PDFs, certifique-se de que seu software esteja configurado para usar criptografia moderna.

  3. Defina Senhas de Usuário e Proprietário:

    • Senha do Usuário: Restringe a abertura do documento. Esta é a proteção primária.
    • Senha do Proprietário: Restringe permissões como impressão, cópia de conteúdo, edição ou adição de comentários. Mesmo que a senha do usuário seja conhecida, a senha do proprietário pode impedir certas ações.
  4. Evite Armazenar Senhas com Documentos: Nunca armazene a senha de um PDF no mesmo local ou no mesmo sistema que o próprio PDF.

  5. Atualize o Software Regularmente: Certifique-se de que seu software de criação e visualização de PDF esteja atualizado para se beneficiar dos patches de segurança mais recentes e padrões de criptografia.

  6. Considere Assinaturas Digitais: Para autenticidade e integridade, assinaturas digitais podem verificar a origem do documento e garantir que ele não foi adulterado.

Ao seguir estas práticas, você pode aumentar significativamente a segurança de seus documentos PDF e proteger informações confidenciais contra acesso não autorizado.

Resumo

Neste laboratório, você adquiriu experiência prática na quebra de documentos PDF protegidos por senha usando o John the Ripper. Você aprendeu a criar um PDF protegido por senha, extrair seu hash usando pdf2john.py e, em seguida, quebrar a senha com sucesso. Além disso, você explorou diferentes tipos de criptografia de PDF e compreendeu suas implicações para a segurança. Finalmente, você revisou as melhores práticas essenciais para proteger adequadamente documentos PDF, enfatizando a importância de senhas fortes e padrões de criptografia modernos. Este conhecimento é vital para proteger informações confidenciais e entender vulnerabilidades potenciais em arquivos PDF.