Princípios técnicos de quebra de senha, como melhorar a taxa de sucesso da descriptografia, como descriptografar e recuperar senha com sucesso

Publicado em: · Autor (s):Recuperação de senha

Pense como um hacker e pergunte-se como rapidamente uma senha pode ser quebrada, dependendo da sua estrutura.

Quando um hacker ou testador de penetração corrompe um sistema e deseja acessar uma senha de texto claro a partir de um dump de banco de dados, eles devem primeiro quebrar o hash de senha armazenado. Muitos atacantes mergulharam de cabeça no conceito: tentaram qualquer ataque criptográfico arbitrário que quisessem, com pouca razão. Esta discussão mostrará alguns métodos eficazes de quebra de senhas e como a análise estatística de senhas pode ser usada em conjunto com ferramentas para criar uma abordagem limitada em tempo para uma quebra eficiente e bem-sucedida.

Por que isso é importante?

Quebrar senhas é uma causa moribunda. Os usuários precisam criar senhas mais complexas, e alguns desenvolvedores de back-end começaram a usar mecanismos como   Bcrypt   para substituir funções de hash padrão. O hash do Bcrypt leva mais tempo para ser gerado e, portanto, as senhas se tornam mais difíceis de quebrar. Os hackers precisam gerar valores de hash muito rapidamente para quebrar senhas de forma eficiente, então o Bcrypt é uma ferramenta muito poderosa para combater tais ataques. Para ilustrar este exemplo, um programa de quebra de senhas lançado em 2012, feito de 25 clusters de GPUs, foi capaz de alcançar uma velocidade de geração de hash NTLM de 350 bilhões de hash por segundo, em comparação com 71.000 hash Bcrypt. Usando isso como modelo de comparação, para cada hash Bcrypt gerado, 5 milhões de hash NTLM podem ser gerados. Quando confrontados com o algoritmo Bcrpyted, os hackers devem fazer adivinhações mais computacionais sobre a senha e não podem confiar no uso de força bruta para cada possibilidade.

执行流程的顺序

Nota: Se o atacante souber que o comprimento da senha é tão curto que não levará muito tempo para quebrar o espaço-chave com força bruta, não há necessidade de tomar medidas de ataque incrementais.

Linha do tempo

A eficiência do tempo torna-se um fator-chave para o sucesso da quebra de senhas. Embora seria bom cobrir todo o espaço crítico da senha do usuário, o tempo necessário para fazer isso geralmente não é viável. Portanto, ao quebrar, é importante tentar primeiro o ataque que economiza mais tempo e, se não tiver sucesso, continuar com ataques criptográficos mais lentos que cobrem mais espaço chave. O método mais rápido é um ataque de dicionário simples baseado em senhas de usuário comumente usadas e despejos de senhas anteriores. A partir daí, você deve tentar manipular o dicionário para adicionar números ou símbolos no final ou alterar letras. Isso é chamado de ataque híbrido ou ataque baseado em regras. Em seguida, você pode tentar gerar possíveis senhas usando recursos de aprendizado de máquina. A cadeia de Markov é um bom exemplo. Ao combinar elementos comuns presentes na língua inglesa para formar palavras (por exemplo, "ing", "er", "qu"), um bom adivinhamento de uma senha pode ser gerado, como a senha abaixo. Embora seja fácil quebrar essa senha específica usando qualquer método, usaremos essa senha para simplificar todos os vetores de ataque. senha1234senha1234

Pa +   ss   +   Word   +   1234

Finalmente, ataques de força bruta direcionados (chamados ataques de máscara) cobrem todo o espaço-chave de uma determinada senha com base na estrutura criptográfica. Por "estrutura" de uma senha, quero dizer o tipo e a ordem dos caracteres usados para criá-la. Por exemplo, uma "estrutura" com letras maiúsculas, seguida de 7 letras minúsculas, seguidas de 4 dígitos (denotados como). senha1234ULLLLLLLDDDDD

Letras minúsculas, letras maiúsculas, símbolos, números (l) (u) (s) (d)

Portanto, se um invasor decidir usar essa estrutura para criar todas as possibilidades de uma combinação de caracteres, ele ou ela acabará encontrando a senha. Então a pergunta do invasor se torna: qual estrutura deve ser visada primeiro ao atacar um conjunto de hash? senha1234

Análise estatística

Para ajudar a responder a esta pergunta, fiz algumas análises estatísticas de despejos de senha populares para ver se existe uma estrutura de senha mais comum do que outras e até que ponto essa estrutura é correta. O tamanho da amostra de mais de 34 milhões de senhas expostas publicamente inclui famosos dumps de senhas como RockYou, LinkedIn, phpBB, etc.

 

A figura abaixo mostra a frequência com que a estrutura de máscara é direcionada para cada máscara única. A linha vermelha indica a linha de 50%, que aparece após a 13ª máscara mais frequente.


从示例图派生的密码掩码

Isso significa que as primeiras 13 estruturas de máscara únicas representam 50% da senha de amostra. A estrutura de mais de 20 milhões de senhas na amostra está localizada nas primeiras 13 máscaras. Esses resultados são bastante chocantes no que diz respeito à universalidade das senhas estruturadas. Os outros 50% estão presentes dentro da longa cauda direita e foram reduzidos neste gráfico. De fato, das 260.500 máscaras exclusivas, apenas 400 são mostradas neste gráfico. Este conceito de criptografia estruturada universal é incrível; Mas isso não é surpreendente quando você pensa em como os usuários criam e lembram suas senhas. Com base nos dados analisados, existem alguns fatores lógicos que ajudam a explicar como isso é possível. Quando os usuários são solicitados a fornecer uma senha que contém letras maiúsculas, ela é usada como o primeiro caractere em mais de 90% das vezes. Quando os números são solicitados, a maioria dos usuários acrescenta dois dígitos no final da senha (provavelmente o ano de graduação). A próxima opção mais popular é encerrar a senha com quatro dígitos (provavelmente no ano anterior ou este ano). Neste caso, o próximo número mais popular tem um número no final e três números no final. Comuns estruturais como este permitem que um invasor preveja qual é a estrutura mais provável da senha do usuário.

Mistura Estatística – Aceleração

Utilizando esse conhecimento estrutural, é seguro presumir que o usuário provavelmente definirá sua senha como than (letra aleatória), mesmo que ambas comecem com 9 letras e tenham 9 letras. Assim, suponhamos que, dada uma estrutura criptográfica, se vemos letras consecutivas, provavelmente é uma palavra. Esta é uma hipótese muito útil para os crackers, pois elimina muito espaço de chave. Em seguida, isso se transforma em um ataque híbrido que aproveita a significância estatística de uma estrutura criptográfica universal. potatoespwivwdhpp

Limites de eficiência e tempo

Normalmente, como testadores de penetração, mesmo que quebremos um conjunto de hash, talvez não tenhamos tempo para quebrar todos os hash. No entanto, destruí-los pode ajudar a atualizar o acesso ao sistema e levar a descobertas mais úteis para os clientes. Portanto, ao quebrar senhas, pode ser útil determinar quanto tempo será alocado para quebrar um conjunto de valores de hash. Usando as estruturas encontradas na análise anterior, um atacante pode determinar as 10 principais estruturas populares que ele ou ela deseja cobrir com base nos requisitos de complexidade da senha ordenados pelo tempo de conclusão mais rápido. Finalmente, um invasor pode limitar o tempo de seu método, gastando não mais de uma hora para executar o crack. Isso foi descoberto durante um recente teste de penetração para obter um hash. Abaixo está um instantâneo dos resultados do cracker baseado em CPU.

受损结果表

Neste caso, a estrutura mais rápida a ser concluída é a que definimos como uma letra maiúscula, seguida de três letras minúsculas ("W" para "palavra"), seguida de quatro dígitos. Há 69 senhas no conjunto de hash que correspondem à estrutura, e minha CPU padrão é capaz de percorrer todas as possibilidades da estrutura em um minuto. Paramos o crack aos 62 minutos e o crack produziu 221 hashes exclusivos de crack, correspondendo a 491 contas, resultando em um total de 11% de vazamentos. A razão para a grande diferença no número de senhas quebradas e vazamentos de contas é que as configurações do Office tendem a levar as pessoas a usar senhas comuns. Se um invasor determinar que uma senha comum está sendo usada no ambiente, todos os usuários com a mesma senha também serão comprometidos. U (W3) dddd

Embora um ataque híbrido ou baseado em regras (por exemplo) possa quebrar várias dessas senhas mais rapidamente, a estrutura das senhas de ataque nos permite cobrir mais espaço-chave. Este método é um próximo passo válido se o ataque Faster provar ser incapaz de destruir com sucesso o hash alvo. Além disso, é importante lembrar que este exemplo foi feito em uma CPU bastante mediocre, e executar o mesmo ataque em uma GPU poderosa pode reduzir esse tempo para alguns segundos. Portanto, o momento exato é menos importante do que a implementação efetiva da teoria. best64

A análise estatística de

nos ajuda a atacar estruturas de senhas comuns em geral; No entanto, existem ferramentas que podem ajudar a localizar aplicativos específicos. Ferramentas como o CeWL   podem rastrear palavras de páginas da web e serem usadas para gerar listas de palavras ou dicionários específicos para empresas. Funciona porque as empresas tendem a usar senhas relacionadas ao seu setor, empresa ou trabalho. Além disso, como determinamos que as senhas comumente usadas são populares em ambientes de trabalho, também é possível usar senhas que já foram quebradas como base para outras senhas, o que pode ser semelhante. Por exemplo, se descobrirmos que "" é a senha de um usuário, podemos colocar "" em uma nova lista de palavras, colocá-lo no conjunto de regras e descobrir que outra pessoa tem a senha "". Este conceito de usar palavras básicas quebradas (como ' ') e modificá-las com caracteres circundantes funciona muito bem ao quebrar valores de hash despejados do ambiente corporativo, que remonta ao conceito de reutilização de senhas. De acordo com os testes de penetração que realizamos, isso é mais adequado para quebrar os últimos 20% de hash não quebrados. AcmeCorp1234AcmeCorpAcmeCorp@2015AcmeCorp

Também é importante aparar o dicionário para que todas as senhas adivinhadas cumpram os requisitos especificados pelo aplicativo, para que não se perca tempo adivinhando senhas que não podem ser adivinhadas devido ao comprimento ou composição de caracteres.

Colocando tudo em conjunto

Começando com o ataque mais rápido, cobrindo o menor espaço de chave (ataque de dicionário padrão) até o mais lento e maior espaço de chave (força bruta pura) é o progresso ideal para considerar o tempo alocado para um ataque. Portanto, os invasores devem implementar uma abordagem padrão que leva isso em consideração. Se a conta que o atacante deseja invadir for concluída na primeira fase, pode não haver razão para continuar com outros ataques; No entanto, em muitos casos, um simples ataque de dicionário pode não ser suficiente se uma conta de destino estiver presente, ou o atacante simplesmente quer corromper o máximo de contas possível e, portanto, pode ser necessário um ataque híbrido com estrutura estatística e um ataque de força bruta direcionada. Portanto, é essencial estabelecer métodos para um crack bem-sucedido, que podem incluir os métodos mencionados anteriormente, bem como alguns processos automatizados. Ferramentas mais recentes (como   PRINCE) podem ajudar a facilitar a quebra de senha. É importante desenvolver uma faixa de ferramentas, como o Príncipe para experimentar em métodos, mas entender as funcionalidades por trás das ferramentas, em vez de depender inteiramente delas, tornará o crack mais eficiente.

Defesa – Como combater estatísticas

Através da análise com essas senhas, é possível identificar as estruturas mais populares, dado o nível de complexidade necessário. Portanto, os desenvolvedores provavelmente devem implementar alguns controles para impedir que os usuários usem algumas dessas estruturas muito populares para achatar a curva do gráfico anterior. O problema com essa ideia, no entanto, é que, sem uma estrutura simples, os usuários podem ter dificuldade em lembrar suas senhas. Eu recomendo usar um gerenciador de senhas que exija autenticação dupla. Esses aplicativos irão gerar e armazenar todas as suas senhas para você, então a memória não é um problema. As senhas que eles geram são aleatórias na estrutura e podem ser usadas sempre que o aplicativo permitir. Como mencionei anteriormente, criptografia de senhas é outra maneira muito eficaz de retardar as perspectivas de desenvolvimento de um atacante. Finalmente, implementar estratégias dentro do escritório para ajudar os usuários a entender os perigos de compartilhar ou reutilizar senhas é um passo bem-sucedido na direção certa, mesmo que os usuários nem sempre cumpram. Embora provavelmente não estejam sempre em conformidade, é uma medida de controle eficaz.

Conclusões e ganhos

A quebra de senha pode ser um conceito vago. À medida que a dificuldade de cracking aumenta, são necessários ataques direcionados baseados na eficiência e métodos de cracking pessoais devem ser estabelecidos. Não vale a pena investir dinheiro para, eventualmente, aumentar a velocidade de geração de hash. Portanto, a implementação de uma abordagem e processos simplificados usando estatísticas e ferramentas como meios de ataque pode facilitar a quebra de senhas. Os desenvolvedores podem desenvolver controles para lidar com essa situação e os usuários podem usar gerenciadores de senhas seguros para minimizar a eficácia desses ataques; No entanto, essas implementações ainda não são muito populares. Atualmente, os ataques estatísticos contra senhas são eficazes em termos de quantidade de quebras e eficiência de conexão temporal. Pense em suas próprias senhas e pergunte-se quão rápido elas podem ser quebradas, dependendo da estrutura das senhas e quais controles dentro do seu escritório podem levar um invasor a invadir as contas dos usuários.

Artigo anterior:O Hashcat é conhecido como a ferramenta de quebra de senhas mais rápida do mundo.Como usar o Hashcat para descriptografar senhas?
A seguir:Use software profissional de descriptografia para quebrar senhas de formato Exlce, Word, PDF e pacote compactado em seu próprio computador
  • Concentre-se em Word, Excel, PPT, PDF, RAR, ZIP, 7Z, pacote compactado, desbloqueio e descriptografia de arquivos criptografados do escritório
  • Nós fornecemos aos usuários recuperação de senha de pacote de compactação de arquivo de alta qualidade, recuperação de senha de palavra desbloqueada em PDF
  • Direitos autorais © Document Password Recovery Master Plataforma de descriptografia on-line