Senhas em Texto Claro WDigest: Roubando Mais do que um Hash
Oct 11, 2022
O que é WDigest?
A Autenticação Digest é um protocolo de desafio/resposta que era principalmente utilizado no Windows Server 2003 para autenticação LDAP e baseada na web. Utiliza trocas do Protocolo de Transferência de Hipertexto (HTTP) e da Camada de Segurança de Autenticação Simples (SASL) para autenticar.
Em um nível alto, um cliente solicita acesso a algo, o servidor de autenticação desafia o cliente e o cliente responde ao desafio criptografando sua resposta com uma chave derivada da senha. A resposta criptografada é comparada com uma resposta armazenada no servidor de autenticação para determinar se o usuário possui a senha correta. A Microsoft fornece uma explicação muito mais in-depth explanation of WDigest.
Qual é o risco de segurança que o WDigest introduz?
WDigest armazena senhas em texto claro na memória. Portanto, se um adversário que tem acesso a um endpoint puder usar uma ferramenta como Mimikatz para obter não apenas os hashes armazenados na memória, mas também as senhas em texto claro. Como resultado, eles não estarão limitados a ataques como Pass-the-Hash; eles também poderão fazer login no Exchange, sites internos e outros recursos que exigem a entrada de um ID de usuário e senha.
Por exemplo, suponha que o usuário “TestA” usou a área de trabalho remota para acessar uma máquina, deixando sua senha na memória. A captura de tela abaixo ilustra o que um atacante veria ao extrair credenciais da memória dessa máquina usando Mimikatz. Como você pode ver, eles obtêm tanto o hash da senha NTLM da conta quanto a senha em texto claro “Password123”.
O que pode ser feito para mitigar esse risco?
Felizmente, a Microsoft lançou uma atualização de segurança (KB2871997) que permite às organizações configurar uma definição de registro para impedir que o WDigest armazene senhas em texto claro na memória. No entanto, fazer isso fará com que o WDigest não funcione, então a Microsoft recomenda primeiro verificar se a autenticação Digest está sendo usada no seu ambiente. Verifique os logs de eventos nos seus servidores para o ID de evento 4624 e verifique os logs do controlador de domínio para o ID de evento 4776 para ver se algum usuário fez login com 'Pacote de Autenticação: WDigest'. Uma vez que tenha certeza de que não há tais eventos, você pode fazer a alteração no registro sem impactar seu ambiente.
Windows 7, Windows 8, Windows Server 2008 R2 e Windows Server 2012
Para Windows 7, Windows 8, Windows Server 2008 R2 e Windows Server 2012, instale a atualização KB2871997 e depois defina a seguinte chave de registro para 0:
A maneira mais fácil de fazer isso é através da Group Policy, mas o seguinte script também funcionará:
reg add
HKLMSYSTEMCurrentControlSetControlSecurityProvidersWDigest /v
UseLogonCredential /t REG_DWORD /d 0
Versões mais recentes do Windows e Windows Server
Versões mais recentes do Windows e Windows Server não requerem a atualização de segurança, e o valor do registro é definido como 0 por padrão. No entanto, você deve verificar se o valor não foi alterado manualmente utilizando o seguinte script:
reg query
HKLMSYSTEMCurrentControlSetControlSecurityProvidersWDigest /v
UseLogonCredential
Resultados
Uma vez que este valor de registro tenha sido definido como 0, um atacante que esteja extraindo credenciais da memória não obterá a senha em texto claro; em vez disso, verá o seguinte:
Tabela de Referência
Aqui está um gráfico para ajudá-lo a determinar se você precisa tomar medidas em seus endpoints:
Resumo Rápido
WDigest armazena credenciais em texto claro na memória, onde um adversário poderia roubá-las. A atualização de segurança da Microsoft KB2871997 aborda o problema em versões mais antigas do Windows e Windows Server, permitindo que você defina um valor de registro, e as versões mais recentes possuem o valor adequado por padrão.
Verificar essa configuração de registro em todos os seus endpoints Windows deve ser uma prioridade, pois o roubo de credenciais pode levar à perda de informações sensíveis. Uma maneira de fazer isso é executar consultas de linha de comando em todos os seus hosts; uma opção mais rápida é automatizar o processo com uma solução de auditoria que fornece os resultados em um relatório de fácil compreensão.
Como a Netwrix pode ajudar?
Netwrix Access Analyzer pode ajudá-lo a aprimorar a segurança da sua infraestrutura Windows e minimizar o risco de uma violação de dados. Ele permite que você:
- Identifique vulnerabilidades que possam ser exploradas por atacantes para comprometer sistemas Windows e acessar seus dados.
- Garanta a segurança e as políticas operacionais por meio da análise de baseline configuration.
- Audite e governe contas privilegiadas.
- Comprove a conformidade mais facilmente com relatórios pré-construídos e total transparência do sistema.
Netwrix Access Analyzer
Compartilhar em
Saiba Mais
Sobre o autor
Kevin Joyce
Diretor de Product Management
Diretor de Product Management na Netwrix. Kevin tem uma paixão por segurança cibernética, especificamente em compreender as táticas e técnicas que os atacantes usam para explorar os ambientes das organizações. Com oito anos de experiência em product management, focando em Active Directory e segurança do Windows, ele levou essa paixão para ajudar a construir soluções para organizações protegerem suas identidades, infraestrutura e dados.
Saiba mais sobre este assunto
Como criar, alterar e testar senhas usando PowerShell
Usando Windows Defender Credential Guard para Proteger Credenciais Privilegiadas
O que é Microsoft LAPS: Como Você Pode Melhorar a Segurança Dele?
Usando o grupo de usuários protegidos contra ameaças
O que é o Kerberos PAC?