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.
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:
-bou--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úmero0corresponde 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 de100.0 MH/ssignifica 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 deH/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.



