Decifrando a senha do Windows 10: métodos e prevenção
Miscelânea / / December 02, 2021
A segurança digital é fundamental hoje. Qualquer coisa com uma conexão à Internet é vulnerável e pode ser comprometida por alguém sentado em um continente diferente. o último ataque DDOS em servidores DNS é um exemplo de muitos desses ataques em larga escala que estão em tendência de aumento desde os últimos anos.
O seu PC ou laptop também não está protegido contra esses ataques. Embora você possa reiterar que eu o protegi por senha, mas isso não é suficiente hoje, como veremos.
The Hackers USB Drive
Em um video recente, Linus de LinusTechTips, famoso entre os círculos de tecnologia e geek, demonstrou como esta unidade USB de aparência simples pode desbloquear sua conta do Windows facilmente em minutos. Disponível por US $ 20 na Amazon, esta unidade, conhecida como Password Reset Key (PRK), destinada a redefinir sua senha caso você a esqueça, está apenas esperando para ser mal utilizada.
Para o leigo, pode parecer que alguma nova tecnologia revolucionária está em ação, mas na realidade não é nada mais do que alguns truques de software. Mas hoje em dia, com o Windows tão avançado com o 10, como isso é possível? Para entender isso, precisamos aprender como funciona a segurança de contas do Windows.
A parte fraca: segurança da conta do Windows
Há muito tempo que a maneira do Windows armazenar a senha da conta do usuário tem sido criticada. O Windows armazena todas as senhas de contas de usuários em um arquivo de banco de dados SAM (Security Account Manager). Por razões óbvias, as senhas não são armazenadas como texto simples e o arquivo fica inacessível durante a execução do sistema operacional. Hashing, uma função unilateral, é usado para converter sua senha em uma string de caracteres de comprimento fixo de modo que caso alguém pegue o arquivo SAM (que é mais fácil do que você pensa), as senhas não podem ser conhecido. Os métodos de hash usados pelo Windows são motivo de críticas. Esses métodos são explicados a seguir.
Hashing LM e Hashing NTLM
O hashing LM é um método muito antigo da era do Windows 95 e não é usado hoje. Neste método, a senha é convertida em hash usando o método passo a passo mostrado abaixo.
O processo inerente de quebrar sua senha em duas strings de 7 caracteres, tornou o hashing LM vulnerável a ataques de força bruta. Isso foi melhorado pelo método NTLM que usava o método mais complexo Hashing MD4 técnica. Embora isso tenha resolvido o problema anterior, ainda não era seguro o suficiente por causa do Rainbow Tables.
Tabelas arco-íris
Até agora, aprendemos o que é hashing e uma propriedade importante é que é mão única. O que significa que a força bruta de um hash não retornará a senha original. Então é aqui que as tabelas de arco-íris entram em cena. Uma Rainbow Table é uma tabela literal que contém hashes pré-gerados para todas as combinações de senha possíveis para uma determinada função hash.
Por exemplo, se uma senha tem uma regra que pode consistir em 7 caracteres de 26 alfabetos e 10 números 0-9 apenas, então através de permutações temos 42072307200!! combinações possíveis para ele. Uma tabela de arco-íris para esta função conterá hashes e a senha correspondente para cada combinação possível. Mas a desvantagem das tabelas rainbow é que elas ficam muito grandes quando o tamanho da entrada e o comprimento da senha aumentam.
Conforme mostrado acima, uma tabela de arco-íris simples para a função de hashing LM do Windows XP tem 7,5 GB de tamanho. As tabelas de funções hash modernas que usam alfabetos, números e símbolos podem ter centenas de gigabytes. Portanto, eles não são fáceis de processar e usar para um usuário normal com um PC de mesa.
Existem sites online que oferecem tabelas de arco-íris predefinidas para a função Hash do Windows por um preço, bem como tabelas de pesquisa para verificar um hash.
Portanto, alguém que tenha um arquivo SAM do Windows pode executar uma pesquisa para o hash em uma tabela pré-calculada e encontrar a senha (se for relativamente simples). E isso é possível devido a uma desvantagem do método de hashing NTLM de não usar sal.
Salting é uma técnica de adicionar uma sequência aleatória de caracteres à senha antes do hash, de modo que cada hash se torne único, como mostrado acima, anulando o propósito das tabelas do arco-íris.
O ataque: como é executado
No Windows 10, a Microsoft está usando a técnica de hashing NTLMv2, que embora não use sal, corrige algumas outras falhas críticas e, de modo geral, oferece mais segurança. Mas você também não está cêntimo por cento protegido, pois irei mostrar agora como você pode realizar um ataque semelhante em seu próprio PC.
Recuperando seus Hashes
O primeiro passo é obter hashes de sua senha usando qualquer um dos vários métodos disponíveis. Vou usar o Hash Suite 3.4 disponível gratuitamente (anteriormente conhecido como pwdump). A beleza deste programa é que ele pode pegar os hashes mesmo quando o Windows está em execução, para que você não precise mexer em unidades USB inicializáveis. O Windows Defender pode ficar enjoado durante a execução, portanto, desligue-o momentaneamente.
Passo 1: Baixe a versão gratuita do Hash Suite em aqui e extraia todo o conteúdo do arquivo zip para uma pasta.
Passo 2: Abra a pasta e inicie o programa selecionando Hash_Suite_64 para SO de 64 bits ou Hash_Suite_32 para um de 32 bits.
Etapa 3: Para importar hashes clique em Importar> Contas locais como mostrado abaixo. Isso carregará os hashes de todas as contas presentes no PC.
Quebrando os Hashes
A partir daqui, o Hash Suite também oferece a opção de quebrar os hashes usando dicionário e ataques de força bruta, mas esses estão disponíveis apenas na versão paga. Então, em vez disso, usamos um dos serviços online para quebrar nossos hashes. Crackstation e OnlineHashCrack são os dois sites que usei para esse fim. Esses sites usam uma combinação de tabelas pré-calculadas, ataques de dicionário e força bruta para quebrar seus hashes.
No meu caso, o Crackstation imediatamente comunicou que não pode corresponder ao hash e o OnlineHashCrack levou cinco dias, mas ainda não conseguiu quebrá-lo. Além deles, existem outros programas offline, como Caim e Abel, JohnTheRipper, OphCrack e mais que capturam os hashes até mesmo pela rede. Mas explicar como usá-los transformará este artigo em uma peça de conferência BlackHat.
Observação: Você pode verificar se os hashes extraídos pelo HashSuite são da senha da sua conta, combinando-o com o hash gerado para a sua senha usando qualquer conectados geradores de hash.
Sua defesa
Como vimos, pegar os hashes é tão simples que você não precisa mexer em unidades inicializáveis ou comandos complexos. E existem muitos outros programas que são muito mais avançados nesse sentido. Nesse caso, sua melhor defesa é a senha e a criptografia, que expandi em detalhes abaixo.
Senha longa
Começando com o comprimento, uma senha longa é geralmente considerada mais segura. Mas quanto tempo é suficiente? Os pesquisadores dizem que sua senha deve ter pelo menos 12 caracteres. Mas para ficar mais seguro, uma senha com mais de 16 caracteres é recomendada. E, por favor, não o defina como senha12345678. Deve ser uma mistura de letras maiúsculas e minúsculas, números e símbolos.
Usando criptografia
A segunda linha de defesa está usando criptografia. No Windows, a chave de criptografia está associada à senha da sua conta do Windows, então mesmo se alguém redefinir a senha como no vídeo de Linus, suas coisas não estarão acessíveis. Você pode usar a criptografia embutida se tiver a versão Pro do Windows ou usar qualquer um dos terceiro programas.
Usando SYSKEY e conta da Microsoft
Para evitar o acesso não autorizado, o SAM do Windows é armazenado em um formato criptografado. E a chave de criptografia é armazenada localmente no PC. SYSKEY é um utilitário integrado do Windows que permite mover essa chave para uma mídia externa (unidade USB) ou adicionar mais uma camada de senha antes do login. Você pode aprender mais sobre como configurá-lo aqui.
Além disso, você também pode alternar para a conta da Microsoft, pois o PRK não funciona na conta da Microsoft, conforme declarado por Linus no vídeo. Mas não pude verificar isso porque não tinha um PRK para testar. Mas o HashSuite foi capaz de extrair os Hashes da senha da minha conta da Microsoft, por isso não é tão eficaz.
Outras medidas diversas
Além do acima, você também pode definir uma senha de BIOS que adicionará outra camada de proteção. Além disso, se você não gosta de criptografar toda a unidade do Windows, pode definir um separado partição que contém todas as suas coisas importantes, então mesmo que um hacker redefina a senha, você não perde completamente o acesso aos seus arquivos.
Usar qualquer método biométrico de login é mais uma maneira de impedir esses ataques. Por último, mas não menos importante, atualizar para o Windows 10 também é uma maneira, mesmo que pareça um pouco bizarro. Mesmo que seja vulnerável, ele tem outras melhorias de segurança, como Windows Hello & Guarda de Credencial.
Em modo de pânico? Não seja
Se você leu a postagem inteira (bravo!), Pode estar em pânico. Mas há uma coisa importante que examinamos aqui, todos esses ataques exigem acesso físico ao seu PC. Embora esses ataques ainda sejam possíveis pela rede, executá-los não é uma xícara de chá para quem aprendeu hackear Hacker em uma semana digite vídeos. Mas é preciso ter cuidado, pois sempre temos por perto algumas pessoas (ou colegas) irritadas que procuram fazer mal.
E eu reitero novamente, o método mostrado aqui é apenas para fins informativos. Não tente no PC de outra pessoa ou tente farejar hashes em uma rede pública. Ambas as coisas podem colocá-lo em apuros. Portanto, fique seguro e compartilhe seus pensamentos e dúvidas por meio de comentários.