Password CrackerComo descobrir/adivinhar uma senha

โšก Resumo Inteligente

Quebrar senhas รฉ a prรกtica de recuperar credenciais por meio de tentativas sistemรกticas de adivinhaรงรฃo, comparaรงรฃo ou cรกlculo com base em hashes armazenados. Esta visรฃo geral explica como os atacantes operam, as ferramentas que utilizam, os fatores de seguranรงa que os impedem e os controles que os administradores devem implementar.

  • ๐Ÿงญ FoundationPrincรญpio al: A forรงa de uma senha depende do seu comprimento, complexidade de caracteres e imprevisibilidade para resistir a ataques de forรงa bruta e recuperaรงรฃo por dicionรกrio.
  • ๐Ÿ” Hashing vs. Criptografia: As credenciais armazenadas sรฃo protegidas por funรงรตes hash unidirecionais, como MD5, SHA-256 ou bcrypt, em vez de criptografia reversรญvel.
  • ๐ŸŽฏ Tรฉcnicas comuns de ataque: Dicionรกrio, forรงa bruta, tabela arco-รญris, hรญbrido, spidering e credential stuffing exploram o comportamento humano previsรญvel.
  • ๐Ÿ› ๏ธ Conjunto de ferramentas de quebra de senhas: John the Ripper, Hashcat, Cain & Abel, Ophcrack, e o Hydra automatizam a recuperaรงรฃo offline e online de hashes capturados.
  • ๐Ÿค– Ataques baseados em IA: Modelos generativos preveem senhas realistas a partir de vazamentos de dados, melhorando drasticamente a eficiรชncia do dicionรกrio contra credenciais fracas.
  • ๐Ÿ›ก๏ธ Controles defensivos: Hashes com sal, autenticaรงรฃo multifator, polรญticas de bloqueio e gerenciadores de senhas neutralizam a maioria das tentativas de quebra de senha em ambientes de produรงรฃo.

Como quebrar (hackear) uma senha?

A quebra de senhas รฉ uma das disciplinas mais antigas em seguranรงa ofensiva, mas continua tรฃo relevante quanto sempre, pois os usuรกrios continuam escolhendo segredos previsรญveis. Neste tutorial, apresentaremos as tรฉcnicas comuns que os atacantes usam para recuperar senhas, as ferramentas que automatizam o trabalho e as contramedidas que os administradores podem implementar para proteger os sistemas contra esses ataques.

O que รฉ quebra de senha?

Quebrar senhas รฉ o processo de tentar obter acesso nรฃo autorizado a um sistema restrito, recuperando o segredo que protege um mecanismo de autenticaรงรฃo. O processo de quebra pode envolver a comparaรงรฃo de hashes de senhas armazenadas com uma lista de palavras prรฉ-computadas ou a execuรงรฃo de algoritmos que geram senhas candidatas atรฉ que uma correspondรชncia seja encontrada. Uma vez descoberta a correspondรชncia, o atacante pode se autenticar como um usuรกrio legรญtimo sem precisar adivinhar a senha online.

O que รฉ forรงa da senha?

A forรงa de uma senha รฉ a medida da sua capacidade de resistir a ataques de quebra de senha. A forรงa de qualquer senha รฉ determinada por trรชs propriedades:

  • Comprimento: O nรบmero total de caracteres que a senha contรฉm.
  • Complexidade: seja utilizando uma combinaรงรฃo de letras maiรบsculas, letras minรบsculas, nรบmeros e sรญmbolos.
  • Imprevisibilidade: Se a senha pode ser facilmente adivinhada por um atacante que conhece o usuรกrio.

Vamos comparar trรชs senhas: senha, password1 e #senha1$Para este exemplo, usaremos o indicador de forรงa de senha do cPanel. As imagens abaixo mostram a forรงa de cada senha candidata.

O indicador de forรงa da senha do cPanel mostra uma classificaรงรฃo muito fraca para o valor da senha.

Nota: a senha utilizada รฉ senha; a intensidade รฉ 1, que รฉ muito fraca.

O indicador de forรงa da senha do cPanel mostra uma classificaรงรฃo fraca para o valor "password1".

Nota: a senha utilizada รฉ password1A forรงa รฉ 28, o que ainda รฉ fraco.

O indicador de forรงa da senha do cPanel mostra uma classificaรงรฃo forte para o valor hashpassword1dollar.

Nota: a senha utilizada รฉ #senha1$A forรงa รฉ 60, o que รฉ considerado forte. Quanto maior o nรบmero da forรงa, melhor a senha.

Agora, suponha que precisamos armazenar as mesmas senhas usando o algoritmo de hash MD5. Usaremos um gerador de hash MD5 online para converter cada senha em seu valor de hash. A tabela abaixo mostra os hashes resultantes.

Senha Hash MD5 Indicador de forรงa do painel
senha 5f4dcc3b5aa765d61d8327deb882cf99 1
password1 7c6a180b36896a0a8c02787eeafb0e4c 28
#senha1$ 29e08fb7103c327d68327f23d8d9256c 60

Agora, usaremos um site pรบblico de busca reversa de MD5 para quebrar os hashes acima. As imagens abaixo mostram os resultados da quebra de senha para cada valor.

Resultado da pesquisa reversa MD5 para o hash do valor da senha

Resultado da pesquisa reversa MD5 para o hash do valor password1

O resultado da pesquisa reversa de MD5 mostrou falha na quebra do hash forte "password1dollar".

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, mais complexa e imprevisรญvel. Ela tambรฉm tinha um nรบmero de forรงa mais alto.

Tรฉcnicas de quebra de senha

Existem diversas tรฉcnicas comprovadas que os atacantes usam para recuperar senhas. Descreveremos as categorias mais comuns abaixo.

  • Ataque de dicionรกrio: Este mรฉtodo utiliza uma lista de palavras candidatas provรกveis โ€‹โ€‹e compara cada uma delas com senhas de usuรกrios ou hashes de senhas capturados.
  • Ataque de forรงa bruta: Os ataques de forรงa bruta combinam caracteres alfanumรฉricos e sรญmbolos usando algoritmos para gerar sistematicamente todas as senhas possรญveis atรฉ encontrar uma correspondรชncia. Por exemplo, uma senha como senha tambรฉm pode ser experimentado como palavra usando uma regra hรญbrida de forรงa bruta.
  • Ataque ร  mesa arco-รญris: Este mรฉtodo se baseia em hashes prรฉ-computados. Suponha que um banco de dados armazene senhas como hashes MD5. O atacante cria outra tabela que armazena hashes MD5 de senhas comuns e compara o hash capturado com a tabela de hashes prรฉ-computados. Se uma correspondรชncia for encontrada, a senha รฉ recuperada.
  • Acho: Como o nome sugere, esse mรฉtodo envolve adivinhaรงรฃo. Senhas como QWERTY, senha e admin Sรฃo comumente usadas ou definidas como padrรฃo. Se nรฃo forem alteradas, podem ser comprometidas rapidamente.
  • Aranhas: A maioria das organizaรงรตes usa senhas que contรชm informaรงรตes da empresa. Essas informaรงรตes podem ser coletadas de sites corporativos e redes sociais como Facebook e Twitter. A indexaรงรฃo de sites coleta dados dessas fontes para criar listas de palavras-chave especรญficas, que sรฃo entรฃo usadas em ataques de dicionรกrio e de forรงa bruta.
  • Recheio de credenciais: Os atacantes reutilizam pares de nome de usuรกrio e senha vazados em uma violaรงรฃo de seguranรงa contra serviรงos nรฃo relacionados, explorando usuรกrios que reutilizam credenciais.

Uma lista de palavras-chave para indexaรงรฃo em uma empresa fictรญcia poderia combinar: 1976 (ano de nascimento do fundador); Smith, Jones (sobrenomes); Acme (nome da empresa); Built, To, Last (palavras-chave relacionadas ร  visรฃo); golfe, xadrez, futebol (hobbies).

A tabela abaixo compara as tรฉcnicas em termos de velocidade, prรฉ-requisitos e detectabilidade.

Tรฉcnica Agilidade (Speed) Requer Hash? Detectรกvel online?
Dicionรกrio pomposidade Opcional Sim
Forรงa bruta Devagar Opcional Sim
Mesa arco-รญris Muito rรกpido Sim Nรฃo (offline)
Adivinhaรงรฃo Variรกvel Nรฃo Sim
Aranha Devagar Nรฃo Sim
Recheio de credenciais pomposidade Nรฃo Sim

Password Cracker Ferramentas

Ferramentas de quebra de senhas sรฃo softwares que automatizam as tรฉcnicas descritas acima. Jรก mencionamos uma dessas ferramentas no exemplo de forรงa de senha, onde uma busca pรบblica por MD5 usa uma tabela rainbow para reverter hashes comuns. Agora, vamos analisar outras ferramentas que os profissionais utilizam durante avaliaรงรตes autorizadas.

1) John the Ripper
John the Ripper Utiliza a linha de comando e aceita listas de palavras com regras para gerar candidatos. Detecta automaticamente muitos formatos de hash comuns. O programa รฉ gratuito, enquanto listas de palavras comerciais selecionadas estรฃo disponรญveis separadamente. Visite https://www.openwall.com/john/.

2) Cain & Abel
Cain & Abel corre em Windows e recupera senhas de usuรกrios, realiza sniffing de rede e muito mais. Sua interface grรกfica a torna popular entre os iniciantes. A ferramenta nรฃo recebe manutenรงรฃo ativa desde 2014, portanto, use-a apenas em sistemas de laboratรณrio legados. Veja https://sectools.org/tool/cain/.

3) Ophcrack
Ophcrack รฉ uma plataforma cruzada Windows Um programa para quebrar senhas que usa tabelas rainbow. Ele roda em Windows, Linux e macOSe inclui um mรณdulo de forรงa bruta. Visite https://ophcrack.sourceforge.io/.

4) Hashcat
Hashcat รฉ o padrรฃo moderno para recuperaรงรฃo de senhas offline. Ele suporta mais de 300 algoritmos de hash, utiliza aceleraรงรฃo por GPU e oferece ataques baseados em regras. A documentaรงรฃo estรก disponรญvel em https://hashcat.net/hashcat/.

5) Hidra
O Hydra (THC-Hydra) tem como alvo serviรงos online como SSH, FTP, RDP e formulรกrios de login HTTP. Ele รฉ distribuรญdo com Kali Linux e รฉ amplamente utilizado em operaรงรตes autorizadas de equipes vermelhas.

Como se proteger contra ataques de quebra de senha?

Uma organizaรงรฃo pode utilizar as seguintes medidas para reduzir as chances de suas senhas serem quebradas:

  • Exija um mรญnimo de 12 caracteres e evite padrรตes previsรญveis como 11552266 ou qwerty1234.
  • Armazene senhas com uma funรงรฃo hash unidirecional lenta, como bcrypt, scrypt ou Argon2, em vez de hashes rรกpidos como MD5 ou SHA-1.
  • Adicione um sal a cada senha antes de gerar o hash; o sal impede buscas em tabelas rainbow, mesmo quando o hash em si รฉ rรกpido.
  • Adote polรญticas de senhas que priorizem pontuaรงรตes de forรงa elevadas e promovam o uso de frases-senha, conforme recomendado pela NIST SP 800-63B.
  • Habilite a autenticaรงรฃo multifator (MFA) para que uma senha roubada por si sรณ nรฃo conceda acesso.
  • Utilize um gerenciador de senhas para gerar credenciais exclusivas para cada serviรงo, neutralizando ataques de preenchimento de credenciais.
  • Configure o bloqueio de conta, a limitaรงรฃo de velocidade e o monitoramento contรญnuo para detectar atividades de forรงa bruta online precocemente.

Atividade de hacking: Hackeie agora!

Neste cenรกrio prรกtico, vamos desvendar um Windows Conta que utiliza uma senha simples. Windows Armazena credenciais locais como hashes NTLM (um esquema baseado em MD4), e usaremos o mรณdulo de quebra de NTLM do Cain and Abel para recuperar o valor.

Caim e Abel conseguem quebrar senhas usando ataque de dicionรกrio, forรงa bruta ou criptoanรกlise (tabelas prรฉ-computadas). Usaremos o ataque de dicionรกrio aqui. Baixe a lista de palavras. 10k-Most-Common.zip de um espelho confiรกvel. Para esta demonstraรงรฃo, criamos uma conta chamada Contas com a senha QWERTY com um Windows 7 mรกquinas de laboratรณrio.

Windows Foram criados 7 usuรกrios de laboratรณrio chamados "Accounts" com a senha simples "qwerty" para demonstraรงรฃo.

Como quebrar uma senha

O passo a passo abaixo relaciona cada tela de Caim e Abel com a aรงรฃo a ser tomada. Siga os passos na ordem indicada, usando sua prรณpria conta de teste, nunca em um sistema que nรฃo seja seu.

Passo 1) Abra Caim e Abel.
Inicie o aplicativo; vocรช verรก a seguinte tela principal.

Interface principal de Caim e Abel com a aba Cracker visรญvel.

Passo 2) Encontre o botรฃo Adicionar.
Certifique-se de que a aba "Cracker" esteja selecionada, conforme mostrado acima, e clique no botรฃo "Adicionar" na barra de ferramentas.

A aba "Cracker" estรก selecionada e o botรฃo "Adicionar" estรก destacado na barra de ferramentas de Caim e Abel.

Passo 3) Escolha a fonte de importaรงรฃo.
A seguinte janela de diรกlogo serรก exibida. Selecione Importar hashes do sistema local e clique em Avanรงar.

Diรกlogo de Caim e Abel perguntando de qual fonte importar os hashes NTLM.

Passo 4) Revveja as contas importadas.
As contas de usuรกrio locais estรฃo listadas a seguir. Os resultados exatos refletirรฃo as contas de usuรกrio em sua mรกquina de laboratรณrio.

Lista de produtos locais importados Windows contas prontas para serem desvendadas dentro de Caim e Abel

Passo 5) Clique com o botรฃo direito do mouse na conta desejada.
Clique com o botรฃo direito do mouse na conta que deseja invadir. Para este tutorial, usaremos a Contas usuรกrio.

Acesse o menu de contexto clicando com o botรฃo direito do mouse no usuรกrio "Contas" dentro de Caim e Abel.

Passo 6) Abra o painel de ataque de dicionรกrio.
Na janela de ataque de dicionรกrio, clique com o botรฃo direito do mouse na seรงรฃo do dicionรกrio e selecione Adicionado a lista como mostrado abaixo.

Painel de ataque de dicionรกrio com a opรงรฃo "Adicionar ร  lista" destacada.

Passo 7) Navegue atรฉ o arquivo da lista de palavras.
Navegue atรฉ o 10 mil-mais-comuns.txt O arquivo que vocรช acabou de baixar, selecione-o.

Abra o navegador de arquivos dentro do Cain and Abel para escolher a lista das 10 mil palavras mais comuns em senhas.

Passo 8) RevVeja a senha recuperada.
Se o usuรกrio escolheu uma senha simples como QWERTYVocรช verรก resultados semelhantes ร  tela abaixo, com o valor em texto simples ao lado da conta do usuรกrio.

Caim e Abel mostrando a senha em texto simples recuperada (tipo "qwerty") para o usuรกrio de Contas.

Observaรงรฃo: o tempo necessรกrio para quebrar uma senha depende da forรงa da senha, da complexidade da lista de candidatos e da capacidade de processamento da sua mรกquina. Se o ataque de dicionรกrio nรฃo recuperar a senha, tente um ataque de forรงa bruta ou criptoanรกlise.

Como a IA รฉ Reshaping Quebra e defesa de senhas

A inteligรชncia artificial tornou-se uma forรงa importante em ambos os lados da quebra de senhas. Os atacantes treinam modelos de linguagem com base em vazamentos de credenciais para prever senhas realistas, enquanto os defensores combinam esses mesmos modelos com sistemas de telemetria para detectar invasรตes mais rapidamente.

Eis como a IA estรก transformando o setor atualmente:

  • Geraรงรฃo de listas de palavras mais inteligente: Modelos generativos como o PassGAN aprendem padrรตes de senhas humanas e produzem listas de candidatos que quebram mais hashes do que dicionรกrios estรกticos.
  • Avaliaรงรฃo de Risco Comportamental: A IA defensiva inspeciona a localizaรงรฃo geogrรกfica de login, a impressรฃo digital do dispositivo e o tipo de usuรกrio.ping ritmo, enviando contextos incomuns para aprimorar a autenticaรงรฃo.
  • Detecรงรฃo de anomalias em tempo real: Classificadores de aprendizado de mรกquina monitoram registros de autenticaรงรฃo e sinalizam tentativas de preenchimento de credenciais ou ataques de forรงa bruta lentos que as regras de assinatura nรฃo detectam.
  • Aconselhamento automatizado sobre polรญticas pรบblicas: As plataformas de identidade avaliam novas senhas em relaรงรฃo a conjuntos de dados especรญficos da organizaรงรฃo e sugerem alternativas mais robustas antes que os usuรกrios as finalizem.
  • Defesa contra phishing: A IA acelera a implementaรงรฃo dos fluxos FIDO2 e de chaves de acesso, analisando sinais de risco e reduzindo o atrito para o usuรกrio.

Combine o monitoramento por IA com autenticaรงรฃo multifatorial, algoritmos de hash modernos como o Argon2 e notificaรงรตes rรกpidas de violaรงรตes de seguranรงa para manter a defesa automatizada ร  frente do ataque automatizado.

Perguntas Frequentes

A quebra de senhas รฉ legal apenas quando realizada com autorizaรงรฃo escrita explรญcita, como em testes de penetraรงรฃo, auditorias internas ou recuperaรงรฃo de suas prรณprias credenciais. A quebra nรฃo autorizada viola as leis de uso indevido de computadores em praticamente todas as jurisdiรงรตes.

O hashing รฉ uma transformaรงรฃo unidirecional: o valor original nรฃo pode ser recuperado. A criptografia รฉ reversรญvel com a chave correta. As senhas devem sempre ser armazenadas como hashes com salt, usando algoritmos como bcrypt, scrypt ou Argon2, e nunca como strings criptografadas.

Para quebra de senhas offline, Hashcat Geralmente รฉ o mais rรกpido porque utiliza aceleraรงรฃo por GPU e suporta ataques baseados em regras em mais de 300 formatos de hash. John the Ripper Continua sendo uma opรงรฃo popular quando os recursos da GPU sรฃo limitados.

Um salt รฉ um valor aleatรณrio รบnico adicionado a cada senha antes de ela ser criptografada. O uso de salt impede ataques de tabela arco-รญris, pois tabelas prรฉ-computadas sรณ funcionam contra hashes sem salt. Alรฉm disso, o salt garante que dois usuรกrios com a mesma senha produzam valores armazenados diferentes.

Uma senha de 12 caracteres, misturando letras, nรบmeros e sรญmbolos, pode levar sรฉculos para ser quebrada por forรงa bruta contra um hash lento como o bcrypt. Contra um MD5 sem salt, a mesma senha pode ser quebrada em dias. A escolha do hash e seu comprimento sรฃo fatores importantes.

Os atacantes treinam modelos generativos como o PassGAN em vazamentos de credenciais para que eles prevejam senhas humanas realistas. As listas de palavras resultantes quebram consideravelmente mais hashes do que dicionรกrios estรกticos durante o mesmo perรญodo de execuรงรฃo, especialmente quando combinadas com mutaรงรตes baseadas em regras. Hashcat.

Sim. A IA defensiva estabelece parรขmetros de referรชncia para o comportamento normal de login, avalia o risco de cada tentativa e sinaliza ondas de ataques de preenchimento de credenciais ou campanhas lentas de forรงa bruta que os mecanismos de regras nรฃo detectam. Combine o monitoramento por IA com autenticaรงรฃo multifator e algoritmos de hash modernos, como o Argon2, para obter os melhores resultados.

A autenticaรงรฃo multifator bloqueia a grande maioria das tentativas de quebra de senha, pois uma senha recuperada sozinha nรฃo รฉ suficiente para concluir o login. Fatores de seguranรงa resistentes a phishing, como chaves de seguranรงa FIDO2 e senhas de acesso, oferecem a proteรงรฃo mais robusta e devem ser ativados sempre que possรญvel.

Resuma esta postagem com: