DNS hijacking: cómo funciona y cómo detectarlo

El DNS hijacking desvía tu tráfico o correo modificando las respuestas DNS. Los tres niveles de ataque, sus señales y cómo detectarlo a tiempo.

El DNS hijacking consiste en hacer que el DNS de tu dominio responda con valores controlados por un atacante, de modo que tus visitantes, tus clientes de API o tu correo acaben en una infraestructura que no es tuya. El ataque puede producirse en tres niveles: la cuenta del registrador, la zona DNS o el resolver que usa la víctima. Los dos primeros modifican registros DNS públicos, así que cualquiera que vigile esos registros desde fuera puede ver el secuestro. El tercero no toca el dominio y resulta invisible para una vigilancia externa. Este artículo repasa cada nivel, la señal que deja y las comprobaciones que permiten detectarlo.

Los tres niveles del secuestro

Cada nivel ataca un eslabón distinto de la cadena de resolución, y cada uno deja un rastro diferente.

Cuenta del registrador comprometida

El atacante toma el control de tu cuenta en el registrador, casi siempre mediante una contraseña obtenida por phishing o un buzón de correo secuestrado, y sustituye los nameservers del dominio por servidores que él opera. Desde ese momento responde a todas las consultas DNS del dominio y puede dirigir el tráfico web y el correo adonde quiera.

La señal es pública: los registros NS del dominio ya no corresponden a tu proveedor de DNS. La campaña Sea Turtle de 2018 y 2019 funcionaba exactamente así: registradores y proveedores de DNS comprometidos, nameservers cambiados en dominios gubernamentales y de telecomunicaciones, y después páginas de acceso falsas para robar credenciales. Vigilar los NS es la comprobación más rentable en este nivel; la guía sobre la vigilancia de cambios de nameservers lo trata en detalle.

Zona DNS comprometida

Aquí el atacante accede a tu cuenta en el proveedor de DNS en lugar del registrador. Los nameservers no cambian, el dominio parece normal a primera vista, pero se modifican registros concretos: un A apuntando al servidor del atacante, un MX que desvía tu correo entrante, un CNAME cambiado en un subdominio.

La señal es más discreta pero sigue siendo pública: los NS están intactos mientras que registros A, AAAA, MX, CNAME o TXT difieren de tu configuración. Cualquiera que compare los registros de hoy con los de ayer ve la modificación.

Resolver o router comprometido

Un malware en un equipo o un router doméstico pirateado puede reescribir las respuestas DNS para todos los que pasan por él. Tu cuenta en el registrador, tu zona y tus registros públicos quedan intactos. Solo las víctimas detrás de ese resolver reciben respuestas falsas.

Ninguna vigilancia externa puede ver este nivel, y un proveedor que afirme lo contrario está vendiendo humo. Las defensas están en el lado del cliente: un resolver público de confianza, DNS over HTTPS y un firmware de router actualizado.

Nivel de ataqueQué cambia¿Detectable desde fuera?
Cuenta del registradorRegistros NS
Zona DNSA, AAAA, MX, CNAME, TXT
Resolver o routerNada en el dominioNo

DNS hijacking, DNS spoofing, domain hijacking: no los confundas

Los tres términos se mezclan constantemente, y las defensas son distintas.

  • El DNS spoofing (o envenenamiento de caché) engaña a un resolver para que guarde en caché respuestas falsificadas. Tu dominio y sus registros nunca se tocan. La defensa es DNSSEC, porque una respuesta falsificada no supera la validación de firmas.
  • El domain hijacking es el robo del dominio en sí, normalmente mediante una transferencia fraudulenta a otro registrador. La defensa es el bloqueo de transferencia; el artículo sobre los códigos de estado de dominio explica clientTransferProhibited y sus variantes.
  • El DNS hijacking, el tema de este artículo, cambia lo que responde el DNS de tu dominio mientras el dominio sigue siendo tuyo.

Cómo detectar un secuestro

De la señal más fiable a la menos fiable:

  • Un registro que tú no has cambiado cambia. Es la señal central para los dos niveles visibles desde fuera. La detección funciona por snapshot y comparación: anotar lo que responde el dominio hoy, comparar mañana, alertar ante cualquier diferencia. Domain Sentinel ejecuta este control una vez al día en cada dominio de tu watchlist, sobre los registros A, AAAA, MX, TXT, NS y CAA del apex y sobre A, AAAA, CNAME, MX y TXT en www y en los nombres adicionales que añadas, y te envía un email en cuanto algún valor difiere. En paralelo toma un snapshot RDAP de los datos de registro, de modo que un cambio de nameservers en el registrador aparece en el siguiente control diario.
  • Unos NS que ya no corresponden a tu proveedor de DNS. Incluso sin historial, sabes a qué proveedor pagas.
  • Un certificado TLS que nunca solicitaste. Los atacantes suelen obtener un certificado para el dominio secuestrado, y los registros de Certificate Transparency hacen pública cada emisión.
  • Usuarios que avisan de redirecciones, advertencias de certificado o correos perdidos. La peor señal: cuando llega, el daño ya está hecho.

Para una comprobación inmediata, consulta dos resolvers independientes y compara:

dig @1.1.1.1 example.com NS +short
dig @8.8.8.8 example.com NS +short
dig @1.1.1.1 example.com A +short
dig @8.8.8.8 example.com A +short

Respuestas idénticas, y coherentes con tu propia configuración, son buena señal. La misma comprobación sin terminal se hace con la herramienta de lookup DNS.

Cómo protegerse

Por orden de eficacia:

  1. MFA y bloqueo de registrador en la cuenta del registrador. Esto corta de raíz el cambio de nameservers y la transferencia fraudulenta.
  2. MFA en la cuenta del proveedor de DNS, lo que cierra la vía de ataque a nivel de zona.
  3. DNSSEC, para que las respuestas falsificadas fallen la validación en los resolvers que comprueban firmas.
  4. Vigilancia externa de los registros. Conviene ser honesto sobre lo que hace: no bloquea el ataque, pero reduce el tiempo de detección de semanas, el plazo habitual cuando un secuestro se descubre por quejas de usuarios, a un día como máximo con un control diario. La monitorización DNS existe exactamente para esto.
  5. TTL razonables, para que un registro corregido se propague rápido una vez recuperado el control.

Empieza por lo que lleva cinco minutos: consulta los NS y los A de tu dominio principal con la herramienta de lookup DNS y confirma que coinciden con tu configuración. Comprueba después que el bloqueo de registrador está activo, y pon bajo vigilancia diaria los dominios que no puedes permitirte perder. La práctica más amplia de seguir los registros DNS a lo largo del tiempo se trata en la guía sobre qué es la monitorización DNS.

Empieza con un dominio que te importe

Búscalo gratis. Para recibir alertas cuando el estado cambie o la expiración se acerque, crea una cuenta. Son 30 segundos.