Cracker de senha: como quebrar (hackear) uma senha?
O que é quebra de senha?
A quebra de senha é o processo de tentativa de obter acesso não autorizado a sistemas restritos usando senhas comuns ou algoritmos que adivinham senhas. Ou seja, é uma arte de obter a senha correta que dá acesso a um sistema protegido por um método de autenticação.
A quebra de senhas emprega diversas técnicas para atingir seus objetivos. O processo de cracking pode envolver a comparação de senhas armazenadas com uma lista de palavras ou o uso de algoritmos para gerar senhas que correspondam
Neste tutorial, apresentaremos as técnicas comuns de quebra de senhas e as contramedidas que você pode implementar para proteger os sistemas contra tais ataques.
O que é força da senha?
A força da senha é a medida da eficiência de uma senha para resistir a ataques de quebra de senha. A força de uma senha é determinada por;
- Comprimento: o número de caracteres que a senha contém.
- Complexidade: usa uma combinação de letras, números e símbolos?
- Imprevisibilidade: é algo que pode ser facilmente adivinhado por um invasor?
Vejamos agora um exemplo prático. Usaremos três senhas, a saber
1. senha
2. senha 1
3. #senha1$
Para este exemplo, usaremos o indicador de força da senha do Cpanel ao criar senhas. As imagens abaixo mostram a força das senhas de cada uma das senhas listadas acima.
Note: a senha usada é a senha, a força é 1 e é muito fraca.
Note: a senha usada é password1 a força é 28 e ainda é fraca.
Note: A senha usada é #password1$ a força é 60 e é forte.
Quanto maior o número de força, melhor será a senha.
Suponhamos que tenhamos que armazenar nossas senhas acima usando criptografia MD5. Usaremos um serviço on-line gerador de hash md5 para converter nossas senhas em hashes md5.
A tabela abaixo mostra os hashes de senha
Senha | Hash MD5 | Indicador de força do Cpanel |
---|---|---|
senha |
5f4dcc3b5aa765d61d8327deb882cf99 |
1 |
password1 |
7c6a180b36896a0a8c02787eeafb0e4c |
28 |
#senha1$ |
29e08fb7103c327d68327f23d8d9256c |
60 |
Usaremos agora http://www.md5this.com/
para quebrar os hashes acima. As imagens abaixo mostram os resultados de quebra de senha para as senhas acima.
Como você pode ver pelos resultados acima, conseguimos quebrar a primeira e a segunda senhas que tinham números de força mais baixos. Não conseguimos quebrar a terceira senha que era mais longa, complexa e imprevisível. Tinha um número de força maior.
Técnicas de quebra de senha
Há um certo número de técnicas que podem ser usadas para quebrar senhas. Descreveremos os mais comumente usados a seguir;
- Ataque de dicionário– Este método envolve o uso de uma lista de palavras para comparar com senhas de usuários.
- Ataque de força bruta– Este método é semelhante ao ataque de dicionário. Os ataques de força bruta usam algoritmos que combinam caracteres alfanuméricos e símbolos para criar senhas para o ataque. Por exemplo, uma senha com o valor “senha” também pode ser tentada como p@$$word usando o ataque de força bruta.
- Ataque da mesa arco-íris– Este método usa hashes pré-computados. Vamos supor que temos um banco de dados que armazena senhas como hashes MD5. Podemos criar outro banco de dados que possua hashes md5 de senhas comumente usadas. Podemos então comparar o hash de senha que temos com os hashes armazenados no banco de dados. Se uma correspondência for encontrada, então temos a senha.
- Guess– Como o nome sugere, este método envolve adivinhação. Senhas como qwerty, senha, admin, etc. são comumente usadas ou definidas como senhas padrão. Se elas não tiverem sido alteradas ou se o usuário for descuidado ao selecionar as senhas, elas poderão ser facilmente comprometidas.
- Aranha– A maioria das organizações usa senhas que contêm informações da empresa. Essas informações podem ser encontradas nos sites das empresas, nas redes sociais como Facebook, Twitter, etc. O Spidering reúne informações dessas fontes para criar listas de palavras. A lista de palavras é então usada para realizar ataques de dicionário e de força bruta.
Exemplo de lista de palavras de ataque de dicionário de aranha
1976 <founder birth year> smith jones <founder name> acme <company name/initials> built|to|last <words in company vision/mission> golfing|chess|soccer <founders hobbies
Ferramentas para quebrar senhas
Estes são programas de software usados para quebrar senhas de usuários. Já vimos uma ferramenta semelhante no exemplo acima sobre a força das senhas. O site http://www.md5this.com/
usa uma tabela arco-íris para quebrar senhas. Veremos agora algumas das ferramentas comumente usadas
1) John the Ripper
John the Ripper usa o prompt de comando para quebrar senhas. Isso o torna adequado para usuários avançados que se sentem confortáveis ao trabalhar com comandos. Ele usa a lista de palavras para quebrar senhas. O programa é gratuito, mas a lista de palavras precisa ser comprada. Possui listas de palavras alternativas gratuitas que você pode usar. Visite o site do produto https://www.openwall.com/john/ para obter mais informações e como usá-lo.
2) Cain & Abel
Cain & Abel roda no windows. É usado para recuperar senhas de contas de usuários, recuperação de Microsoft Senhas de acesso; detecção de rede, etc. John the Ripper, Cain & Abel usa uma interface gráfica de usuário. É muito comum entre iniciantes e script kiddies devido à sua simplicidade de uso. Visite o site do produto https://sectools.org/tool/cain/ para obter mais informações e como usá-lo.
3) Ofhcrack
Ophcrack é uma plataforma cruzada Windows cracker de senha que usa tabelas arco-íris para quebrar senhas. Ele continua Windows, Linux e Mac OS. Possui também um módulo para ataques de força bruta, entre outras funcionalidades. Visite o site do produto https://ophcrack.sourceforge.io/ para obter mais informações e como usá-lo.
mSpy
Com mspy, um aplicativo de keylogger, você pode observar discretamente todas as palavras que alguém digita sem precisar estar fisicamente presente. Esta ferramenta permite que você acompanhe cada pressionamento de tecla e toque em um dispositivo, bem como monitore aplicativos de bate-papo populares como WhatsApp, Instagram, Tinder, Snapchat e Viber. Visualize facilmente todas as mensagens de texto e mensagens instantâneas e use o recurso integrado rastreador GPS para localizar a posição de um dispositivo.
Como se proteger contra ataques de quebra de senha?
- Uma organização pode usar os seguintes métodos para reduzir as chances de as senhas serem quebradas
- Evite senhas curtas e facilmente previsíveis
- Evite usar senhas com padrões previsíveis, como 11552266.
- As senhas armazenadas no banco de dados devem sempre ser criptografadas. Para criptografias MD5, é melhor salgar os hashes de senha antes de armazená-los. Salting envolve adicionar alguma palavra à senha fornecida antes de criar o hash.
- A maioria dos sistemas de registro possui indicadores de força de senha, as organizações devem adotar políticas que favoreçam números elevados de força de senha.
Atividade de hacking: Hackeie agora!
Neste cenário prático, vamos fenda Windows conta com uma senha simples. Windows usa hashes NTLM para criptografar senhas. Usaremos a ferramenta NTLM cracker em Caim e Abel para fazer isso.
O cracker Cain e Abel pode ser usado para quebrar senhas usando;
- Ataque de dicionário
- Força bruta
- Criptoanálise
Usaremos o ataque de dicionário neste exemplo. Você precisará baixar a lista de palavras de ataque de dicionário aqui 10k-Most-Common.zip
Para esta demonstração, criamos uma conta chamada Contas com a senha qwerty no Windows 7.
Como quebrar uma senha
Passo 1) Abra Caim e Abel.
você obterá a seguinte tela principal
Passo 2) Encontre o botão Adicionar.
Certifique-se de que a guia cracker esteja selecionada conforme mostrado acima e clique no botão Adicionar na barra de ferramentas.
Passo 3) Verifique a caixa de diálogo.
A seguinte janela de diálogo aparecerá. Importe usuários locais e clique no botão seguinte.
Passo 4) As contas de usuário locais serão exibidas da seguinte forma.
Observe que os resultados mostrados serão das contas de usuário em sua máquina local.
Passo 5) Clique com o botão direito na conta que deseja hackear.
Para este tutorial, usaremos Contas como conta de usuário.
Passo 6) Verifique a tela abaixo.
Clique com o botão direito na seção do dicionário e selecione o menu Adicionar à lista conforme mostrado acima.
Passo 7) Procurar arquivo.
Navegue até o arquivo 10k mais comum.txt que você acabou de baixar
Passo 8) Veja os resultados.
Se o usuário usou uma senha simples como qwerty, você poderá obter os seguintes resultados.
- Note: o tempo necessário para quebrar a senha depende da força da senha, da complexidade e do poder de processamento da sua máquina.
- Se a senha não for quebrada usando um ataque de dicionário, você pode tentar ataques de força bruta ou criptoanálise.
Resumo
- A quebra de senhas é a arte de recuperar senhas armazenadas ou transmitidas.
- A força da senha é determinada pelo comprimento, complexidade e imprevisibilidade do valor de uma senha.
- Técnicas comuns de senha incluem ataques de dicionário, força bruta, tabelas arco-íris, spidering e cracking.
- Ferramentas de quebra de senha simplificar o processo de quebra de senhas.