mitm6: quando o IPv6 deixado ativo abre a porta do Active Directory

Nas auditorias internas, a mesma constatação se repete com regularidade: uma rede em que tudo parece limpo do lado IPv4, firewall instalado, VLANs segmentadas, patches aplicados. E, no entanto, uma única estação de trabalho pode bastar para comprometer o domínio inteiro em menos de uma hora. Entre as portas de entrada mais discretas nesse cenário, uma se deve a um protocolo que quase ninguém monitora: o IPv6, ativado por padrão no Windows e deixado sem configuração. Este artigo detalha o ataque mitm6 passo a passo, com o contexto que explica por que ele continua tão eficaz anos depois de sua publicação.

IPv6: o protocolo que ninguém configura

Desde o Windows Vista, o IPv6 vem ativo por padrão em todas as estações e todos os servidores. Melhor (ou pior, dependendo do ponto de vista): a pilha de rede do Windows prefere o IPv6 ao IPv4. Essa preferência não tem nada de arbitrária, ela decorre da RFC 6724, que define a ordem de seleção dos endereços. Na prática, quando uma máquina inicializa ou renova sua configuração, ela envia solicitações para descobrir um roteador e um servidor de endereçamento: mensagens Router Solicitation e requisições DHCPv6. Na quase totalidade das redes corporativas, ninguém responde, pois nenhum serviço IPv6 jamais foi implantado. A estação fica então à espera, sem gateway nem servidor DNS IPv6, até o dia em que um atacante decide, de muito bom grado, fornecê-los.

Vale lembrar que um servidor DNS traduz os nomes legíveis (como fichiers.entreprise.local) em endereços de rede. Quem controla o DNS de uma máquina controla em grande parte o que ela contata, e pode portanto direcioná-la para servidores de sua escolha.

Essa situação, um protocolo ligado mas nunca administrado, cria exatamente o vazio que um invasor vem preencher. A pesquisa que deu origem ao ataque, publicada pelo pesquisador Dirk-jan Mollema, mostrou que bastava responder educadamente a essas solicitações para inserir uma máquina maliciosa no centro das comunicações.

mitm6: passar-se pelo DNS

A ferramenta mitm6 escuta o segmento de rede e responde a essas solicitações que ficaram sem resposta. Ela atribui à estação Windows um endereço IPv6 e, sobretudo, se anuncia como servidor DNS IPv6 da máquina por meio de uma resposta DHCPv6. Como o Windows prioriza o IPv6, a estação muda imediatamente: passa a enviar suas consultas de resolução de nomes ao atacante, e não mais ao DNS legítimo do domínio.

mitm6 -d entreprise.local

A opção -d restringe o envenenamento ao domínio-alvo, para manter a discrição e evitar perturbar a rede inteira. A partir daí, o atacante responde às resoluções com seus próprios endereços e captura as autenticações automáticas que o Windows emite o tempo todo para os servidores internos, sem nenhuma ação do usuário.

WPAD: o cúmplice que dispara a autenticação

Resta provocar uma autenticação explorável. É aí que entra o WPAD (Web Proxy Auto-Discovery), um mecanismo pelo qual os navegadores e muitos componentes do Windows procuram automaticamente um arquivo de configuração de proxy na rede. O mitm6 responde à requisição por wpad, apresenta um falso arquivo de configuração, e a estação tenta então se autenticar junto ao proxy malicioso. O Windows envia espontaneamente a identidade do usuário conectado, na forma de uma autenticação NTLM, sem jamais pedir confirmação.

Em resumo: o usuário não clica em nada e não digita nenhuma senha. Sua estação oferece por conta própria a identidade dele ao primeiro servidor que a pede educadamente.

O relay NTLM: da escuta à tomada de controle

Interceptar o DNS e coletar uma autenticação ainda não basta. A segunda peça, a mais decisiva, é o relay de autenticação NTLM, realizado com o ntlmrelayx, uma ferramenta da suíte Impacket. O princípio é elegante e temível: em vez de tentar quebrar uma senha, o atacante retransmite a autenticação recebida, tal como está, para um serviço do Active Directory, tipicamente o LDAP de um controlador de domínio. Essa retransmissão, porém, só é possível se o serviço-alvo não exigir a assinatura de suas comunicações: sem assinatura LDAP (ou SMB), nada vincula a autenticação ao servidor legítimo, e o atacante pode reutilizá-la em outro lugar. Um próximo artigo será dedicado a esses mecanismos de assinatura e à forma como eles impedem o relay NTLM.

ntlmrelayx.py -6 -t ldaps://dc.entreprise.local -wh attaquant-wpad --delegate-access

Em resumo: a máquina-alvo acredita estar falando com um servidor legítimo, mas na verdade fala com o atacante, que reutiliza imediatamente essa identidade junto ao diretório, com todas as permissões que a acompanham.

Dependendo dos privilégios da identidade retransmitida, o impacto aumenta:

  • ler a totalidade do diretório Active Directory, incluindo o mapeamento dos grupos e dos administradores;
  • criar uma nova conta de máquina ou de usuário inteiramente controlada pelo atacante;
  • configurar uma delegação de permissões (por meio do atributo msDS-AllowedToActOnBehalfOfOtherIdentity) que permite se passar por outras contas, às vezes até o administrador do domínio.

Tudo isso sem explorar nenhuma falha de software: apenas funções nativas do Windows desviadas de seu uso. Nenhum patch de segurança “corrige” esse comportamento, pois se trata de um funcionamento previsto do protocolo.

Como o ataque se desenrola em uma auditoria interna

Conduzido durante uma auditoria interna, esse ataque IPv6 se desenrola quase sempre da mesma maneira. Uma máquina é conectada a um ponto de rede de um espaço de trabalho aberto, muitas vezes uma sala de reunião acessível. O mitm6 é iniciado e, em poucos minutos, as primeiras estações que estão inicializando ou saindo da suspensão trocam de DNS. O ntlmrelayx coleta as autenticações recebidas e as retransmite para um controlador de domínio. Se uma única dessas autenticações pertencer a uma conta com permissões de escrita no diretório, o jogo está decidido: basta isso para criar uma conta, definir uma delegação e, passo a passo, chegar às permissões de administração do domínio. Tudo permanece passivo do ponto de vista do usuário, que continua trabalhando sem perceber nada.

O impacto para o negócio é proporcional: o comprometimento de um controlador de domínio significa o controle dos acessos de toda a organização, a capacidade de ler os compartilhamentos de arquivos, de implantar um ransomware em larga escala ou de exfiltrar dados. Um ponto de rede mal segmentado em um saguão de recepção torna-se então o ponto de partida de um incidente grave.

Detectar o ataque na rede

Essas trocas deixam rastros característicos: uma estação que de repente começa a distribuir configurações IPv6, Router Advertisement inesperados, o surgimento de um servidor DHCPv6 onde nunca houve um, um fluxo de autenticações retransmitidas para os controladores de domínio. A BOX Oxyscan monitora esses sinais diretamente na rede e reporta o surgimento de um servidor DHCPv6 ou DNS IPv6 ilegítimo, um forte indício de que um ataque do tipo mitm6 está em andamento. Implantada de forma contínua, ela permite identificar, em todo o parque, as máquinas expostas a esse tipo de interceptação. Detectar cedo essa fase de preparação é cortar o ataque antes do primeiro relay bem-sucedido.

Na rede, essas mensagens ficam visíveis na captura: assim que a ferramenta entra em ação, os anúncios de roteador e as solicitações de vizinho em ICMPv6 se multiplicam.

Captura do Wireshark de tráfego IPv6 em uma rede local, anúncios de roteador e solicitações de vizinho em ICMPv6

Corrigir a falha: neutralizar o IPv6 sem desativá-lo

A primeira reação, desligar pura e simplesmente o IPv6, raramente é a correta. A Microsoft desaconselha essa desativação total, pois o Windows é testado com o IPv6 ativo e alguns componentes (Exchange, clusters de failover) podem se comportar mal sem ele. O objetivo, portanto, não é suprimir o IPv6, mas impedir que uma estação aceite uma configuração IPv6 distribuída por um desconhecido.

A medida mais limpa consiste em bloquear, por meio do firewall do Windows e com implantação via GPO em todo o domínio, as duas peças de que o ataque precisa: as respostas DHCPv6 e os anúncios de roteador. Três regras predefinidas passam para Bloquear:

  • (Entrada) Core Networking, Dynamic Host Configuration Protocol for IPv6 (DHCPV6-In), porta UDP 546;
  • (Entrada) Core Networking, Router Advertisement (ICMPv6-In), ICMPv6 tipo 134;
  • (Saída) Core Networking, Dynamic Host Configuration Protocol for IPv6 (DHCPV6-Out).

Essa configuração neutraliza o ataque e mantém os endereços IPv6 de link local, portanto não tem efeito colateral sobre os componentes do Windows.

Do lado da rede, as funções RA Guard e DHCPv6 Guard complementam a proteção nos switches: elas bloqueiam na borda os anúncios de roteador e as respostas DHCPv6 emitidos a partir de uma porta não autorizada, e protegem também as máquinas Linux e macOS que o hardening do Windows não cobre. Nesses sistemas, os anúncios de roteador também podem ser recusados localmente (por exemplo sysctl net.ipv6.conf.all.accept_ra=0 no Linux).

Uma variante consiste em dar prioridade ao IPv4 sobre o IPv6, o que retira da configuração distribuída pelo atacante sua prioridade sobre a configuração legítima. Esse ajuste também é implantado via GPO, por meio de uma preferência de registro:

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters
DisabledComponents = 0x20 (DWORD 32 bits)

Somente em último caso, se uma política interna exigir a desativação completa do IPv6, ela é feita por PowerShell em cada máquina. A mesma família de comandos permite, aliás, verificar o estado do protocolo nas placas de rede:

Disable-NetAdapterBinding -Name "*" -ComponentID ms_tcpip6

Verificação em PowerShell, com Get-NetAdapterBinding, de que o protocolo IPv6 está desativado nas placas de rede

Esse método, porém, só cobre as placas de rede existentes e não é implantado nativamente via GPO, ao contrário dos dois anteriores. Por fim, qualquer que seja a opção escolhida, a assinatura SMB, a assinatura LDAP e o channel binding LDAP continuam indispensáveis: mesmo que uma estação caísse na armadilha, essas proteções impedem a reutilização da autenticação interceptada, e portanto o relay que é todo o interesse do ataque.

Conclusão

O mitm6 ilustra um princípio que se confirma em cada missão: uma funcionalidade ativada por padrão e nunca configurada continua sendo uma superfície de ataque por si só. O IPv6 não é perigoso em si, o abandono dele é que é. Algumas medidas direcionadas fecham a brecha sem quebrar o ambiente existente, e a maioria delas é recomendada há muito tempo pela ANSSI em seus guias de hardening do Active Directory.

Recomendações: desativar o IPv6 nas estações somente se ele não for utilizado (e de forma limpa, via política de grupo, em vez de uma manipulação improvisada), ativar o DHCPv6 Guard e o RA Guard nos switches para bloquear os anúncios maliciosos, exigir a assinatura LDAP e o channel binding (Extended Protection for Authentication) nos controladores de domínio para tornar qualquer relay inoperante, e segmentar os pontos de rede acessíveis ao público.

Para saber mais

Picture of REDTEAM OXYDIAN

REDTEAM OXYDIAN

L'équipe REDTEAM est en charge de la réalisation des audits intrusifsThe REDTEAM is in charge of Oxydian's intrusion tests and offensive auditsEl equipo REDTEAM se encarga de las pruebas de intrusión y auditorías ofensivas de OxydianDas REDTEAM führt die Penetrationstests und offensiven Audits von Oxydian durchIl team REDTEAM si occupa dei test di intrusione e degli audit offensivi di OxydianL'equip REDTEAM s'encarrega de les proves d'intrusió i les auditories ofensives d'OxydianA equipe REDTEAM é responsável pelos testes de intrusão e auditorias ofensivas da Oxydian

Diagnóstico gratuito (30 min)
Ícone de auditoria de segurança e teste de intrusão

Um DIAGNÓSTICO GRATUITO de 30 min, sem compromisso!

A Oxydian oferece a você a oportunidade de avaliar rapidamente o seu nível de maturidade em cibersegurança, durante uma videoconferência de 15 a 30 minutos.

Converse diretamente com um especialista, identifique suas necessidades e receba recomendações 100% personalizadas, com um relatório hierarquizado por prioridade.

Quer avançar por conta própria?

Uma autoavaliação online também está disponível para dar a você uma primeira visão do seu nível de segurança, calculando o seu cyberscore.