Instalação do Hashcat e Benchmark do Sistema

LinuxBeginner
Pratique Agora

Introdução

Hashcat é amplamente reconhecido como uma das ferramentas de recuperação de senhas mais rápidas e avançadas. Ele suporta uma grande variedade de algoritmos de hashing e pode utilizar tanto CPUs quanto GPUs para acelerar o processo de quebra de senhas.

Neste laboratório, você passará pelas etapas fundamentais para começar a usar o Hashcat em um sistema Linux. Você aprenderá como instalá-lo usando o gerenciador de pacotes padrão, verificar se a instalação foi bem-sucedida e, o mais importante, executar um benchmark para entender as capacidades de desempenho do seu sistema. Este é um primeiro passo crucial para qualquer pessoa interessada em testes de penetração, auditoria de segurança de sistemas ou análise de desempenho.

Ao final deste laboratório, você se sentirá confortável com a configuração inicial e a avaliação do Hashcat.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 91%. Recebeu uma taxa de avaliações positivas de 100% dos estudantes.

Instalar o Hashcat usando o gerenciador de pacotes apt

Nesta etapa, você instalará o Hashcat no seu sistema Ubuntu. Usaremos o gerenciador de pacotes apt, que é a ferramenta padrão para gerenciar software em distribuições Linux baseadas em Debian, como o Ubuntu.

Primeiro, é uma boa prática atualizar a lista de pacotes do seu sistema para garantir que você obtenha as versões mais recentes de software disponíveis. Execute o seguinte comando no seu terminal:

sudo apt update

Você verá as listas de pacotes sendo baixadas dos repositórios.

Em seguida, você pode instalar o Hashcat. O flag -y é usado para responder "sim" automaticamente a quaisquer solicitações durante o processo de instalação, tornando-o não interativo.

sudo apt install hashcat -y

O sistema agora baixará e instalará o Hashcat e suas dependências. Você verá a saída detalhando o progresso da instalação. Uma saída de exemplo pode ser assim (os pacotes e versões exatos podem variar):

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  hashcat-data ocl-icd-libopencl1
The following NEW packages will be installed:
  hashcat hashcat-data ocl-icd-libopencl1
0 upgraded, 3 newly installed, 0 to remove and XX not upgraded.
Need to get X,XXX kB of archives.
After this operation, XX.X MB of additional disk space will be used.
...
Setting up hashcat-data (X.X.X+ds1-1) ...
Setting up ocl-icd-libopencl1:amd64 (X.X.X-1) ...
Setting up hashcat (X.X.X+ds1-1) ...
Processing triggers for man-db (X.X.X-1) ...
Processing triggers for libc-bin (X.X.X-0ubuntu1) ...

Assim que o prompt de comando retornar, o Hashcat estará instalado no seu sistema.

Verificar a instalação do Hashcat com 'hashcat --version'

Nesta etapa, você verificará se o Hashcat foi instalado corretamente e está acessível a partir do seu terminal. Uma maneira comum de verificar se uma ferramenta de linha de comando está instalada e funcionando é solicitar seu número de versão.

Execute o seguinte comando para exibir a versão instalada do Hashcat:

hashcat --version

Se a instalação foi bem-sucedida, o comando imprimirá o número da versão do binário do Hashcat. A saída deve ser semelhante a esta:

vX.X.X

Ver o número da versão confirma que o sistema operacional consegue encontrar e executar o programa hashcat.

Listar dispositivos de computação disponíveis com 'hashcat -I'

Nesta etapa, você identificará os dispositivos de computação que o Hashcat pode usar para suas operações. O Hashcat é projetado para utilizar o poder de processamento paralelo do hardware moderno, incluindo Unidades Centrais de Processamento (CPUs) e Unidades de Processamento Gráfico (GPUs).

Para ver uma lista de todos os dispositivos OpenCL compatíveis no seu sistema, você pode usar o flag -I (i maiúsculo).

Execute o seguinte comando:

hashcat -I

Este comando escaneará seu sistema e listará todos os dispositivos que ele pode usar, juntamente com seus detalhes. Neste ambiente virtual, você provavelmente verá apenas a CPU listada. Se estivesse executando isso em uma máquina com uma placa gráfica dedicada, você a veria listada também.

A saída será algo parecido com isto:

hashcat (vX.X.X) starting...

OpenCL Info:
============

Platform ID #1
  Vendor  : ...
  Name    : ...
  Version : OpenCL X.X ...

  Device ID #1
    Type           : CPU
    Vendor ID      : XXX
    Vendor         : ...
    Name           : Intel(R) Xeon(R) ...
    Version        : OpenCL X.X ...
    Processor(s)   : X
    Clock          : XXXX MHz
    ...

Esta informação é útil para saber quais dispositivos o Hashcat usará e para selecionar dispositivos específicos para uma tarefa, caso múltiplos estejam disponíveis.

Executar um benchmark do sistema para MD5 com 'hashcat -b -m 0'

Nesta etapa, você executará um benchmark para medir o desempenho do seu sistema para um tipo específico de hash. Este é um passo crítico para entender a rapidez com que seu sistema pode tentar quebrar senhas.

Usaremos o modo de benchmark integrado do Hashcat. O comando utiliza duas flags importantes:

  • -b ou --benchmark: Isso instrui o Hashcat a executar seu modo de benchmark em vez de uma sessão de cracking real.
  • -m 0: Isso especifica o tipo de hash para o benchmark. O número 0 corresponde ao algoritmo MD5. MD5 é um algoritmo de hashing muito comum e relativamente rápido.

Agora, execute o comando de benchmark no seu terminal:

hashcat -b -m 0

O Hashcat iniciará o processo de benchmark. Ele testará o algoritmo especificado (MD5) em todos os dispositivos detectados e relatará a velocidade. O processo pode levar um minuto para ser concluído. A saída será detalhada, mas a parte mais importante é o resumo da velocidade no final.

hashcat (vX.X.X) starting in benchmark mode...

... (initialization messages) ...

Benchmark relevant options:
===========================
* Hash-Type: 0 (MD5)

... (device information) ...

[s]tatus [p]ause [r]esume [b]ypass [q]uit =>

... (status updates) ...

Benchmark.Final:
================
* Hash-Type: 0 (MD5)

Speed.Dev.#1.:   XXX.X MH/s (XX.XXms)

...

Aguarde a conclusão do benchmark antes de prosseguir para a próxima etapa.

A linha Speed.Dev.#1. mostra o desempenho do seu dispositivo principal (a CPU neste caso).

Interpretar os resultados de velocidade do benchmark

Nesta etapa final, analisaremos a saída do benchmark que você acabou de executar. Este é um passo conceitual, sem novos comandos para executar.

Volte à saída do comando hashcat -b -m 0 na etapa anterior. A informação chave é a linha que começa com Speed.

Speed.Dev.#1.:   XXX.X MH/s (XX.XXms)

Vamos detalhar isso:

  • Speed.Dev.#1.: Refere-se à velocidade do Dispositivo #1, que você identificou na Etapa 3 (provavelmente sua CPU).
  • XXX.X MH/s: Esta é a métrica mais importante. Significa "Mega Hashes por segundo" (Mega Hashes per second). Um valor de 100.0 MH/s significa que seu sistema pode calcular e verificar 100 milhões de hashes MD5 a cada segundo. Quanto maior este número, mais rápido seu sistema pode realizar um ataque de força bruta ou de dicionário.
  • (XX.XXms): Este valor indica a latência ou o tempo necessário para um lote de operações, o que é mais relevante para o ajuste fino de desempenho (performance tuning). Para um benchmark básico, o valor de H/s é o principal indicador de desempenho.

A velocidade que você vê é específica para o algoritmo MD5 (-m 0). Se você fosse fazer um benchmark de um algoritmo mais complexo como o bcrypt (-m 3200), a velocidade seria drasticamente menor (medida em H/s ou kH/s em vez de MH/s), porque o bcrypt é intencionalmente projetado para ser lento de computar.

Compreender a velocidade do benchmark do seu sistema é essencial para estimar o tempo necessário para uma tarefa de quebra de senha.

Resumo

Parabéns! Você concluiu com sucesso este laboratório sobre instalação e benchmark do Hashcat.

Neste laboratório, você adquiriu as seguintes habilidades:

  • Instalar a ferramenta Hashcat em um sistema Linux usando o gerenciador de pacotes apt.
  • Verificar uma instalação de software checando sua versão.
  • Identificar os dispositivos de computação de CPU e GPU disponíveis que o Hashcat pode utilizar.
  • Executar um benchmark de desempenho do sistema para um algoritmo de hash específico (MD5).
  • Interpretar os resultados do benchmark para entender as capacidades de quebra de hash do seu sistema.

Estas habilidades fundamentais são essenciais para qualquer pessoa que deseje usar o Hashcat para auditoria de segurança, recuperação de senhas ou avaliação de desempenho do sistema. Você está agora pronto para explorar recursos mais avançados do Hashcat.