mitm6: cuando IPv6 activo abre la puerta del Active Directory

En las auditorías internas se repite con regularidad la misma constatación: una red en la que todo parece limpio en IPv4, con cortafuegos implantados, VLAN segmentadas y parches aplicados. Y sin embargo, un solo puesto de trabajo puede bastar para hacerse con el dominio entero en menos de una hora. Entre las puertas de entrada más discretas en este caso, una tiene que ver con un protocolo que casi nadie vigila: IPv6, activado por defecto en Windows y sin configurar. Este artículo detalla el ataque mitm6 paso a paso, con el contexto que explica por qué sigue siendo tan eficaz años después de su publicación.

IPv6: el protocolo que nadie configura

Desde Windows Vista, IPv6 está activo por defecto en todos los puestos y servidores. Más aún (o peor, según se mire): la pila de red de Windows prefiere IPv6 a IPv4. Esta preferencia no tiene nada de arbitraria, se deriva del RFC 6724, que define el orden de selección de direcciones. En concreto, cuando una máquina arranca o renueva su configuración, difunde solicitudes para descubrir un router y un servidor de direccionamiento: mensajes Router Solicitation y peticiones DHCPv6. En la práctica totalidad de las redes corporativas nadie responde, porque nunca se ha desplegado ningún servicio IPv6. El puesto queda, por tanto, a la espera, sin pasarela ni servidor DNS IPv6, hasta el día en que un atacante decide, encantado, proporcionárselos.

Como recordatorio, un servidor DNS traduce los nombres legibles (como fichiers.entreprise.local) en direcciones de red. Quien controla el DNS de una máquina controla en gran medida con qué se comunica, y puede por tanto dirigirla hacia los servidores que elija.

Esta situación, un protocolo encendido pero nunca administrado, crea exactamente el vacío que un intruso viene a llenar. La investigación que dio origen al ataque, publicada por el investigador Dirk-jan Mollema, demostró que bastaba con responder educadamente a estas solicitudes para insertar una máquina maliciosa en el corazón de los intercambios.

mitm6: hacerse pasar por el DNS

La herramienta mitm6 escucha el segmento de red y responde a estas solicitudes huérfanas. Asigna al puesto Windows una dirección IPv6 y, sobre todo, se anuncia como servidor DNS IPv6 de la máquina mediante una respuesta DHCPv6. Como Windows prioriza IPv6, el puesto cambia de inmediato: a partir de ese momento envía sus consultas de resolución de nombres al atacante en lugar de al DNS legítimo del dominio.

mitm6 -d entreprise.local

La opción -d limita el envenenamiento al dominio objetivo, para mantener la discreción y evitar perturbar toda la red. A partir de ahí, el atacante responde a las resoluciones con sus propias direcciones y captura las autenticaciones automáticas que Windows emite constantemente hacia los servidores internos, sin la menor acción por parte del usuario.

WPAD: el cómplice que desencadena la autenticación

Falta provocar una autenticación aprovechable. Aquí entra en juego WPAD (Web Proxy Auto-Discovery), un mecanismo mediante el cual los navegadores y numerosos componentes de Windows buscan automáticamente un fichero de configuración de proxy en la red. mitm6 responde a la consulta de wpad, presenta un fichero de configuración falso y el puesto intenta entonces autenticarse ante el proxy malicioso. Windows envía espontáneamente la identidad del usuario conectado, en forma de autenticación NTLM, sin pedir nunca confirmación.

En resumen: el usuario no hace clic en nada ni introduce ninguna contraseña. Su equipo ofrece por sí solo su identidad al primer servidor que la reclama educadamente.

El relay NTLM: de la escucha a la toma de control

Interceptar el DNS y recoger una autenticación todavía no basta. La segunda pieza, la más decisiva, es el relay de autenticación NTLM, realizado con ntlmrelayx, una herramienta de la suite Impacket. El principio es elegante y temible: en lugar de intentar crackear una contraseña, el atacante retransmite la autenticación recibida, tal cual, hacia un servicio del Active Directory, típicamente el LDAP de un controlador de dominio. Sin embargo, esta reutilización solo es posible si el servicio objetivo no exige la firma de sus intercambios: sin firma LDAP (o SMB), nada vincula la autenticación con el servidor legítimo y el atacante puede reutilizarla en otro lugar. Un próximo artículo se dedicará a estos mecanismos de firma y a la forma en que cortan de raíz el relay NTLM.

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

En resumen: la máquina objetivo cree hablar con un servidor legítimo, pero en realidad habla con el atacante, que reutiliza inmediatamente esa identidad ante el directorio, con todos los derechos que la acompañan.

Según los privilegios de la identidad retransmitida, el impacto va en aumento:

  • leer la totalidad del directorio Active Directory, incluido el mapa de grupos y administradores;
  • crear una nueva cuenta de equipo o de usuario totalmente controlada por el atacante;
  • configurar una delegación de derechos (mediante el atributo msDS-AllowedToActOnBehalfOfOtherIdentity) que permite suplantar otras cuentas, a veces hasta el administrador del dominio.

Todo ello sin explotar ninguna vulnerabilidad de software: únicamente funciones nativas de Windows desviadas de su uso. Ningún parche de seguridad «repara» este comportamiento, porque se trata de un funcionamiento previsto del protocolo.

Cómo se desarrolla el ataque durante una auditoría interna

Llevado a cabo durante una auditoría interna, este ataque IPv6 se desarrolla casi siempre de la misma manera. Se conecta una máquina a una toma de red de un espacio de trabajo abierto, a menudo una sala de reuniones accesible. mitm6 arranca y, en pocos minutos, los primeros puestos que se encienden o salen de suspensión cambian su DNS. ntlmrelayx recoge las autenticaciones entrantes y las retransmite hacia un controlador de dominio. Si una sola de esas autenticaciones pertenece a una cuenta con derechos de escritura sobre el directorio, la partida está decidida: basta para crear una cuenta, configurar una delegación y, paso a paso, escalar hasta los derechos de administración del dominio. Todo ello resulta pasivo desde el punto de vista del usuario, que sigue trabajando sin notar nada.

El impacto para el negocio es proporcional: comprometer un controlador de dominio supone controlar los accesos de toda la organización, poder leer los recursos compartidos de ficheros, desplegar un ransomware a gran escala o exfiltrar datos. Una toma de red mal segmentada en un vestíbulo de recepción se convierte entonces en el punto de partida de un incidente grave.

Detectar el ataque en la red

Estos intercambios dejan huellas características: un puesto que de repente empieza a distribuir configuraciones IPv6, Router Advertisement inesperados, la aparición de un servidor DHCPv6 donde nunca lo hubo, un flujo de autenticaciones retransmitidas hacia los controladores de dominio. La BOX Oxyscan vigila estas señales directamente en la red y notifica la aparición de un servidor DHCPv6 o DNS IPv6 ilegítimo, un indicio claro de que hay en curso un ataque de tipo mitm6. Desplegada de forma continua, permite identificar, en todo un parque, las máquinas expuestas a este tipo de interceptación. Detectar pronto esta fase de preparación permite cortar el ataque antes del primer relay con éxito.

En la red, estos mensajes son visibles en una captura: en cuanto la herramienta entra en acción, se multiplican los anuncios de router y las solicitudes de vecino en ICMPv6.

Captura de Wireshark del tráfico IPv6 en una red local, con anuncios de router y solicitudes de vecino en ICMPv6

Corregir la vulnerabilidad: neutralizar IPv6 sin desactivarlo

La primera reacción, desactivar IPv6 sin más, rara vez es la adecuada. Microsoft desaconseja esta desactivación total, ya que Windows se prueba con IPv6 activo y algunos componentes (Exchange, clústeres de conmutación por error) pueden comportarse mal sin él. El objetivo no es, por tanto, eliminar IPv6, sino impedir que un puesto acepte una configuración IPv6 distribuida por un desconocido.

La medida más limpia consiste en bloquear, mediante el cortafuegos de Windows y desplegado por GPO en todo el dominio, las dos piezas que necesita el ataque: las respuestas DHCPv6 y los anuncios de router. Tres reglas predefinidas pasan a Bloquear:

  • (Entrante) Core Networking, Dynamic Host Configuration Protocol for IPv6 (DHCPV6-In), puerto UDP 546;
  • (Entrante) Core Networking, Router Advertisement (ICMPv6-In), ICMPv6 tipo 134;
  • (Saliente) Core Networking, Dynamic Host Configuration Protocol for IPv6 (DHCPV6-Out).

Esta configuración neutraliza el ataque conservando las direcciones IPv6 de enlace local, por lo que no tiene efectos secundarios sobre los componentes de Windows.

En la red, las funciones RA Guard y DHCPv6 Guard de los switches sirven de complemento: bloquean en el borde los anuncios de router y las respuestas DHCPv6 emitidos desde un puerto no autorizado, y protegen además las máquinas Linux y macOS que el bastionado de Windows no cubre. En estos sistemas, los anuncios de router también pueden rechazarse localmente (por ejemplo sysctl net.ipv6.conf.all.accept_ra=0 en Linux).

Una variante consiste en dar prioridad a IPv4 sobre IPv6, lo que quita a la configuración distribuida por el atacante su prioridad sobre la configuración legítima. Este ajuste también se despliega por GPO, mediante una preferencia de registro:

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

Solo como último recurso, si una política interna impone la desactivación completa de IPv6, esta se realiza mediante PowerShell en cada máquina. La misma familia de comandos permite, además, comprobar el estado del protocolo en las tarjetas de red:

Disable-NetAdapterBinding -Name "*" -ComponentID ms_tcpip6

Comprobación en PowerShell con Get-NetAdapterBinding de que el protocolo IPv6 está desactivado en las tarjetas de red

No obstante, este método solo cubre las tarjetas de red existentes y no se despliega de forma nativa por GPO, a diferencia de los dos anteriores. Por último, sea cual sea la opción elegida, la firma SMB, la firma LDAP y el channel binding de LDAP siguen siendo imprescindibles: aunque un puesto cayera en la trampa, estas protecciones impiden reutilizar la autenticación interceptada y, por tanto, el relay que constituye todo el interés del ataque.

Conclusión

mitm6 ilustra un principio que se confirma en cada misión: una funcionalidad activada por defecto y nunca configurada es una superficie de ataque en toda regla. IPv6 no es peligroso en sí mismo, lo peligroso es su abandono. Unas pocas medidas específicas cierran la brecha sin romper lo existente, y la mayoría las recomienda desde hace tiempo la ANSSI en sus guías de bastionado de Active Directory.

Recomendaciones: desactivar IPv6 en los puestos únicamente si no se utiliza (y de forma limpia, mediante directiva de grupo, en lugar de con una manipulación improvisada), activar DHCPv6 Guard y RA Guard en los switches para bloquear los anuncios maliciosos, exigir la firma LDAP y el channel binding (Extended Protection for Authentication) en los controladores de dominio para inutilizar cualquier relay, y segmentar las tomas de red accesibles al público.

Para saber más

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)
Icono de auditoría de seguridad y test de intrusión

¡Un DIAGNÓSTICO GRATUITO de 30 minutos, sin compromiso!

Oxydian le ofrece la oportunidad de evaluar rápidamente su nivel de madurez en ciberseguridad durante una videollamada de 15 a 30 minutos.

Hable directamente con un experto, identifique sus necesidades y reciba recomendaciones 100% personalizadas, con un informe jerarquizado por prioridad.

¿Prefiere avanzar por su cuenta?

También tiene a su disposición un autotest en línea que le ofrece una primera visión de su nivel de seguridad, calculando su puntuación de ciberseguridad.