Como Mitigar Ataques Zerologon no Active Directory

Em 11 de agosto de 2020, a Microsoft lançou uma atualização de segurança que abordava uma vulnerabilidade crítica no Active Directory. Devido à sua gravidade, foi atribuído um score CVSS de 10.0, tornando-se uma das vulnerabilidades mais críticas do AD de todos os tempos. O que torna essa vulnerabilidade particularmente severa é que o único requisito para exploração bem-sucedida é a capacidade de estabelecer uma conexão com um controlador de domínio.
O que é a vulnerabilidade Zerologon?
Zerologon, também conhecido como CVE-2020-1472, é uma vulnerabilidade crítica no Protocolo Remoto Netlogon (MS-NRPC) da Microsoft. O MS-NRPC desempenha um papel vital na autenticação dentro do Active Directory. Essa falha permite que um atacante contorne a autenticação e obtenha privilégios de nível de administrador. Ao utilizar o Protocolo Remoto Netlogon, os atacantes podem se conectar a um controlador de domínio (DC) e modificar sua senha sem exigir qualquer autenticação, apenas acesso à rede.
Existem exploits de prova de conceito (POC) conhecidos que estão atualmente ativos, indicando que ataques no mundo real são altamente prováveis no futuro próximo. Como resultado, a Agência de Cibersegurança e Segurança de Infraestrutura (CISA) emitiu uma diretiva de emergência instruindo agências governamentais e organizações não governamentais a corrigir ou desabilitar servidores Windows afetados.
Como funcionam os ataques Zerologon?
A vulnerabilidade Zerologon decorre da má execução da chamada ComputeNetlogonCredential. Esta função recebe um desafio de 8 bytes como entrada e aplica uma transformação criptográfica usando uma chave de sessão. O resultado é uma saída de 8 bytes. No entanto, há uma falha na implementação do método AES-CFB8, que é o único permitido nas versões mais recentes do Windows. Para usar o AES-CFB8 com segurança, é necessário um vetor de inicialização (IV) aleatório. Infelizmente, o ComputeNetlogonCredential define o IV como um valor fixo de 16 bytes zero. Essa falha resulta em uma fraqueza criptográfica, onde a criptografia de zeros pode produzir cifrados zeros. A probabilidade de isso ocorrer é de 1 em 256. Além disso, sessões Netlogon não criptografadas não são rejeitadas automaticamente. Quando combinadas, essas falhas permitem que um invasor comprometa o processo de autenticação e se passe por um servidor de sua escolha.
Abaixo está um resumo das etapas realizadas durante um ataque Zerologon:
- Passo 1: Estabelecer um canal Netlogon inseguro com um controlador de domínio, falsificando sua identidade e realizando um ataque de força bruta com um desafio de 8 bytes nulos e texto cifrado. Isso requer uma média de 256 tentativas.
- Passo 2: Use a chamada NetrServerPasswordSet2 para alterar a senha da conta do controlador de domínio no Active Directory para uma vazia. Isso interrompe algumas funcionalidades do controlador de domínio.
- Passo 3: Use a senha vazia para se conectar ao controlador de domínio e extrair hashes adicionais usando o protocolo DRS.
- Passo 4: Reverter a senha do controlador de domínio para a original armazenada no registro local para evitar detecção.
- Passo 5: Utilize os hashes extraídos do passo 3 para lançar vários ataques como Golden Ticket ou pass the hash, usando as credenciais de administrador de domínio.
Como a Microsoft Abordou a Vulnerabilidade de Ataque Zerologon
A Microsoft implementou duas soluções para lidar com esse ataque específico. A primeira solução rejeita solicitações que têm os mesmos bytes iniciais, mas essa medida ainda permite ataques de força bruta mais longos. A segunda solução rejeita canais que não estão assinados ou selados para todas as contas de computador Windows, mitigando efetivamente o ataque. Embora os clientes Netlogon do Windows normalmente selam mensagens, a Microsoft optou por permitir sessões não assinadas para contas de computador que não são Windows, o que teoricamente os deixa vulneráveis. No entanto, a Microsoft lançou um patch em fevereiro de 2021 para resolver isso e rejeitar sessões inseguras de dispositivos não Windows.
Como Mitigar Ataques de Zerologon
O patch de agosto do Netlogon fornece o uso seguro de RPC para contas de máquina, contas de confiança e todos os DCs (Controladores de Domínio) Windows e não-Windows. Inclui uma nova política de grupo que permite contas de dispositivos que utilizam conexões vulneráveis do canal seguro do Netlogon. O patch também introduz uma chave de registro FullSecureChannelProtection que ativa o modo de aplicação do DC para todas as contas de máquina e registra eventos para contas negadas ou potencialmente negadas. Além disso, os patches fazem alterações no protocolo Netlogon para proteger dispositivos Windows, registrar eventos para dispositivos não conformes e oferecer a opção de ativar a proteção para todos os dispositivos associados ao domínio com exceções.
A Microsoft aconselha a tomar medidas adicionais, especialmente ao trabalhar com plataformas que não são da Microsoft. Simplesmente instalar as atualizações de segurança de 11 de agosto nos controladores de domínio não é suficiente. Embora o patch proteja dispositivos Windows dentro de uma rede, dispositivos não-Microsoft ainda podem expor o domínio a ataques. Para resolver isso, a Microsoft começou a impor o uso seguro de RPC para contas em dispositivos não-Windows a partir de fevereiro de 2021. A fase dois da imposição começou em 9 de fevereiro de 2021, e todos os controladores de domínio Windows agora habilitam o modo de imposição, negando conexões vulneráveis de dispositivos não compatíveis, a menos que sejam adicionados à política de grupo apropriada.
Análise de Log de Eventos: Após aplicar as atualizações de agosto (ou mais recentes), é importante verificar os logs de eventos no controlador de domínio. Procure os seguintes IDs de evento no log de eventos do sistema:
- Os IDs de evento 5827 e 5828 indicam conexões negadas.
- Os IDs de evento 5830 e 5831 indicam conexões permitidas com base na política de grupo "Controlador de domínio: Permitir conexões de canal seguro Netlogon vulneráveis".
- O ID do evento 5829 significa a permissão de uma conexão vulnerável de canal seguro do Netlogon.
Aborde esses eventos antes de configurar o modo de aplicação do DC ou iniciar a fase de aplicação (9 de fevereiro de 2021). Para analisar o impacto, exporte os logs de eventos no formato .evtx usando um script.
Verificando Dispositivos ou Conexões Inseguras: Após atualizar seus controladores de domínio, certifique-se de verificar os logs de eventos em busca de eventos Netlogon que indiquem problemas de dispositivos ou conexões inseguras. Isso ajudará você a se preparar para a fase de imposição da atualização. Para se manter à frente, é aconselhável testar e avaliar o impacto da mudança do protocolo Netlogon que se aproxima, fazendo as modificações necessárias na política de grupo do seu controlador de domínio imediatamente. Em fevereiro de 2021, a criptografia e a assinatura dos dados do canal seguro (sempre) serão ativadas e rigorosamente aplicadas, uma configuração que atualmente está inativa.
Alterações Recomendadas na Política de Grupo dos Controladores de Domínio: Antes de aplicar o patch do Netlogon de fevereiro, é recomendável testá-lo e fazer as alterações necessárias na política de grupo do seu controlador de domínio agora. Isso porque, em fevereiro de 2021, a configuração relacionada à criptografia e assinatura de dados do canal seguro será ativada e aplicada. Atualmente, essa configuração não está ativada.
Habilitando a Chave de Registro FullSecureChannelProtection: Alternativamente, você pode habilitar a chave de registro FullSecureChannelProtection para impor o modo de aplicação do DC para todas as contas de máquina. Definir o valor como “1” ativa o modo de aplicação, enquanto defini-lo como “0” permite conexões de canal seguro Netlogon vulneráveis de dispositivos que não sejam Windows. No entanto, essa opção será descontinuada na versão da fase de aplicação.
Adicionando Exceções para Sistemas Não Conformes: A atualização de agosto adiciona uma política de grupo aos controladores de domínio corrigidos, permitindo exceções para sistemas não conformes na comunicação segura RPC. Se esses sistemas falharem na comunicação após a aplicação da regra em fevereiro, você pode autorizá-las e decidir se aceita o risco ou trabalha com seus fornecedores para resolver o problema e atualizar.
Instalando as Atualizações de Agosto em Controladores de Domínio: Para adicionar exceções, use a nova política de grupo "Controlador de domínio: Permitir conexões de canal seguro Netlogon vulneráveis" e adicione-as à OU do controlador de domínio. A política deve incluir os descritores de segurança das contas que necessitam de exclusões. É importante instalar as atualizações de agosto em seus controladores de domínio imediatamente e verificar se há sistemas legados em seus logs de eventos que podem causar problemas em fevereiro. Comece a investigar agora para evitar ser surpreendido pelo impacto da aplicação obrigatória em fevereiro.