Cómo los hackers falsifican las solicitudes de DNS con el envenenamiento de la caché de DNS

El envenenamiento de la caché de DNS (DNS) es un ciberataque que engaña a su ordenador haciéndole creer que va al sitio web correcto, pero no es así. Los atacantes utilizan el envenenamiento de la caché del DNS para secuestrar el tráfico de Internet y robar las credenciales o los datos personales del usuario.

El envenenamiento de la caché del DNS y la suplantación del DNS son sinónimos y a menudo se utilizan indistintamente. Pero, para ser precisos se puede pensar en ellos como el Cómo y el Qué del mismo ciberataque. El hacker quiere engañar a los usuarios para que introduzcan sus datos privados en sitios web no seguros. ¿Cómo lo hará? Envenenando la caché de DNS. Lo que hacen es falsificar o sustituir los datos DNS de un determinado sitio web para que redirija al servidor del hacker y no al servidor web legítimo. A partir de ahí, el hacker está preparado para realizar un ataque de phishing, robar datos o incluso inyectar malware en el sistema de la víctima.

Obtenga el EBook gratuito de Pen Testing Active Directory Environments

«Esto realmente me abrió los ojos a la seguridad de AD de una manera que el trabajo defensivo nunca lo hizo».

Varonis puede detectar ataques de envenenamiento de caché DNS mediante la monitorización de DNS y la detección de comportamientos anormales en la actividad de sus usuarios.

  • ¿Qué es el DNS Spoofing y el envenenamiento de caché?
  • ¿Cómo funciona un ataque de envenenamiento de caché DNS?
  • ¿Cómo detectar el envenenamiento de la caché de DNS?
  • ¿Cómo protegerse contra el envenenamiento de la caché de DNS?
  • Preguntas frecuentes sobre el envenenamiento de la caché de DNS?

¿Qué es el envenenamiento de la caché y el envenenamiento de la caché de DNS?

Antes de hablar del ataque, debemos refrescar lo que es el DNS y la caché de DNS. El DNS es el catálogo mundial de direcciones IP y nombres de dominio. Piensa en ello como la guía telefónica de Internet. Traduce las URLs amigables para el usuario final como Varonis.com a la dirección IP como 192.168.1.169 que son utilizadas por los ordenadores para la red.

El caché DNS es el sistema que almacena estas direcciones en los servidores DNS de todo el mundo. Para que las peticiones de DNS sean rápidas, los desarrolladores originales crearon un sistema de DNS distribuido. Cada servidor almacena una lista de registros DNS que conoce – esto se llama caché. Si tu servidor DNS más cercano no conoce la dirección IP que necesitas, pregunta a otros servidores DNS anteriores hasta que encuentra la dirección IP del sitio web al que intentas acceder. Su servidor DNS guarda entonces esa nueva entrada en su caché para obtener tiempos de respuesta más rápidos.

Ejemplos y efectos del envenenamiento de la caché DNS

El DNS no fue diseñado para gestionar la Internet moderna en absoluto. Ha mejorado a lo largo de los años, pero un servidor DNS mal configurado que sacó entradas DNS de un servidor en China – y de repente, nadie puede llegar a Facebook. Este incidente demuestra lo dependientes que somos del DNS. Una persona desconfigura un servidor y, de repente, cientos de millones de personas sienten los efectos.

WikiLeaks también fue objetivo de atacantes que utilizaron un ataque de envenenamiento de la caché de DNS para secuestrar el tráfico hacia su propia versión de WikiLeaks. Este fue un ataque intencional diseñado para mantener el tráfico lejos de WikiLeaks con cierto éxito.

Los ataques de envenenamiento de caché DNS son furtivos y difíciles de atrapar para la gente común. El DNS es actualmente un sistema de confianza primero, por lo que es fácil de aprovechar. Los humanos confían en el DNS hasta la saciedad, y nunca comprueban realmente si la dirección que aparece en su navegador es la que esperaban. Los atacantes se aprovechan de esta complacencia y falta de atención para robar credenciales o más.

¿Cómo funciona un ataque de envenenamiento de la caché DNS?

El envenenamiento de la caché DNS se produce cuando su servidor DNS más cercano tiene una entrada que le envía a una dirección incorrecta, normalmente una que controla un atacante. Aquí hay algunas técnicas diferentes que los atacantes utilizan para envenenar la caché DNS.

Secuestrar la red local con ARP Spoofing

La red local puede ser un objetivo sorprendentemente vulnerable. Muchos administradores piensan que lo tienen controlado, pero el diablo puede estar en los detalles. Un problema común son los empleados que trabajan desde casa. ¿Está asegurada su red Wi-Fi? Los piratas informáticos pueden descifrar una contraseña de Wi-Fi débil en sólo unas horas. Otro problema es el de los puertos ethernet abiertos en los pasillos y vestíbulos públicos. Imagínese a alguien esperando en el vestíbulo enchufando el cable ethernet destinado a la pantalla del vestíbulo.

Veamos cómo un hacker podría utilizar potencialmente el acceso a la red local en una de esas situaciones.

En primer lugar, el hacker crearía una página de suplantación de identidad que puede utilizar para recopilar credenciales de usuario y otros datos valiosos. A continuación, podrían alojar esta página localmente en la red o remotamente en un servidor con una sola línea de código python.

Desde ahí, el hacker podría empezar a monitorizar la red con herramientas como Betterrcap. En esta etapa, están mapeando y explorando la red objetivo, pero el tráfico sigue fluyendo a través del router.

Luego, el hacker utilizaría el ARP spoofing para reestructurar la red internamente. El ARP, o protocolo de resolución de direcciones, es utilizado por los dispositivos de una red para asociar la dirección MAC de un dispositivo con una dirección IP en la red. Bettercap enviará mensajes ARP indicando a todos los dispositivos de la red que el ordenador del hacker es el router. Esto permite al hacker interceptar todo el tráfico de red destinado al router.

Una vez que todo el tráfico es redirigido a través del ordenador del hacker, éste puede ejecutar el módulo de suplantación de DNS de Bettercap. Esto buscará cualquier solicitud a un dominio objetivo, y enviará una respuesta falsa a la víctima. La solicitud falsa contiene la dirección IP del ordenador del hacker, redirigiendo cualquier solicitud al sitio web objetivo a la página de phishing alojada por el hacker.

Ahora, el hacker puede ver el tráfico destinado a otros dispositivos de la red y redirigir las solicitudes de cualquier sitio web. El hacker puede ver cualquier cosa que la víctima haga en esta página, incluida la recopilación de credenciales de inicio de sesión o el servicio de descargas maliciosas.

Si un hacker no puede acceder a una conexión de red local, recurrirá a uno de los siguientes ataques.

Falsificación de respuestas mediante el ataque de cumpleaños

El DNS no autentifica las respuestas a las consultas recursivas, por lo que la primera respuesta se almacena en la caché. Los atacantes utilizan la «paradoja del cumpleaños» para intentar anticiparse y enviar una respuesta falsificada al solicitante. Este ataque de cumpleaños utiliza las matemáticas y la teoría de la probabilidad para hacer una conjetura. En este caso, el atacante está tratando de adivinar el ID de la transacción de su solicitud DNS, por lo que la respuesta falsificada con la entrada DNS falsificada le llega antes que la respuesta real.

Un ataque de cumpleaños no es un éxito garantizado, pero eventualmente, un atacante colará una respuesta falsificada en la caché. Una vez que el ataque tiene éxito, el atacante verá el tráfico de la entrada DNS falsificada hasta que el tiempo de vida (TTL) expire.

El exploit de Kaminsky

El exploit de Kaminsky es una variación del ataque de cumpleaños presentado en BlackHat 2008.

Primero, el atacante envía a un resolver objetivo una consulta DNS para un dominio inexistente, como «fake.varonis.com». A continuación, el resolvedor reenvía la consulta al servidor de nombres autoritativo para obtener la dirección IP del subdominio falso. En este punto, el atacante inunda el resolver con un gran número de respuestas falsas, con la esperanza de que una de esas falsificaciones coincida con el ID de la transacción de la consulta original.

Si tienen éxito, el atacante ha envenenado la caché DNS del resolver objetivo con una dirección IP falsa para – en este ejemplo – varonis.com. El resolver continuará diciendo a cualquiera que le pregunte que la dirección IP para varonis.com es la consulta falsificada hasta el TTL.

¿Cómo detectar el envenenamiento de la caché DNS

Entonces, cómo detectar un ataque de envenenamiento de la caché DNS? Supervise sus servidores DNS en busca de indicadores de posibles ataques. Los seres humanos no tienen la potencia de cálculo para seguir el ritmo de la cantidad de solicitudes de DNS que tendrá que supervisar. Aplique el análisis de seguridad de datos a su monitorización de DNS para discernir el comportamiento normal de DNS de los ataques.

  • Un aumento repentino de la actividad de DNS de una sola fuente sobre un solo dominio indica un posible ataque de envenenamiento de caché.
  • Un aumento en la actividad de DNS de una sola fuente que está consultando su servidor de DNS para múltiples nombres de dominio sin recursividad indica un intento de encontrar una entrada para usar para el envenenamiento.

Además de monitorear el DNS, monitoree los eventos de Active Directory y el comportamiento del sistema de archivos para la actividad anormal. Y aún mejor, utilice los análisis para correlacionar la actividad entre los tres vectores para añadir un contexto valioso a su estrategia de ciberseguridad.

Cómo protegerse contra el envenenamiento de la caché de DNS

Además de la supervisión y los análisis, puede realizar cambios de configuración en su servidor DNS.

  • Limite las consultas recursivas para protegerse contra posibles ataques de envenenamiento dirigidos.
  • Almacenar sólo los datos relacionados con el dominio solicitado.
  • Restringir las respuestas para que sólo sean sobre el dominio solicitado.
  • Forzar a los clientes a utilizar HTTPS.

Asegúrese de que está utilizando las últimas versiones de BIND y el software DNS, por lo que tiene las últimas correcciones de seguridad.

Si es factible, como con los empleados remotos, haga que todos los clientes remotos se conecten a través de una VPN para proteger el tráfico y las solicitudes de DNS de snooping local. Además, asegúrese de fomentar una contraseña Wi-Fi doméstica fuerte para reducir aún más el riesgo.

Y, por último, utilice solicitudes DNS cifradas. La seguridad del sistema de nombres de dominio (DNSSEC) es un protocolo DNS que utiliza solicitudes DNS firmadas para evitar la falsificación. Cuando se utiliza DNSSEC, el resolvedor DNS necesita verificar la firma con el servidor DNS autorizado, lo que ralentiza todo el proceso. Esto ha provocado que DNSSEC no se haya adoptado todavía de forma generalizada.

DNS sobre HTTPS (DoH) y DNS sobre TLS (DoT) son especificaciones que compiten entre sí para la próxima versión de DNS con el fin de mantener las solicitudes de DNS seguras sin sacrificar la velocidad como DNSSEC. Sin embargo, no son soluciones perfectas, ya que pueden ralentizar o directamente impedir la supervisión y el análisis del DNS a nivel local. También es importante tener en cuenta que el DoH y el DoT pueden eludir cualquier control parental u otro bloqueo a nivel de DNS que se realice en la red. Dicho esto, Cloudflare, Quad9 y Google tienen servidores DNS públicos que pueden soportar DoT. Muchos de los nuevos clientes son capaces de soportar estos nuevos estándares pero están deshabilitados por defecto. Puede encontrar información más detallada en el blog de seguridad de DNS de Varonis.

La suplantación de DNS sustituye la dirección IP de un sitio web legítimo por la IP del ordenador de un hacker. Puede ser especialmente complicado por lo difícil que es de detectar, ya que desde la perspectiva del usuario final han puesto una dirección de aspecto completamente normal en la barra de URL de su navegador. Sin embargo, no es imposible de detener. El riesgo se puede mitigar con software de monitorización como Varonis y empleando el estándar de encriptación DNS sobre TLS.

Preguntas frecuentes sobre DNS Spoofing

A continuación se responden algunas preguntas comunes sobre DNS spoofing.

Preguntas: ¿Son el envenenamiento de la caché DNS y el DNS Spoofing la misma cosa?

A: Sí, la suplantación de DNS y el envenenamiento de la caché se refieren al mismo ciberataque.

P: ¿Cómo funciona el envenenamiento de la caché de DNS?

A: El envenenamiento de la caché de DNS funciona engañando a su servidor DNS para que guarde una entrada DNS falsificada. El tráfico hacia la entrada DNS falsificada se dirige a un servidor elegido por los atacantes para robar datos.

P: ¿Qué características de seguridad se pueden utilizar para protegerse contra el envenenamiento de la caché DNS?

A: Los propietarios de sitios web pueden implementar la supervisión y el análisis de la falsificación de DNS. Esto incluye la actualización de sus servidores DNS para utilizar DNSSEC u otro sistema de cifrado como DNS sobre HTTPS o DNS sobre TLS. El uso de un cifrado completo de extremo a extremo, como HTTPS, siempre que sea posible, también puede evitar la suplantación de identidad. Los Cloud Access Security Brokers (CASB) son extremadamente útiles para esto.

Los usuarios finales pueden restablecer una caché de DNS potencialmente falsificada vaciando la caché de DNS de su navegador periódicamente o después de unirse a una red insegura o compartida. El uso de una VPN puede proteger contra la falsificación de DNS en una red local. Evitar los enlaces sospechosos ayudará a evitar que los usuarios finales expongan la caché de su navegador a un riesgo.

P: ¿Cómo se puede comprobar un ataque de envenenamiento de la caché DNS?

A: Una vez que la caché DNS se envenena, puede ser difícil de detectar. Podría ser una mejor táctica supervisar sus datos y proteger sus sistemas del malware para protegerse del compromiso causado por una caché DNS envenenada.

Consulte el Laboratorio de Ciberataques en vivo para ver cómo utilizamos la supervisión de DNS para detectar amenazas reales de ciberseguridad.

¿Cómo funciona la comunicación DNS?

A: Cuando el usuario final escribe una URL como «Varonis.com» en su navegador, se producirán los siguientes pasos:

  1. El navegador comprobará primero su caché local para ver si ya ha almacenado los datos DNS.
  2. Si el navegador no tiene los datos, entonces preguntará al siguiente servidor DNS ascendente, que normalmente será su router en su red local.
  3. Si el router no tiene la entrada DNS necesaria en su caché, entonces utilizará un proveedor DNS ascendente como Google, Cloudflare o Quad9.
  4. Este servidor upstream recibirá la petición DNS y comprobará su caché.
    • 4.1 Suponiendo que no tenga ya los datos DNS almacenados en caché, iniciará un resolvedor DNS recursivo preguntando primero a los servidores raíz DNS «¿Quién maneja .com»
    • 4.2 Entonces el resolvedor consultará al servidor de dominio de primer nivel para .com preguntando «¿Quién se encarga de Varonis.com?» El TDL responde entonces con un servidor de nombres autoritativo para la URL.
    • 4.3 El resolvedor emite entonces una consulta al servidor de nombres autoritativo preguntando «¿Cuál es la IP de Varonis.com?» El servidor de nombres autoritativo responde entonces con una dirección IP para el dominio.

5. A continuación, los datos DNS se envían de vuelta a la cadena hasta el dispositivo del usuario final. A lo largo del camino, cada servidor DNS almacenará en caché esa respuesta para su uso futuro.

Q: ¿Cómo envenenan los atacantes las cachés DNS?

No hay una única forma de envenenar una caché DNS, pero algunas de las formas más comunes son: Hacer que la víctima haga clic en enlaces maliciosos que utilizan código incrustado para alterar la caché DNS en sus navegadores. Además, los hackers pueden secuestrar el servidor DNS local mediante un ataque de suplantación de identidad (man-in-the-middle). El ataque utiliza la suplantación de ARP para redirigir las solicitudes DNS a un servidor DNS controlado por ellos.

P: ¿Qué es el envenenamiento de la caché DNS?

A: El envenenamiento de la caché DNS es el acto de reemplazar una entrada de la base de datos DNS con una dirección IP maliciosa que envía al usuario final a un servidor controlado por el hacker.

P: ¿Cómo se realiza el spoofing DNS?

Un pirata informático realiza un ataque de suplantación de DNS accediendo y alterando la caché de DNS o redirigiendo las consultas de DNS a su propio servidor DNS.

¿Qué se entiende por suplantación de DNS?

La suplantación de DNS significa que la URL que un usuario introduce en su navegador, como varonis.com no va realmente a la dirección IP legítima asociada a esa URL, sino que se redirige a un servidor malicioso controlado por un hacker.

Por qué es un problema la suplantación de DNS?

A: La suplantación de DNS es un problema porque el DNS es intrínsecamente fiable y a menudo no está protegido con ningún tipo de cifrado. Esto significa que un pirata informático puede falsificar una entrada DNS y utilizarla para el robo de datos, la infección de malware, la suplantación de identidad y la prevención de actualizaciones.

P: ¿Cuáles son las amenazas que plantea un ataque de suplantación de DNS?

La principal amenaza que plantea la suplantación de DNS es el robo de datos mediante el uso de páginas de suplantación de identidad. Además, existe una amenaza de infección de malware al alojar descargas de apariencia legítima que en realidad están infectadas con malware. Por último, si el sistema depende de Internet para las actualizaciones, éstas pueden evitarse alterando sus entradas DNS para que no se resuelvan a un sitio web real. Esto también podría aplicarse a cualquier sitio web como método de censura.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.