Vários modos de ataque do hashcat

hashcat tem vários modos de ataque, use o parâmetro – help para ver a ajuda completa, você pode ver a tabela "Modos de Ataque", da seguinte forma:

# Mode
0 reto
1 combinação
3 força bruta
6 lista de palavras híbrida + máscara
7 máscara híbrida + lista de palavras

1.Straight

Este modo de ataque também é conhecido como" ataque de dicionário ". Não há muito a dizer, mas dado um dicionário, o hashcat lerá o conteúdo do dicionário linha por linha, calculará o valor hash de cada linha e o comparará com o valor hash de destino.

Exemplo:

     hashcat   -a   0   -m   400   exemplo400.hash   exemplo.dict 

2.combinação

Baidu me disse que combinação é um substantivo, que significa: "combinação; consórcio; combinação de senha; roupas íntimas". Esse modo de ataque é realmente muito simples, que consiste em combinar o conteúdo de dois dicionários de senhas. Usar esse modo de ataque requer a especificação de dois dicionários de senhas. Suponha que temos dois dicionários de senhas dict1.txt e dict2.txt, cujos conteúdos são:

     caça 
Gatinho 
    Arco-íris 

e

     paris 
    rock 

então o comando:

     hashcat   -m   0   -a   1   hash.txt   dict1.txt   dict2.txt 

O dicionário realmente tentado é:

     huntingparis 
    huntingrock 
    kittyparis 
    kittyrock 
    rainbowparis 
    rainbowrock 

As palavras em dict1.txt estão à esquerda e as palavras em dict2.txt estão à direita, um total de 3×2=6.

Os parâmetros relacionados a este padrão são:

     -j,   - -rule-left 
    -k,   - -rule-right 

-A regra após j atua no lado esquerdo, a regra após-k atua no lado direito, como adicionar o parâmetro-j' $-', então o dicionário real tentado é:

     hunting-paris 
    Pedra de caça 
    kitty-paris 
    kitty-rock 
    rain-bowparis 
    rain-bowrock 

Adicionar parâmetro-j'^!', Então o dicionário real tentado é:

    ! huntingparis 
  ! huntingrock 
  ! kittyparis 
  ! kittyrock 
  ! rainbowparis 
  ! rainbowrock 

adicione o parâmetro-k'^ >', então o dicionário real tentado é:

     caça > paris 
Caçando pedra 
    kitty > paris 
    kitty > rock 
    chuva > bowparis 
    rain > bowrock 

Qual é essa regra? Os usos de "$" e "^" são semelhantes às expressões regulares, então são regulares? Na verdade, não, as regras do hashcat são implementadas por si mesmas, o que é outro grande conteúdo. Para obter detalhes, consulte Ataque baseado em regras

3.Brute-force

Tente várias combinações de um determinado conjunto de caracteres. De acordo com o wiki oficial do hashcat, este método está desatualizado e foi totalmente substituído pelo ataque de máscara, portanto nenhuma pesquisa será feita,

4. Ataque de máscara

Este é um método de ataque relativamente novo, o exemplo é o seguinte:

     hashcat   -a   3   -m   0   md5.hash  ? Eu? Eu? Eu? Eu? l 

Embora de acordo com a tabela "Modos de Ataque", -a 3 corresponda à força bruta, na verdade, -a 3 usa o ataque de máscara. O ataque de máscara pode ser visto como uma força bruta avançada. O parâmetro

-m é usado para especificar o tipo de função hash, e o valor md5 é armazenado no arquivo md5.hash. A chave é a última string "? l? l? l? l? l? l". Essa string é chamada de máscara.

Uma máscara é uma string composta por vários marcadores de espaço. "? l" é um marcador de espaço, onde "?" é uma palavra-chave, usada para modificar o seguinte "l". Juntos, "? l" representa um conjunto de caracteres. Além de "? l", também pode haver. "? u", "? d", "? h", "? h", "? s", "? a" e "? b" representam o conjunto de caracteres mostrado na tabela abaixo.

0 – 0xff
? Conjunto de caracteres
l ABCDEFGHIJKLMNOPQRSTUVWXYZ
u ABCDEFGHIJKLMNOPQRSTUVWXYZ
d 0123456789
h 0123456789abcdef
h 0123456789abcdef
s ! "#$% & ' () * +, -. /:; < = >? @ [\] ^_` ~ {|}
a ? Eu? Você? d? s
b

Desta forma, entendemos que "? l? l? l? l? l" é na verdade equivalente a um dicionário criptográfico:

 aaaaa 
aaaab 
... 
zzzzz 

Da mesma forma, "? l? u? d" é equivalente a um dicionário criptográfico:

     aA0 
  
  ... 
    
  ... 
    zZ9 

O conjunto de caracteres na tabela acima é integrado ao hashcat, também podemos especificar o conjunto de caracteres por nós mesmos:

     - -custom-charset1= conjunto de caracteres 1 
    - -custom-charset2= conjunto de caracteres 2 
    - -custom-charset3= conjunto de caracteres 3 
    - -custom-charset4= conjunto de caracteres 4 

Parâmetro – custom-charsetN pode ser abreviado para-n, como – custom-charset1 pode ser abreviado para-1. O conjunto de caracteres especificado com-n é especificado na máscara como um marcador "? N", como:

     -1   abc123  ? 1? 1? 1 

é equivalente a um dicionário de senhas:

     aaa 
  aab 
  ... 
  
  ... 
    333 

-N Além da sequência que representa o conjunto de caracteres, também pode ser um arquivo terminando com. hcchr, onde o conjunto de caracteres é armazenado. O hashcat vem com muitos arquivos. hcchr no diretório charsets/do pacote de instalação.

O conjunto de caracteres representado pelo espaçador "??" é o próprio "?". Além disso, quando os outros caracteres são usados como marcadores de espaço, eles representam os próprios caracteres. Por exemplo, "? lwerner? d" é equivalente ao dicionário de senhas:

     awerner0 
awerner1 
  ... 
    zwerner9 

Com o conhecimento acima, é fácil entender a máscara. Uma máscara consiste em vários marcadores de espaço, cada marcador de espaço é um conjunto de caracteres e uma máscara é uma combinação de vários conjuntos de caracteres de espaço. O número de marcadores de espaço é igual ao comprimento da senha. Quais são os benefícios desse design em comparação com simplesmente fornecer um conjunto de caracteres e comprimento de senha? Suponha que conhecemos a senha de alguém com um total de 7 dígitos. O primeiro dígito é uma letra maiúscula, os próximos 3 dígitos são letras minúsculas e os últimos 3 dígitos são números. Se for uma quebra de força bruta tradicional, são necessários conjuntos de caracteres A-Z, A-Z e 0-9, com um total de 62 caracteres. É necessário tentar até 62^7=3 521 614 606 208 vezes, o que é um trilhão de nível. Usar máscara para descrever esta senha é "\u\l\l\l\d\d\d", que é fácil de calcular. Existem um total de (26^4) × (10^3) =456 976 000 possibilidades, que são 100 milhões de nível, 4 ordens de magnitude menores que o método anterior. Para dar um passo para trás, mesmo que não conheçamos a distribuição de senhas, é fácil simular o efeito do brute force tradicional usando máscaras. A questão agora é que a máscara está fixa, quantos marcadores de espaço estão mortos e o que devemos fazer se não soubermos o comprimento da senha. Não importa se a senha for muito longa. Se a senha de alguém tiver apenas 3 dígitos e nós temos 4 marcadores de espaço, não seria uma grande perda se não pudéssemos resolvê-la. Devemos começar com 1 e escrever todas as máscaras de cada comprimento? Isso é muito problemático.

Existem duas soluções. Uma é usar o arquivo de máscara, escrever várias máscaras em um arquivo e, em seguida, especificar o arquivo na linha de comando. Observe que o arquivo de máscara precisa terminar em. hcmask.

Por exemplo, o conteúdo de test.hcmask é:

    ? l 
  ? Eu? l 
  ? Eu? Eu? l 
  ? Eu? Eu? Eu? l 

Use o seguinte comando para usar o arquivo:

     hashcat   -m   0   -a   3   - -show   md5.hash   test.hcmask 

Outra solução é adicionar o parâmetro – increment, que diz ao hashcat que, de acordo com a máscara que damos, comece com um marcador de espaço e tente mais dois, três até o comprimento que damos. Por exemplo, escrevemos o espaçador "abc" para este e então calculamos o valor md5 da seguinte string:

     A:0cc175b9c0f1b6a831c399e269772661 
    b:92eb5ffee6ae2fec3ad71c777531578f 
    c:4a8a08f09d37b73795649038408b5f33 
    ab:187ef4436122d1cc2f40dc2b92f0eba0 
    ac:e2075474294983e013ee4dd2201c7a73 
    ba:07159c47ee1b19ae4fb9c40d480856c4 
    bc: 5360af35bde9ebd8f01f492dc059593c 
    ca:5435c69ed3bcc5b2e4d580e393e373d3 
    cb:d0d7fdb6977b26929fb68c6083c0b439 
    abc:900150983cd24fb0d6963f7d28e17f72 
    abc:900150983cd24fb0d6963f7d28e17f72 
    bac:79ec16df80b57696a03bb364410061f3 
    bca:b64eab8ce39e013604e243089c687e4f 
    cba:3944b025c9ca7eec3154b44666ae04a0 
    cab:16ecfd64586ec6c1ab212762c2c38a90 

Antes de ":" é a string original para o qual o valor hash deve ser calculado, e depois de ":" é o valor hasn calculado. Salve o conteúdo acima no arquivo md5.hash e execute o seguinte comando:

     hashcat   -m   0   -a   3   - -show   - -username   md5.hash   abc 

Adicione o parâmetro – username porque há uma string original antes de cada um de nossos valores de hash. Se você não adicionar este parâmetro, o hashcat mostrará que o valor de hash correto não foi encontrado. Ao adicionar este parâmetro, o hashcat pensará que a string antes do valor de hash é o nome de usuário para o valor de hash, para que o valor de hash possa ser carregado com sucesso.

O resultado da execução é que apenas um hash foi resolvido:

     900150983cd24fb0d6963f7d28e17f72:abc 

Agora adicione o parâmetro – increment e execute novamente:

     hashcat   -m   0   -a   3   - -show   - -increment   - -username   md5.hash   abc 

Desta vez, mais dois hash foram resolvidos:

     0cc175b9c0f1b6a831c399e269772661:a 
    187ef4436122d1cc2f40dc2b92f0eba0:ab 

Como pode ser visto, – increment desempenhou um papel. Mas, ao mesmo tempo, também sabemos que com esse parâmetro, o hashcat apenas tentará a, ab e abc em ordem e não organizará e combinará os marcadores de espaço fora de ordem, tentando várias possibilidades.

5. Ataque híbrido

O ataque híbrido é semelhante ao ataque combinador. O ataque combinador combina dois dicionários, enquanto o ataque híbrido combina um dicionário e uma máscara.

Digamos que já temos um dicionário exemplo.dict com o seguinte conteúdo:

     Olá 
    werner 

então o comando:

     hashcat   -m   0   -a   6   md5.hash   exemplo.dict  ? d? d 

é equivalente a simplesmente usar um dicionário:

     Olá 
Olá! Olá! 
  ... 
Olá, 99. 
    werner00 
    werner01 
  ... 
    werener99 

Então o comando:

     hashcat   -m   0   -a   7   md5.hash  ? d?   dexample.dict 

Equivalente a simplesmente usar um dicionário:

     00Olá 
Olá! Olá! 
  ... 
    99Olá 
    00werner 
    01werner 
  ... 
    99werener 

Artigo anterior:Como usar o software hashcat para explodir vários hashes
A seguir:Método de uso do Hashcat e compartilhamento técnico
  • Concentre-se em Word, Excel, PPT, PDF, RAR, ZIP, 7Z, pacote compactado, desbloqueio e descriptografia de arquivos criptografados do escritório
  • Nós fornecemos aos usuários recuperação de senha de pacote de compactação de arquivo de alta qualidade, recuperação de senha de palavra desbloqueada em PDF
  • Direitos autorais © Document Password Recovery Master Plataforma de descriptografia on-line