Use o Potfile para Gerenciar Hashes Recuperados

Kali LinuxBeginner
Pratique Agora

Introdução

Hashcat é uma ferramenta poderosa e popular para recuperação de senhas. Uma de suas principais funcionalidades para operação eficiente é o "potfile". O potfile (abreviação de "pot of gold file" - arquivo do pote de ouro) é um arquivo onde o hashcat armazena automaticamente hashes que foram recuperados com sucesso e seus textos planos correspondentes. Isso impede que o hashcat desperdice tempo e recursos tentando recuperar novamente hashes que já foram resolvidos em sessões anteriores.

Neste laboratório, você aprenderá os fundamentos do gerenciamento de hashes recuperados usando o potfile do hashcat. Você aprenderá como localizar o potfile, visualizar seu conteúdo e usar flags específicas do hashcat para consultá-lo ou até mesmo ignorá-lo quando necessário.

Compreender o Propósito do Potfile

Nesta etapa, você aprenderá sobre o papel fundamental do potfile do hashcat.

O potfile é uma das funcionalidades mais importantes do hashcat para a eficiência. Cada vez que o hashcat recupera com sucesso um hash, ele salva o resultado no potfile. O propósito principal disso é construir um banco de dados de hashes resolvidos.

Antes de iniciar uma nova sessão de recuperação, o hashcat verifica os hashes em seu arquivo de entrada contra as entradas no potfile. Se um hash já estiver presente no potfile, o hashcat o ignorará, exibindo o status "Removed" (Removido). Isso garante que você não desperdice ciclos valiosos de CPU/GPU em trabalhos que já foram realizados.

O formato padrão para as entradas no potfile é simples e eficaz:

HASH:PLAINTEXT

Esta etapa é puramente conceitual para construir seu entendimento. Não há comandos para executar. Você pode prosseguir para a próxima etapa para descobrir onde este arquivo está localizado.

Localizar o hashcat.potfile Padrão

Nesta etapa, você localizará o potfile padrão criado pelo hashcat.

Por padrão, o hashcat não cria o potfile no seu diretório de trabalho atual. Em vez disso, ele o coloca em uma pasta dedicada do hashcat dentro do diretório pessoal do usuário para mantê-lo persistente entre diferentes sessões e projetos de recuperação. A localização padrão em um sistema Linux é ~/.local/share/hashcat/.

Vamos verificar a existência do arquivo. Use o comando ls -l para listar o conteúdo do diretório do hashcat.

ls -l ~/.local/share/hashcat/

Você deverá ver o hashcat.potfile na saída, juntamente com outros arquivos potenciais relacionados à sessão.

total 4
-rw-r--r-- 1 labex labex 42 May 20 10:30 hashcat.potfile

Agora que você localizou o arquivo, a próxima etapa será visualizar seu conteúdo.

Visualizar o Conteúdo do Potfile

Nesta etapa, você inspecionará o conteúdo do hashcat.potfile para ver como os hashes recuperados são armazenados.

Como o potfile é um arquivo de texto simples, você pode usar qualquer visualizador de texto padrão da linha de comando como cat, less ou more para ver o que há dentro. Para um arquivo pequeno como o nosso, cat é perfeito.

Execute o seguinte comando no seu terminal para exibir o conteúdo do potfile padrão:

cat ~/.local/share/hashcat/hashcat.potfile

A saída mostrará o hash que foi recuperado durante a configuração do laboratório, seguido por dois pontos (:), e depois a senha em texto simples.

5f4dcc3b5aa765d61d8327deb882cf99:password

Este formato simples HASH:PLAINTEXT torna o arquivo fácil de ler e analisar, tanto para humanos quanto para o próprio hashcat.

Usar a Flag --show para Consultar o Potfile

Nesta etapa, você aprenderá a usar a flag --show para consultar eficientemente o potfile em busca de hashes recuperados.

Embora você possa usar manualmente cat e grep no potfile, o hashcat oferece uma maneira muito mais elegante e integrada de verificar se os hashes de um determinado arquivo já foram recuperados. A flag --show é usada para esse fim. Ela recebe um arquivo de hash como entrada e exibe os textos simples recuperados para quaisquer hashes encontrados no potfile.

Vamos usá-la para verificar nosso arquivo hashes.txt.

hashcat -m 0 --show hashes.txt

Vamos detalhar o comando:

  • hashcat: O próprio programa.
  • -m 0: Especifica o modo de hash. 0 é para MD5, que é o tipo de hash em nosso arquivo hashes.txt. Isso é necessário para que --show funcione corretamente.
  • --show: Esta flag informa ao hashcat para realizar uma operação de consulta em vez de uma sessão de recuperação.
  • hashes.txt: O arquivo de entrada contendo os hashes que você deseja verificar.

O comando produzirá a seguinte saída, que é idêntica ao conteúdo do potfile porque nosso hash foi encontrado.

5f4dcc3b5aa765d61d8327deb882cf99:password

Este comando é extremamente útil quando você tem uma lista grande de hashes e deseja ver rapidamente quais foram recuperados anteriormente.

Remover Hashes Recuperados da Entrada com --potfile-disable

Nesta etapa, você aprenderá como o hashcat evita automaticamente a recuperação de hashes e como você pode substituir esse comportamento com a flag --potfile-disable.

Primeiro, vamos ver o que acontece quando você tenta executar o mesmo trabalho de recuperação novamente. Como o hash já está no potfile, o hashcat deve reconhecer isso e terminar instantaneamente.

hashcat -m 0 -a 0 hashes.txt wordlist.txt --force

Observe a saída. O hashcat relatará que todos os hashes foram encontrados no potfile e não os processará novamente.

...
All hashes found in potfile!

NOTE: All hashes loaded from file hashes.txt are already cracked and were skipped.
To re-crack these hashes, you need to remove them from the potfile.
...

Agora, e se você quiser recuperar o hash novamente, talvez para fins de benchmarking ou para testar um modo de ataque diferente? Você pode usar a flag --potfile-disable. Isso informa ao hashcat para ignorar completamente o potfile tanto para leitura quanto para escrita.

Execute o comando novamente, mas desta vez adicione a flag:

hashcat -m 0 -a 0 hashes.txt wordlist.txt --force --potfile-disable

Desta vez, o hashcat realizará a operação completa de recuperação porque está ignorando o potfile. Você verá o progresso do status e um status "Cracked" no final.

...
Session..........: hashcat
Status...........: Cracked
...
Cracked (1/1) hashes, (1/1) digests
...

Usar --potfile-disable é uma ferramenta específica para situações específicas. Na maioria dos casos, você desejará aproveitar o potfile para economizar tempo.

Resumo

Neste laboratório, você aprendeu as habilidades essenciais para gerenciar hashes recuperados com o potfile do hashcat.

Agora você entende que o potfile é um recurso crucial para eficiência, atuando como um banco de dados de hashes resolvidos. Você aprendeu a:

  • Localizar o potfile padrão em ~/.local/share/hashcat/hashcat.potfile.
  • Visualizar seu conteúdo usando comandos padrão do Linux como cat.
  • Consultar o potfile para hashes específicos de um arquivo de entrada usando a flag --show.
  • Ignorar a funcionalidade do potfile para casos de uso específicos com a flag --potfile-disable.

Dominar o uso do potfile é um passo fundamental para se tornar um usuário proficiente do hashcat, permitindo que você execute tarefas de recuperação de senhas mais eficazes e eficientes.