O Hashcat é conhecido como a ferramenta de quebra de senhas mais rápida do mundo. O artigo de hoje extrairá vários parâmetros comuns e os combinará com comandos de quebra de senhas para analisar como usar o Hashcat para quebrar senhas.
Sabemos que o hashcat pode decifrar um grande número de tipos de senha. Ele pode decifrar cerca de 210 senhas, a grande maioria das quais são hash. Se você quiser decifrar uma senha através do hashcat, primeiro precisa entender a forma da senha e, em seguida, indexar o número da senha no hashcat de acordo com a forma da senha.
Tomamos a senha: digapis e o valor do sal asdf como exemplos para mostrar a forma de alguns valores de hash.
| Número | Nome | Tipo | Exemplo |
|---|---|---|---|
| 0 | MD5 | Hash, comprimento 32 | 8713d75511bea7e0df78c6063dc778b0 |
| 1400 | SHA256 | hash | aa106625c7de812d6118992a191ea4627e2457fa80bf6ec06f9c60cbf8e5260f |
| 1700 | SHA512 | hash | 23afac4524f62ea4d941ca4933249b2b78d19069773266abc36d6fd17a6fbe2f4ccc834acc868358ba32ddca553611218a2865f975339fe45d38cc1999f84b5e |
| 10 | MD5 ($pass.$salt) | Depois de adicionar sal à senha, execute MD5 uma vez, com a senha primeiro | 48985c61e2581c3f9ee5f1cfb775afbc: asdf |
| 20 | MD5 ($salt.$pass) | sal em frente | 4fa1dd606353e055fed67d9812bddf35: asdf |
| 2600 | MD5 (MD5 ($pass)) | Execute a senha duas vezes MD5 | 98177c3f36af4a3f77f5b87594e6cf6a |
| 3710 | MD5 ($salt.MD5 ($pass)) | Execute uma conversão MD5 para a senha, adicione sal na frente e execute MD5 novamente | 88a535877ec21b8786775a7074e4de4c: asdf |
| 4400 | MD5 (SHA1 ($pass)) | A senha é convertida em SHA1 uma vez e depois MD5 | ec7bf3099984001a2b0f37ba5d1d68fa |
| 4500 | SHA1 (SHA1 ($pass)) | omitido | 005a41cfe16c9a5556c7a5cdd5f1958991f2e031 |
| 1460 | HMAC-SHA256 (key = $salt) | omitido | d684ab7c38ddc262f215328334c4d0273cef10d6c5e61988f5cc87fcab8a7a60: asdf |
| 11500 | CRC32 | Omitido | 4C244A19:00000000 |
-um comando pode especificar o modo de ataque. Ao usar hashcat para decifrar senhas, não basta saber apenas o número da senha. Também é necessário selecionar o modo de ataque que usa hashcat para decifrar senhas.
Hashcat4.0.1 tem 5 modos de ataque, cada modo de ataque tem suas próprias características.
| Número | Modo de ataque | Significado |
|---|---|---|
| 0 | reto | modo de ataque direto |
| 1 | Combinação | Modo de ataque combinado |
| 3 | Força bruta | Modo de quebra explosiva |
| 6 | Máscara de lista de palavras híbrida | Combinação de máscara de dicionário |
| 7 | Máscara Hybird + lista de palavras | Combinação de máscara + dicionário |
Nestes 5 modos de ataque, podemos usar o dicionário para decifrar senhas., use quebra de força bruta para percorrer todas as senhas possíveis, ou você pode combinar dicionários e máscaras para decifrar senhas. Em diferentes modos de ataque, os parâmetros usados pelo comando hashcat são diferentes. Usamos o modo de ataque direto como exemplo para aprender como o hashcat usa arquivos de dicionário para decifrar senhas. Os colegas também intercalarão o uso de outros parâmetros.
O modo de ataque direto usa diretamente o dicionário para explosão de senha. Ele pode usar um único arquivo de dicionário ou vários arquivos de dicionário para descriptografia. Você também pode tornar a explosão de senhas mais eficiente combinando dicionários com arquivos de regras.
hashcat-a 0 – m 0 mima.txt – o outfile dic.txt
-a especifica o modo de ataque como ataque direto, -m especifica o tipo de hash como MD5, -o escreverá a senha decifrada no outfile.
O ataque de dicionário duplo também é uma situação no modo de ataque direto. Ele carregará dois arquivos de dicionário ao usar arquivos de dicionário para explodir senhas. Isso expande o espaço do arquivo do dicionário.
Ataque de vários dicionários usa o carregamento de vários arquivos de dicionário ao mesmo tempo. O comando a seguir usa três dicionários para realizar um ataque de dicionário, carregue três dicionários em sequência para explosão. O dic.txt no comando é o arquivo de dicionário usado na explosão.
O uso de ataques de diretório de dicionário usará vários arquivos de dicionário no diretório de dicionário para ataques diretos. O uso do diretório de dicionário irá carregar vários arquivos de dicionário no diretório de dicionário em sequência durante o processo de ataque direto. O dic no comando a seguir é a pasta onde os vários arquivos de dicionário estão localizados.
O comando-r/ - -rule-file aplicará várias regras no arquivo de regras a cada palavra no dicionário. Os arquivos de regras podem ser gerados por você mesmo ou você pode usar os arquivos de regras que vêm com o hashcat. Os arquivos de regras que vêm com o hashcat geralmente estão na pasta Regras. Os arquivos de regras na pasta Regras são os seguintes:
No ataque de regra de dicionário, você pode usar um único dicionário, vários dicionários ou diretórios de dicionário combinados com arquivos de regras para explosão de senha. Na verdade, é uma forma de ataque direto ao toque combinado com arquivos de regras.
As chamadas regras são semelhantes a linguagens de programação que geram senhas candidatas. Elas podem modificar, cortar, expandir palavras ou pular algumas operações com base em operadores condicionais. Isso permite que os ataques sejam realizados de forma mais flexível e eficiente.
Os ataques de regras podem ser usados em combinação com dicionários duplos, múltiplos dicionários e até mesmo diretórios de dicionários. O método de uso é semelhante ao ataque de regra de dicionário único.
o parâmetro-o é seguido pelo arquivo de uso. Use o comando-o para inserir a senha decifrada no arquivo especificado. o formulário de armazenamento padrão é hash:plain. Há um exemplo de uso deste comando anteriormente, você pode ver a imagem acima por conta própria.
Este comando pode especificar o formato de saída do arquivo outfile. Existem 15 modos de saída no arquivo Outfile.
Outfile-format =1 gera apenas o hash de texto cifrado decifrado;
Outfile-format =2, gera apenas o texto simples da senha decifrada.
Além de usar o parâmetro-o para saída, também podemos usar o parâmetro remove para filtrar as senhas decifradas no arquivo de texto cifrado, deixando apenas as senhas que não podem ser decifradas. Desta forma, a duplicação de trabalho pode ser reduzida na quebra de senha subsequente.
Quando o número de senhas decifradas é relativamente grande ou o arquivo do dicionário é muito grande, as seguintes opções aparecerão. A entrada S no teclado imprimirá o próximo status na tela. Através deste status, você pode visualizar o progresso atual da decifração da senha.
É mais problemático inserir S toda vez que você quiser verificar o andamento atual da quebra de senha. Isso significa que você pode usar o parâmetro de status para atualizar automaticamente a tela de status. Reduzir as operações que você precisa realizar também pode reduzir toques acidentais.
Além de usar o parâmetro status para atualizar automaticamente o status da tela no hashcat, você também pode usar o parâmetro- -status-timer para definir o intervalo de atualização da tela de status.
O uso do modo de ataque direto no Hashcat é aproximadamente o conteúdo acima. Se você estiver interessado em hashcat, também pode visitar diretamente o site do hashcat, que contém uma introdução detalhada aos parâmetros de comando do hashcat e a cada modo de ataque.
Artigo reimpresso do Laboratório de Segurança Cibernética Dingniu