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.
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 .
Oi Daniel, é normal ficar confuso com tanta coisa pra estudar. Eu não abri ainda uma mentoria para dúvidas, pretendo fazer em breve
Eu revirei internet a fora procurando pessoas que realmente sabem ensinar sobre o assunto de segurança, o Donda foi o unico que tinha resposta para tudo, e sempre com feedback, coisa que a maioria não faz. só tenho a agradecer!!!
Poxa, fico feliz demais Marcelo, que bom que de alguma maneira eu estou ajudando.