Como quebrar senhas usando a ferramenta Hashcat?

Nota: O seguinte artigo irá ajudá-lo com: Como quebrar senhas usando a ferramenta Hashcat?

Em hackers éticos e testes de penetração, a quebra de senha é crucial para obter o a um sistema ou servidor.

Em sistemas e bancos de dados, as senhas raramente são salvas em formato de texto simples.

As senhas são sempre criptografadas antes de serem armazenadas no banco de dados e o hash é comparado durante o processo de verificação.

Dependendo da criptografia empregada, diferentes sistemas armazenam hashes de senha de maneiras diferentes. E se você tiver hashes, poderá quebrar qualquer senha facilmente.

E neste artigo, exploraremos como quebrar hashes de senha usando uma ferramenta de linha de comando útil e excelente Hashcat.

Então vamos começar.

Mas antes disso…

O que é uma função Hash?

Hashing é o processo de converter um texto de entrada normal em uma string de texto de tamanho fixo usando alguma função matemática que é conhecida como Função Hash. Qualquer texto, independentemente do tamanho, pode ser transformado em uma combinação aleatória de números inteiros e alfabetos usando um algoritmo.

  • A entrada refere-se à mensagem que será hash.
  • A função de hash é o algoritmo de criptografia como MD5 e SHA-256 que converte uma string em um valor de hash.
  • E, finalmente, o valor de hash é o resultado.

O que é Hashcat?

Hashcat é a ferramenta de recuperação de senha mais rápida. Ele foi projetado para quebrar as senhas de alta complexidade em um curto período de tempo. E essa ferramenta também é capaz de ataques de lista de palavras e força bruta.

Hashcat tem duas variantes. Baseado em U e GPU (Graphical Processing Unit). A ferramenta baseada em GPU pode quebrar os hashes em menos tempo que a U. Você pode verificar os requisitos do driver da GPU em seu site oficial.

Características

  • Gratuito e de código aberto
  • Mais de 200 variações de tipo de hash podem ser implementadas.
  • a vários sistemas operacionais como Linux, Windows e macOS.
  • Multiplataformas como e a U e GPU estão disponíveis.
  • Vários hashes podem ser quebrados ao mesmo tempo.
  • Arquivos hex-salt e hex-charset são ados, juntamente com o ajuste automático de desempenho.
  • Um sistema de benchmarking integrado está disponível.
  • Redes de cracking distribuídas podem ser adas usando sobreposições.

E você pode ver outros recursos também no site deles.

Instalação do Hashcat

Primeiro, certifique-se de que seu sistema Linux esteja atualizado com os programas e ferramentas mais recentes.

Para isso, abra um terminal e digite:

$ sudo apt update && sudo apt upgrade

Hashcat geralmente é pré-instalado no Kali Linux. Você pode encontrar a ferramenta na seção de quebra de senha. Mas se você precisar instalá-lo manualmente em qualquer distribuição Linux, digite o seguinte comando no terminal.

$ sudo apt-get install hashcat

Uso da ferramenta

Para começar com o Hashcat, precisaremos de alguns hashes de senha. Se você não tiver um hash para quebrar, criaremos alguns hashes primeiro.

Para criar hashes usando a linha de comando, basta seguir o formato abaixo.

echo -n "input" | algorithm | tr -d "-">>outputfiename

Por exemplo, você pode ver que transformei algumas palavras em hashes usando o algoritmo md5 abaixo.

┌──(root💀kali)-[/home/writer/Desktop]
└─# echo -n "geekflare" | md5sum | tr -d "-">>crackhash.txt
echo -n "123" | md5sum | tr -d "-">>crackhash.txt
echo -n "Webtechnology" | md5sum | tr -d "-">>crackhash.txt
echo -n "microsoftteams" | md5sum | tr -d "-">>crackhash.txt
echo -n "recyclebin" | md5sum | tr -d "-">>crackhash.txt

E a saída será salva no arquivo crackhash.txt.

Agora vamos verificar os hashes que foram salvos no arquivo fornecido.

┌──(root💀kali)-[/home/writer/Desktop]
└─# cat crackhash.txt

066d45208667198296e0688629e28b14
482c811da5d5b4bcd497ffeaa98491e3
72a2bc267579aae943326d17e14a8048
2192d208d304b75bcd00b29bc8de5024
caae8dd682acb088ed63e2d492fe1e13

Você pode ver, agora temos alguns hashes para quebrar. Este é o procedimento para criar um hash usando o algoritmo de sua escolha.

O próximo o é iniciar uma ferramenta Hashcat em sua máquina Linux. Basta usar o seguinte comando para usar o Hashcat.

$ hashcat --help

Ele mostrará todas as opções que você precisa saber para executar a ferramenta. No terminal, você pode encontrar todos os modos de ataque e hash.

A forma geral do comando é

$ hashcat -a num -m num hashfile wordlistfile

Aqui o ‘num’ representa um ataque específico e um modo de hash a ser usado. Se você rolar o terminal, poderá encontrar os números exatos para cada modo de ataque e hash, como para md4 – o número é 0 e para o algoritmo sha256 – o número é 1740.

A lista de palavras que vou usar é a lista de palavras rockyou. Você pode encontrar facilmente essa lista de palavras no caminho /usr/share/wordlists.

Você pode até usar o comando locate para encontrar esse caminho da lista de palavras.

┌──(root💀kali)-[/home/writer]
└─# locate rockyou.txt

E, finalmente, para quebrar os hashes usando o arquivo wordlist, use o seguinte comando.

$ hashcat -a 0 -m 0 ./crackhash.txt rockyou.txt

Depois de executar este comando, você pode obter um erro de tempo de execução ( erro de exceção de comprimento de token ) que pode ser resolvido facilmente.

hashcat3

Para resolver isso, salve cada hash separadamente em um arquivo diferente. Este erro ocorre se você tiver uma baixa velocidade de U ou GPU. Se o seu computador tiver um processador de alta velocidade, você pode facilmente quebrar todos os hashes ao mesmo tempo como um único arquivo.

Então depois de corrigir o erro e tudo mais, o resultado será assim.

┌──(root💀kali)-[/home/writer/Desktop]
└─# hashcat -a 0 -m 0 hashcrack.txt rockyou.txt
hashcat (v6.1.1) starting...

OpenCL API (OpenCL 1.2 pocl 1.6, None+Asserts, LLVM 9.0.1, RELOC, SLEEF, DISTRO, POCL_DEBUG) - Platform #1 [The pocl project]
=============================================================================================================================
* Device #1: pthread-Intel(R) Core(TM) i5-8265U U @ 1.60GHz, 2403/2467 MB (1024 MB allocatable), 4MCU

Minimum  length ed by kernel: 0
Maximum  length ed by kernel: 256

Hashes: 1 digests; 1 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates
Rules: 1

Dictionary cache built:
* Filename..: rockyou.txt
* s.: 14344405
* Bytes.....: 139921671
* Keyspace..: 14344398
* Runtime...: 1 sec

8276b0e763d7c9044d255e025fe0c212: [email protected]
                                                 
Session..........: hashcat
Status...........: Cracked
Hash.Name........: MD5
Hash.Target......: 8276b0e763d7c9044d255e025fe0c212
Time.Started.....: Sun Dec 12 08:06:15 2021 (0 secs)
Time.Estimated...: Sun Dec 12 08:06:15 2021 (0 secs)
Guess.Base.......: File (rockyou.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........:  1059.6 kH/s (0.52ms) @ Accel:1024 Loops:1 Thr:1 Vec:8
Recovered........: 1/1 (100.00%) Digests
Progress.........: 4096/14344398 (0.03%)
Rejected.........: 0/4096 (0.00%)
Restore.Point....: 0/14344398 (0.00%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1
Candidates.#1....: 123456 -> pampam

Started: Sun Dec 12 08:06:13 2021
Stopped: Sun Dec 12 08:06:16 2021

No resultado acima, após os detalhes do cache do dicionário, você pode notar que o hash foi quebrado e a senha foi revelada.

Conclusão

Espero que você tenha entendido melhor como usar o Hashcat para quebrar senhas.

Você também pode estar interessado em conhecer as várias ferramentas de força bruta para testes de penetração e algumas das melhores ferramentas de pentesting.

Table of Contents