VB .NET  -  Como hackear uma senha


 Neste artigo vou falar um pouco sobre segurança e como quebrar senhas (num nível bem iniciante) usando a linguagem VB .NET.

Quebrar uma senha é o processo de tentativa de obter acesso não autorizado a sistemas restritos usando senhas comuns ou algoritmos que adivinham senhas. Em outras palavras, é uma arte de obter a senha correta que dá acesso a um sistema protegido por um método de autenticação.

A quebra de senha emprega várias técnicas para atingir seus objetivos. O processo de cracking pode envolver a comparação de senhas armazenadas com a lista de palavras ou o uso de algoritmos para gerar senhas que correspondam.

O objetivo deste artigo é bem despretensioso e visa apresentar algumas técnicas comuns de quebra de senhas e quais contramedidas podemos implementar para proteger os nossos sistemas contra tais ataques. Naturalmente eu vou apenas introduzir o assunto e nem de longe vou abordar todas as possibilidades envolvidas.

Qual é a 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. De forma resumida , a força de uma senha é determinada por :

  1. Comprimento: o número de caracteres que a senha contém.
  2. Complexidade: usa uma combinação de letras, números e símbolos ?
  3. Imprevisibilidade: é algo que pode ser facilmente adivinhado por um atacante ?

Vamos agora ver um exemplo prático. Vamos usar três senhas simples classificadas conforme abaixo:

1. password -  muito fraca
2. password1  - fraca
3. #password1$ - moderada

Quando maior a força da senha mais difícil será quebrar a senha e mais forte ela será.

Podemos listar alguns exemplos de senhas que são fáceis de serem quebradas:

  • Somente com números;

  • Somente com letras;

  • Totalmente com letras maiúsculas ou minúsculas;

  • Nomes próprios;

  • Palavras de dicionário;

  • Senhas curtas (menor que oito caracteres);

Assim, as suas senhas serão mais seguras se você evitar senhas com essas características.

Agora vamos usar uma ferramenta on-line que pode ser acessada neste link - md5convertor - para criptografar as senhas cimas usando a criptografia MD5.

Basta acessar o link : www.md5-creator.com e informar a senha e clicar no botão Create Md5 para obter a senha criptografada conforme abaixo:

Gerando a senha criptografada para cada uma das senhas acima teremos:

Senha Hash MD5 Indicador de Força da Senha
password  5f4dcc3b5aa765d61d8327deb882cf99  muito fraca
password1  7c6a180b36896a0a8c02787eeafb0e4c  fraca
#password1$  29e08fb7103c327d68327f23d8d9256c  moderada

Muito bem...

Agora vamos acessar o  endereço https://hashkiller.co.uk/md5-decrypter.aspx e obter o hash de cada uma das senhas acima:

1  
2
3

Observe que cada uma das senhas foi descriptografada usando uma ferramenta gratuita. Mesmo a senha indicada como moderada foi quebrada em 99 milisegundos.

Conclusão : O MD5 é uma técnica fraca para geração de hash. Não se iluda, mesmo para uma senha mais longa e complexa o Hash gerado pode ser quebrado facilmente.

Técnicas de quebra de senha

Existem diversas técnicas que podem ser usadas para quebrar senhas. Descreveremos as mais simples e as mais usadas :

1- Ataque de dicionário

Esse método envolve o uso de uma lista de palavras para comparar com senhas de usuários.

2- Ataque da força bruta

Este método é semelhante ao ataque de dicionário. Ataques de força bruta usam algoritmos que combinam caracteres alfanuméricos e símbolos para criar senhas para o ataque. Neste método tenta-se várias combinações de caracteres até achar a senha correta.

3- Ataque Rainbow table

Esse método usa hashes pré-calculados. Suponhamos que temos um banco de dados que armazena senhas como hashes md5. Podemos criar outro banco de dados que tenha hashes md5 de senhas comumente usadas. Podemos então comparar o hash da senha que temos com os hashes armazenados no banco de dados. Se uma correspondência for encontrada, então temos a senha.

4- Adivinhação

Esse método envolve adivinhação. Senhas como qwerty, password, admin, etc. são comumente usadas ou configuradas como senhas padrão. Se elas não foram alterados ou se o usuário é descuidado ao selecionar senhas, elas podem ser facilmente comprometidos.

5- Spidering

A maioria das organizações usa senhas que contêm informações da empresa. Essas informações podem ser encontradas nos sites da empresa, nas mídias sociais, como no Facebook, no Twitter, etc. A Spidering reúne informações dessas fontes para criar listas de palavras. A lista de palavras é usada para executar ataques de dicionário e de força bruta.

6- Ataques passivos on-line

Esse método usa ataques que são realizados somente aguardando e ouvindo, neste caso, através da tecnologia, usando ferramentas de sniffing como o Wireshark, ataques man-in-the-middle, etc.

Ferramentas para quebra de senhas

Vejamos agora algumas ferramentas que podem ser usadas para quebrar senhas

John the Ripper

Essa ferramenta usa o prompt de comando para quebrar senhas. Isso faz com que seja adequado para usuários avançados que estão confortáveis ​​trabalhando com comandos. Ele usa a lista de palavras para quebrar senhas. O programa é gratuito, mas a lista de palavras deve ser comprada. Tem listas de palavras alternativas gratuitas que você pode usar. Acesse o site do programa neste link: https://www.openwall.com/john/

Caim e Abel

Essa ferramenta roda no Windows sendo usada para recuperar senhas de contas de usuários, recuperação de senhas do Microsoft Access; sniffing de rede, etc. Ao contrário da ferramenta anterior ela usa uma interface. É muito comum entre novatos e iniciantes em script por causa de sua simplicidade de uso.  Acesse a ferramenta neste link: https://www.softpedia.com/get/Security/Decrypting-Decoding/Cain-and-Abel.shtml

Ophcrack

Esta ferramenta é um cracker de senha do Windows multiplataforma que usa tabelas de arco-íris para quebrar senhas. Ele é executado no Windows, Linux e Mac OS. Também possui um módulo para ataques de força bruta, entre outros recursos. Visite o site da ferramenta aqui: http://ophcrack.sourceforge.net/

Brutus

Essa ferramenta é muito usada para quebrar senhas dos protocolos FTP, HTTP, IMAP, POP3, SMTP e Telnet. Site do Brutus : http://www.hoobie.net/brutus/brutus-aet2.zip

Essas são algumas das ferramentas mais conhecidas mas você pode encontrar centenas iguais a elas na web.

Para concluir você pode tomar algumas medidas básicas para dificultar a quebra de senha. Veja abaixo:

- Evite usar senhas curtas e previsíveis
-
Evite usar senhas com padrões previsíveis, como 11552266.
- Evite usar datas de nascimento, casamento e outros dados pessoais em senhas;
- As senhas armazenadas no banco de dados devem sempre ser criptografadas usando um algorítimo forte.
- Procure sempre ter um indicativo da senha que esta usando.

O site http://testedesenha.com.br/ permite que você obtenha uma indicação da força de uma senha.

Veja abaixo um exemplo de utilização onde verificamos a força da senha #password$1:

Note que precisamos usar letras maiúsculas em nossa senha par torná-la mais forte.

Na segunda parte do artigo veremos um programa VB .NET que usa a força bruta para quebrar senhas bem simples.

"Eu sou o Alfa e o Ômega, o princípio e o fim, diz o Senhor, que é, e que era, e que há de vir, o Todo-Poderoso. "
Apocalipse 1:8

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ?

 

  Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

 

Referências:


José Carlos Macoratti