Wordlists – O segredo para quebrar senhas

A boa a velha tática de quebrar senhas pela força bruta simples pode funcionar em certos cenários, porém talvez não seja tão interessante hoje a não ser que você tenha poderosos recursos computacionais e/ou muito tempo.

Quando usamos o termo força bruta temos vários métodos

  • Ataques de Força Bruta Simples.
  • Ataques de Dicionário.
  • Ataques de Força Bruta Híbridos.
  • Ataques de Força Bruta Reversa.
  • Preenchimento de Credenciais (Credential Stuffing)

Entenda por força bruta simples a combinação de senhas e é mais fácil entender usando uma senha numérica como “123456” e o atacante iria testar todas as combinações

A geração de combinações para uma senha como “123456” em um ataque de Força Bruta é relativamente direta, pois essa senha é curta e composta apenas por números. Nesse caso, o atacante começaria testando todas as combinações possíveis de dígitos, da seguinte forma:

  • 000000
  • 000001
  • 000002
  • 123455
  • 123456 (senha correta)

Essa senha tem 6 dígitos de 0 a 9 dando um total de (10^6) combinações que é igual a 1.000.000. Isso para um computador moderno é fácil quebrar, mas vamos pensar hoje em dia que geralmente usamos uma senha de no mínimo 10 caracteres que inclui números (0-9), caracteres maiúsculos (A-Z), caracteres minúsculos (a-z)e um caracteres especiais como !, @, #, $, %, etc, o número de combinações possíveis seria (10 + 26 + 26 + número de caracteres especiais) ^ 10. um ataque de força bruta ou adivinhação de senha muito difícil e demorado.

1 septilhão, 74 sextilhões, 588 quintilhões, 138 quatrilhões, 448 trilhões, 583 bilhões e 72 milhões de combinações possíveis.

Wordlists (Dicionários)

Ataques de Dicionário é muito mais eficiente e permite “quebrar” uma senha mais rapidamente pois se limita a uma lista de palavras que podem ser palavras comuns, senhas vazadas em violações de dados, combinações de teclado, nomes e outras palavras que os atacantes acreditam que as pessoas possam usar como senhas.

Note que não vamos testar diretamente cada senha em um sistema diretor, iremos geralmente quebrar a senha de modo offline muitas vezes através de valores hash de senhas vazadas.

Eu uso o Kali Linux com frequência e e ele possui uma wordlist chamada rockyou.txt

  • /usr/share/wordlists/rockyou.txt.gz
  • cd /usr/share/wordlists
  • gzip -d rockyou.txt.gz

É útil pra testes, mas ela é antiga no Kali e quem mantém a rockyou é o Rob Bowes e podemos encontrar essa wordlist e muitas outras no o repositório do Daniel Miessler https://github.com/danielmiessler/SecLists/tree/master/Passwords

A melhor forma de baixar um diretório no GitHub é com o https://download-directory.github.io/

Criando um Wordlist

Criar o seu próprio wordlist é uma ótima maneira de avaliar a segurança da sua empresa e de sesus funcionários em um campanha de avaliação da empresa e você pode usar essa wordlist com Auditoria de senhas do Active Directory e a Auditoria de senhas vazadas no AD com HaveIBeenPwned.

No Kali Linux eu recomento a criação de uma wordlist usando o Mentalist.

Mentalist é uma ferramenta gráfica para geração de wordlist personalizadas. Ele utiliza paradigmas humanos comuns para construir senhas e pode gerar a lista completa de palavras, bem como regras compatíveis com Hashcat e John the Ripper.

https://github.com/sc0tfree/mentalist

Sua instalação é simples:

  • Git clone https://github.com/sc0tfree/mentalist
  • cd mentalist
  • python3 setup.py install
  • Mentalist

Rainbow Table

Rainbow Table é uma técnica usada para quebrar hashes de senhas de forma mais eficiente. Ela é uma forma de pré-computar hashes de senhas possíveis e, assim, acelerar o processo de recuperação de senhas e é assim que a maioria dos software de quebrar senhas trabalham.

Vamos supor que você acesse o https://haveibeenpwned.com/ e descubra que sua senha vazou em determinado site e ele usar o hash para armazenar sua senha. Quem tiver acesso ao banco de dados de senha verá seu e-mail e sua senha em hash

  • seu@email.com – fb8da69afd458b1b3b4dec5194c564d6

O que software de quebrar senha faz ? Ele usa um dicionário e para cada senha no dicionário ele transforma em hash e compara para validar cada uma. Para ver na pratica assista o vídeo.

Vídeo

Anúncio

Sobre Daniel Donda 538 Artigos
Olá, meu nome é Daniel Donda e sou especialista em cibersegurança, autor de livros, professor e palestrante. Saiba mais

2 Comentários

  1. Professor, eu me chamo Daniel, sou estudando de tecnologia, preciso de ajuda nessa área de Segurança da Informação, poderia me passar algum contato para eu tirar algumas duvidas, fico confuso com algumas coisas ainda .

Faça um comentário

Seu e-mail não será divulgado.


*