Suplantación de DNS y envenenamiento de caché: cómo funcionan y qué los detiene
La suplantación de DNS no requiere interceptar tráfico real. Requiere acertar y llegar primero — la caché de un resolutor acepta la respuesta que llegue antes que la genuina.
Qué es la suplantación de DNS
La suplantación de DNS falsifica una respuesta DNS para que un resolutor almacene en caché y sirva una dirección IP elegida por el atacante en lugar de la real. Una vez cacheada una respuesta falsificada, todo cliente que use ese resolutor la recibe hasta que expire la TTL — sin necesidad de más acciones del atacante.
El problema de estar fuera de la ruta
Un atacante que no está en la ruta de red entre el resolutor y el servidor autoritativo real no puede simplemente leer o modificar el tráfico genuino. En su lugar, la respuesta falsificada tiene que adivinarse y entregarse antes de que llegue la respuesta autoritativa real — es una carrera, no una intercepción.
Qué hay que adivinar
Un resolutor identifica una respuesta válida por un ID de transacción de 16 bits y el puerto de origen UDP desde el que se envió la consulta. El ataque Kaminsky de 2008 mostró cómo convertir un acierto único de baja probabilidad en un ataque práctico: engañar a un resolutor para que busque muchos subdominios distintos e inexistentes del mismo dominio le da al atacante muchas carreras independientes por el mismo hueco de caché, ya que cualquier falsificación exitosa envenena los registros del dominio padre.
El impacto de un envenenamiento exitoso
Una vez envenenado, el resolutor redirige silenciosamente a todo cliente que lo consulte —a un sitio de phishing, un punto de inyección de anuncios, lo que el atacante elija— sin tocar ni uno solo de los sistemas de las víctimas, durante todo lo que dure la TTL del registro falsificado.
Por qué DNSSEC detiene esto
Un resolutor que valida comprueba una cadena de firmas criptográficas hasta una raíz de confianza antes de aceptar una respuesta. Un atacante que gane la carrera de adivinanza sigue sin tener la clave privada de firma de la zona, así que la respuesta falsificada no puede producir una firma válida — acertar el ID de transacción y el puerto deja de importar en cuanto es la propia validación la que comprueba la autenticidad.
Comprueba el DNSSEC de un dominio
Ve la teoría en la práctica: ejecuta Comprobación DNSSEC para tu propio dominio.