Enquanto escrevia uma publicação no blogue sobre NTLMv1 e Windows Server 2025, lembrei-me de um problema antigo, bem conhecido, mas persistentemente mal compreendido: níveis de autenticação LAN Manager definidos incorretamente. Esta configuração de autenticação especifica o protocolo de desafio e resposta usado para inícios de sessão na rede quando o Kerberos não é negociado.
Por que razão utilizar o nível de autenticação 2 (ou inferior) é uma má ideia
Uma das configurações incorretas mais comuns que encontro em ambientes do Active Directory é o nível de autenticação do LAN Manager definido como 2 ou inferior nos controladores de domínio (DCs). Esta autenticação pode ser definida de duas formas:
- Através da Política de Grupo:
Network security: LAN Manager authentication level - Diretamente através da chave do registo:
HKLM\System\CurrentControlSet\Control\Lsa\LmCompatibilityLevel
O motivo para definir a autenticação como 2 é quase sempre o mesmo: «Temos aplicações antigas que utilizam a autenticação NTLMv1 e não podemos correr o risco de as danificar.»
Essa lógica é compreensível. Mas leva a um erro subtil e crítico.
Qual é a diferença entre os níveis de autenticação 2 e 3 do LAN Manager?
A configuração do nível de autenticação do LAN Manager controla o comportamento de autenticação de entrada e saída— e esses não são a mesma coisa.
Definir o nível para 2 significa que:
- O DC aceita autenticação NTLMv1 recebida.
- O DC também usa NTLMv1 para iniciar ligações de saída.
Esse segundo ponto cria uma vulnerabilidade.
Em contrapartida, definir o nível para 3 significa que:
- O DC ainda aceita NTLMv1 de entrada (para que os clientes antigos continuem a funcionar).
- O DC é impedido de enviar ligações de saída NTLMv1.
Em outras palavras, usar o nível 3 preserva a compatibilidade e elimina uma superfície de ataque significativa.
Por que o NTLMv1 de saída de um DC é perigoso
Os DCs são alvos de alto valor. Se um invasor conseguir coagir um DC a fazer uma tentativa de autenticação de saída (através de técnicas como PrinterBug, DFSCoerce, PetitPotam ou métodos de coação semelhantes) e se essa autenticação usar NTLMv1, a resposta capturada será significativamente mais fraca do que uma que use NTLMv2.
As respostas NTLMv1 podem frequentemente ser decifradas rapidamente utilizando hardware moderno ou tabelas pré-calculadas. Como resultado, um invasor pode obter o hash NT da palavra-passe da conta do computador.
Mas não é só isso...e é aqui que a diferença se torna realmente crítica.
Os invasores nem precisam do hash NT.
Em vez disso, eles podem retransmitir a autenticação NTLMv1 forçada diretamente para outro DC no qual a ligação do canal LDAPS não é imposta (outra configuração incorreta alarmantemente comum). Ao retransmitir a autenticação da conta da máquina do DC por LDAP, o invasor
pode realizar um dos dois ataques devastadores:
Ambos os caminhos levam ao mesmo resultado: controlo total sobre o DC. Desde a coerção inicial até ao comprometimento total do domínio, pode levar menos de um minuto.
Não é necessário quebrar o hash. Não são necessários privilégios elevados para iniciar. Basta um DC compatível com NTLMv1 e a falta de imposição de ligação do canal LDAP.
A lição prática
Se o motivo pelo qual mantém a autenticação do LAN Manager no nível 2 (ou inferior) for a compatibilidade com aplicações antigas, pode passar para o nível 3 já hoje, sem afetar o funcionamento dessas aplicações.
Pode ser interessante reservar os níveis 4 e 5 para quando estiver pronto para descontinuar totalmente o LM e o NTLMv1 no seu ambiente, pois esses níveis começam a recusar a autenticação NTLMv1 de entrada. (Observação: no Windows Server 2025, as ligações de saída que utilizam LM e NTLMv1 não são mais permitidas.)
Tenha em mente esta progressão:
- Nível 2: O DC aceita autenticação LM e NTLMv1 de entrada e envia NTLMv1 de saída. As aplicações antigas funcionam, mas os DCs ficam expostos.
- Nível 3: O DC aceita autenticação LM e NTLMv1 de entrada, mas não envia NTLMv1 de saída. As aplicações antigas continuam a funcionar e os seus DCs estão protegidos.
- Nível 4: O DC envia NTLMv2 para fora, recusa LM recebido, mas ainda aceita NTLMv1 recebido. É compatível com a maioria das aplicações e protege os seus DCs.
- Nível 5: O DC recusa totalmente todas as autenticações LM e NTLMv1 de entrada e saída. Este nível oferece proteção total, mas os aplicativos legados deixam de funcionar.
Se estiver a gerir servidores de domínio (DCs) num ambiente com requisitos de autenticação legados, o Nível 3 deve ser o seu padrão mínimo. Definir o nível de autenticação do LAN Manager para o nível 3 é uma alteração de baixo risco e grande benefício que é frequentemente ignorada devido a equívocos profundamente enraizados sobre a compatibilidade.
