Use o John the Ripper para Quebrar Arquivos RAR

Kali LinuxBeginner
Pratique Agora

Introdução

Neste laboratório, você explorará o processo de quebra de arquivos RAR protegidos por senha usando uma ferramenta poderosa chamada John the Ripper. RAR (Roshal Archive) é um formato de arquivo de arquivo proprietário que suporta compressão de dados, recuperação de erros e spanning de arquivos. Embora os arquivos RAR ofereçam recursos robustos de compressão e segurança, senhas fracas podem torná-los vulneráveis a ataques de força bruta.

John the Ripper é uma ferramenta gratuita e de código aberto para quebra de senhas. Ele foi projetado para detectar senhas fracas do Unix, mas também suporta vários outros tipos de hash, incluindo aqueles de arquivos RAR. Ao final deste laboratório, você entenderá como criar um arquivo RAR protegido por senha, extrair seu hash usando rar2john e, em seguida, usar John the Ripper para tentar recuperar a senha. Você também obterá insights sobre as diferenças entre a quebra de arquivos RAR e ZIP e aprenderá sobre as melhores práticas para proteger seus arquivos RAR.

Criar um Arquivo RAR Protegido por Senha

Nesta etapa, você criará um arquivo de texto simples e, em seguida, o comprimirá em um arquivo RAR protegido por senha. Este arquivo RAR servirá como nosso alvo para a quebra de senha nas etapas subsequentes.

Primeiro, crie um novo diretório chamado rar_test e navegue até ele:

mkdir ~/project/rar_test
cd ~/project/rar_test

Em seguida, crie um arquivo de texto chamado secret.txt com algum conteúdo. Usaremos o nano para isso.

nano secret.txt

Digite o seguinte conteúdo no editor nano:

This is a secret message.
The password is 'labex'.

Pressione Ctrl+S para salvar o arquivo e Ctrl+X para sair do nano.

Agora, crie um arquivo RAR protegido por senha chamado secret.rar a partir de secret.txt. Usaremos a senha labex.

rar a -p labex secret.rar secret.txt

A opção a significa "adicionar arquivos ao arquivo" (add files to archive), e -p é usada para especificar a senha. Você deverá ver uma saída semelhante a esta:

RAR 5.00 freeware      Copyright (c) 1993-2013 Alexander Roshal      20 August 2013
Shareware version         Type 'rar -?' for help

Creating archive secret.rar

Adding    secret.txt                                               OK
Done

Para verificar se o arquivo está realmente protegido por senha, tente extraí-lo sem fornecer uma senha:

unrar e secret.rar

Você será solicitado a fornecer uma senha:

UNRAR 5.00 freeware      Copyright (c) 1993-2013 Alexander Roshal      20 August 2013
secret.rar

Extracting from secret.rar

Enter password (will not be echoed) for secret.txt:

Pressione Ctrl+C para cancelar a extração.

Extrair Hash de Arquivo RAR usando rar2john

Nesta etapa, você usará a utilidade rar2john, que faz parte da suíte John the Ripper, para extrair o hash da senha do arquivo secret.rar. Este hash é uma representação da senha que o John the Ripper pode tentar quebrar.

Certifique-se de que você ainda está no diretório ~/project/rar_test:

cd ~/project/rar_test

Agora, execute rar2john no seu arquivo secret.rar e redirecione sua saída para um novo arquivo chamado rar_hash.txt:

rar2john secret.rar > rar_hash.txt

Este comando processa o arquivo secret.rar e envia o hash extraído para a saída padrão, que é então salva em rar_hash.txt.

Você pode visualizar o conteúdo do arquivo rar_hash.txt usando cat:

cat rar_hash.txt

A saída será algo parecido com isto (o valor real do hash será diferente):

secret.rar:$rar5$16$...

Esta linha contém as informações necessárias para o John the Ripper começar a quebrar a senha. O formato $rar5$... indica que é um hash RAR5.

Quebrar Hash RAR com John the Ripper

Nesta etapa, você usará o John the Ripper para quebrar o hash da senha extraído na etapa anterior. Usaremos um ataque simples de lista de palavras (wordlist attack), que é eficaz para senhas fracas.

Certifique-se de que você ainda está no diretório ~/project/rar_test:

cd ~/project/rar_test

O John the Ripper vem com uma lista de palavras padrão. Para este laboratório, criaremos uma pequena lista de palavras personalizada que inclui nossa senha conhecida (labex) para garantir uma quebra rápida.

Crie um arquivo chamado wordlist.txt com o seguinte conteúdo:

nano wordlist.txt

Digite as seguintes senhas no editor nano, cada uma em uma nova linha:

password
123456
labex
john

Pressione Ctrl+S para salvar o arquivo e Ctrl+X para sair do nano.

Agora, execute o John the Ripper usando o arquivo rar_hash.txt e sua lista de palavras personalizada wordlist.txt:

john --wordlist=wordlist.txt rar_hash.txt

O John the Ripper começará a processar o hash. Como labex está em nossa lista de palavras, ele deverá encontrar a senha rapidamente. A saída mostrará a senha quebrada:

Using default input encoding: UTF-8
Loaded 1 password hash from rar_hash.txt (RAR5)
Cost 1 (iteration count) is 262144 for all loaded hashes
Will run 4 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
labex            (secret.rar)
1g 0:00:00:00 DONE (2023-10-27 10:30) 100.0% (ETA: 00:00:00) 1.000g/s 4.000p/s 4.000c/s 4.000C/s labex
Session completed.

A linha labex (secret.rar) indica que a senha labex foi encontrada para o arquivo secret.rar.

Você também pode verificar as senhas quebradas que o John the Ripper encontrou e armazenou:

john --show rar_hash.txt

Este comando exibirá quaisquer senhas que foram quebradas com sucesso e armazenadas no arquivo "pot" interno do John:

secret.rar:labex

1 password hash cracked, 0 left

Isso confirma que o John the Ripper quebrou com sucesso a senha do RAR.

Comparar Quebra de RAR e ZIP

Nesta etapa, compararemos brevemente o processo de quebra de arquivos RAR com a quebra de arquivos ZIP, destacando algumas diferenças importantes. Ambos os formatos são comuns para compressão, mas seus mecanismos de criptografia e as ferramentas usadas para quebrá-los podem diferir.

Primeiro, vamos criar um arquivo ZIP protegido por senha para comparação. Certifique-se de que você está em ~/project/rar_test:

cd ~/project/rar_test

Crie um novo arquivo de texto para o arquivo ZIP:

nano zip_secret.txt

Adicione algum conteúdo:

This is a secret message for ZIP.
The password is 'zip_pass'.

Salve e saia do nano (Ctrl+S, Ctrl+X).

Agora, crie um arquivo ZIP protegido por senha chamado zip_secret.zip com a senha zip_pass:

zip -P zip_pass zip_secret.zip zip_secret.txt

A opção -P é usada para especificar a senha diretamente.

  adding: zip_secret.txt (deflated 29%)

Semelhante ao rar2john, existe uma utilidade zip2john para extrair hashes de arquivos ZIP.

zip2john zip_secret.zip > zip_hash.txt

Visualize o hash ZIP extraído:

cat zip_hash.txt

A saída será diferente do hash RAR, geralmente começando com zip_secret.zip:$zip$...:

zip_secret.zip:$zip2$*0*1*0*...

Agora, vamos tentar quebrá-lo com o John the Ripper usando uma lista de palavras que inclua zip_pass:

nano zip_wordlist.txt

Adicione o seguinte conteúdo:

password
zip_pass
123456

Salve e saia do nano.

john --wordlist=zip_wordlist.txt zip_hash.txt

O John the Ripper quebrará a senha ZIP:

Using default input encoding: UTF-8
Loaded 1 password hash from zip_hash.txt (PKZIP)
Cost 1 (iteration count) is 1024 for all loaded hashes
Will run 4 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
zip_pass         (zip_secret.zip)
1g 0:00:00:00 DONE (2023-10-27 10:35) 100.0% (ETA: 00:00:00) 1.000g/s 4.000p/s 4.000c/s 4.000C/s zip_pass
Session completed.

Diferenças Principais:

  • Formato do Hash: Arquivos RAR e ZIP usam diferentes criptografias internas e formatos de hash, exigindo utilidades *2john específicas (rar2john vs. zip2john).
  • Força da Criptografia: A criptografia RAR moderna (RAR5) é geralmente considerada mais forte do que a criptografia ZIP padrão (ZipCrypto), especialmente ao usar AES-256. Isso significa que quebrar RAR5 pode ser mais intensivo computacionalmente e demorado para senhas fortes.
  • Ferramentas: Embora o John the Ripper possa lidar com ambos, os módulos subjacentes de extração de hash e quebra são distintos. Outras ferramentas como fcrackzip são projetadas especificamente para ZIP, enquanto rarcrack é para RAR.

Esta comparação demonstra que, embora a abordagem geral (extrair hash, quebrar com lista de palavras) seja semelhante, os detalhes de manipulação de diferentes formatos de arquivo variam.

Melhores Práticas para Segurança de RAR

Nesta etapa, discutiremos as melhores práticas para proteger seus arquivos RAR e evitar que sejam facilmente quebrados. Compreender essas práticas é crucial para proteger seus dados sensíveis.

A facilidade com que quebramos o arquivo secret.rar neste laboratório destaca a importância de senhas fortes. Aqui estão algumas melhores práticas para segurança de RAR:

  1. Use Senhas Fortes e Únicas:

    • Comprimento: Procure senhas com pelo menos 12-16 caracteres de comprimento. Senhas mais longas são exponencialmente mais difíceis de quebrar.
    • Complexidade: Inclua uma mistura de letras maiúsculas, letras minúsculas, números e caracteres especiais. Evite palavras comuns, nomes ou sequências facilmente adivinháveis (como "123456" ou "password").
    • Unicidade: Nunca reutilize senhas em diferentes contas ou arquivos. Se uma senha for comprometida, outras permanecerão seguras.
  2. Utilize Gerenciadores de Senhas:

    • Gerenciadores de senhas podem gerar e armazenar senhas complexas e únicas para você, tornando mais fácil seguir as recomendações acima sem ter que memorizá-las todas.
  3. Ative Criptografia Forte (RAR5 com AES-256):

    • Ao criar arquivos RAR, certifique-se de estar usando o formato RAR mais recente (RAR5), que usa AES-256 por padrão. Isso é significativamente mais seguro do que formatos RAR mais antigos ou algoritmos de criptografia mais fracos. A maioria das ferramentas rar modernas usa RAR5 por padrão.
  4. Evite Armazenar Senhas Perto dos Arquivos:

    • Nunca armazene a senha de um arquivo em um arquivo de texto ou nota adesiva junto com o próprio arquivo. Isso anula o propósito da proteção por senha.
  5. Limite o Acesso aos Arquivos:

    • Armazene seus arquivos RAR protegidos por senha em locais seguros com acesso restrito. Mesmo com uma senha forte, se um invasor obtiver acesso físico ao seu dispositivo ou rede, ele poderá ter mais oportunidades de tentar a quebra.
  6. Cuidado com Phishing e Engenharia Social:

    • Invasores podem tentar enganá-lo para que revele suas senhas por meio de e-mails falsos, sites ou comunicação direta. Sempre desconfie de solicitações não solicitadas de informações confidenciais.

Ao seguir estas melhores práticas, você pode aumentar significativamente a segurança de seus arquivos RAR e proteger seus dados contra acesso não autorizado. Lembre-se, o elo mais fraco em qualquer cadeia de segurança é frequentemente o elemento humano ou uma senha fraca.

Resumo

Neste laboratório, você adquiriu experiência prática na quebra de arquivos RAR protegidos por senha usando o John the Ripper. Você começou criando um arquivo RAR de exemplo com uma senha conhecida. Em seguida, aprendeu a extrair o hash do RAR usando a utilidade rar2john, que converte as informações de senha do arquivo em um formato que o John the Ripper pode entender.

Posteriormente, você usou com sucesso o John the Ripper com uma lista de palavras personalizada para quebrar a senha do arquivo RAR, demonstrando a vulnerabilidade de arquivos protegidos por senhas fracas ou comuns. Você também explorou as diferenças entre a quebra de arquivos RAR e ZIP, observando os formatos de hash distintos e as forças de criptografia.

Finalmente, o laboratório concluiu com uma discussão sobre as melhores práticas para segurança de RAR, enfatizando a importância de senhas fortes e únicas, o uso de criptografia moderna e a prática de boa higiene de segurança para proteger seus dados sensíveis armazenados em arquivos. Este laboratório fornece uma compreensão fundamental das técnicas de quebra de senha e a necessidade crítica de políticas de senha robustas.