Envenenamiento DNS

Envenenamiento DNS
Información sobre la plantilla
Dnsspoofing.jpg
Concepto:Es cuando un atacante es capaz de redirigir a una víctima a una página web diferente de la dirección que teclea en su navegador


DNS cache poisoning (o DNS Poisoning) es una situación creada de manera maliciosa o no deseada que provee datos de un Servidor de Nombres de Dominio (DNS) que no se origina de fuentes autoritativas DNS. Esto puede pasar debido a diseño inapropiado de software, falta de configuración de nombres de servidores y escenarios maliciosamente diseñados que explotan la arquitectura tradicionalmente abierta de un sistema DNS. Una vez que un servidor DNS ha recibido aquellos datos no autentificados y los almacena temporalmente para futuros incrementos de desempeño, es considerado envenenado, extendiendo el efecto de la situación a los clientes del servidor.

El envenenamiento DNS o poisoning attack es una práctica común entre los sitios web, considerada como técnica blackhat o técnica penalizable por los buscadores. Estas técnicas suelen llevarse a cabo por hackers, centrándose en los sitios más populares con el fin de obtener la mayor cantidad de víctimas posibles.

El ataque de envenenamiento más utilizado es el ataque IFrame, de manera que explotan la entrada y visualización de sitios con buen posicionamiento SEO con la finalidad de redirigir a sitios maliciosos. Por ejemplo, si un usuario teclea una dirección en el navegador del tipo www.trecbits.com, en lugar de ser dirigido al servidor de la susodicha página, se enviaría a un sitio fraudulento que podría tener similitudes con la página a la que se desea acceder.

Domain Name System (DNS)

El Domain Name System (DNS) es necesario para que las máquinas en red pueden comunicarse entre sí. Las máquinas utilizan una única dirección IP para identificarse de la misma manera que se utiliza una dirección de calle para ubicar un negocio o una casa. Sin embargo, las personas conocemos y recordamos nombres como Google, Yahoo, o YouTube en lugar de una “difícil” dirección IP, como 67.13.142.130, que es más fácil para una máquina de entender. Los servidores de nombres de dominio (DNS) se utilizan para convertir los nombres de su dirección IP correspondiente y viceversa.

El sistema DNS es una base de datos masivo con miles de millones de nombres de dominio y direcciones IP. El sistema maneja miles de millones de peticiones diarias, como la gente que navega por Internet, cuando se envían correos electrónicos, cuando se crea un nuevo sitio web…. A pesar de que el sistema DNS se distribuye en todo el mundo, actúa como un único sistema.

Ataques de Envenenamiento de Caché

Normalmente, una computadora conectada a Internet utiliza un servidor DNS proporcionado por el proveedor de servicios de Internet (ISP). Este DNS generalmente atiende solamente a los propios clientes del ISP y contiene una pequeña cantidad de información sobre DNS almacenada temporalmente por usuarios previos del servidor. Un ataque de envenenamiento (poisoning attack) de un solo servidor DNS de un ISP puede afectar a los usuarios atendidos directamente por el servidor comprometido o indirectamente por los servidores dependientes del servidor.

Para realizar un ataque de envenenamiento de caché, el atacante explota una vulnerabilidad en el software de DNS que puede hacer que éste acepte información incorrecta. Si el servidor no valida correctamente las respuestas DNS para asegurarse de que ellas provienen de una fuente autoritativa, el servidor puede terminar almacenando localmente información incorrecta y enviándola a los usuarios para que hagan la misma petición.

Esta técnica puede ser usada para reemplazar arbitrariamente contenido de una serie de víctimas con contenido elegido por un atacante. Por ejemplo, un atacante envenena las entradas DNS de direcciones IP para un sitio web objetivo, reemplazándolas con la dirección IP de un servidor que él controla. Luego, el atacante crea entradas falsas para archivos en el servidor que él controla con nombres que coinciden con los archivos del servidor objetivo. Estos archivos pueden contener contenido malicioso, como un virus o un gusano. Un usuario cuya computadora ha referenciado al servidor DNS envenenado puede ser engañado al creer que el contenido proviene del servidor objetivo y sin saberlo descarga contenido malicioso.

Como parte del proyecto Golden Shield, China, de forma regular hace uso de envenenamiento de DNS para redes o sitios específicos que violan las políticas bajo las cuales el proyecto opera

Métodos de ataque

Un ataque puede ocurrir mediante la modificación de las tablas de equipos que están almacenados en equipos locales. La tabla de host es la lista de dominios y direcciones IP que se utilizan para encontrar la dirección IP correcta cuando un usuario introduce un nombre de dominio del sitio. Si la tabla de llamada del sistema host no tiene la dirección IP correcta almacenada localmente a continuación, entra en contacto con un DNS externo para la dirección IP correcta. Si un atacante es capaz de comprometer las entradas en la tabla de la máquina se pueden dirigir los nombres de sitios web a cualquier dirección IP que deseen.

Otro método de realizar un ataque de envenenamiento de DNS en el cual el objetivo son los servidores DNS externos en sí mismos. Me refiero a los propios servidores externos de DNS de intercambio de información, incluyendo el nombre y el mapeo de la propiedad intelectual, entre las transferencias de unas zonas con otras. Los atacantes pueden configurar un servidor DNS con falsas entradas de direcciones IP de manera que si el servidor DNS objetivo acepta la transferencia de zona como auténtico, entonces se utilizará y distribuirá las falsas asignaciones de direcciones IP a los servidores DNS.

Tipos de ataque

En las siguientes variantes, las entradas del servidor ns.wikipedia.org pueden ser envenenadas y redirigidas al servidor de nombres del atacante en la dirección w.x.y.z. Estos ataques asumen que el servidor para wikipedia.org es ns.wikipedia.org.

Para conseguir éxito en el ataque, el atacante debe forzar que el servidor DNS objetivo haga una petición hacia un dominio controlado por uno de los servidores de nombres del atacante.

Redirección al servidor de nombres del dominio objetivo

La primera variante del envenenamiento de caché de DNS involucra redirigir el nombre del servidor del atacante del dominio hacia el servidor de nombres del dominio objetivo, luego se asigna a dicho servidor de nombres una dirección IP especificada por el atacante.

Petición del servidor DNS: cuáles son los registros de direcciones para subdominio.ejemplo.com?

subdominio.ejemplo.com. IN A

Respuesta del atacante:

Answer: (no response)

Authority section: example.com. 3600 IN NS ns.wikipedia.org

Additional section: ns.wikipedia.org. IN A w.x.y.z

Un servidor vulnerable puede almacenar en caché el registro A adicional (la dirección IP) para ns.wikipedia.org, permitiendo al atacante resolver consultas para todo el dominio wikipedia.org.

Redirigir el registro DNS a otro dominio objetivo

La segunda variante de envenenamiento de caché DNS involucra redirigir el servidor de nombres de otro dominio hacia otro dominio no relacionado a la petición original de una dirección IP especificada por el atacante.

Petición del servidor DNS: cuáles son los registros de dirección para subdominio.ejemplo.com?

subdominio.ejemplo.com. IN A

Respuesta del atacante:

Answer: (no response)

Authority section: wikipedia.org. 3600 IN NS ns.ejemplo.com.

Additional section: ns.ejemplo.com. IN A w.x.y.z

Un servidor vulnerable puede almacenar la información de autoridad no relacionada de los registros de servidor de nombres de wikipedia.org, permitiendo al atacante resolver consultas para todo el dominio wikipedia.org.

Responder antes del servidor de nombres real

La tercera variante de envenenamiento de caché de DNS, que es denominada falsificación de DNS (DNS Forgery) involucra hacer demorar la respuesta real hacia una consulta recursiva DNS hacia el servidor DNS. Las consultas DNS contienen un número identificador (nonce) de 16 bits, utilizado para identificar las respuestas asociadas a una respuesta dada. Si el atacante puede predecir exitosamente el valor de dicho número identificador y devolver la respuesta primero, el servidor aceptará la respuesta del atacante como válida. Si el servidor elige aleatoriamente el puerto origen de respuesta, el ataque se volverá más dificultoso, dado que la respuesta falsa debe ser enviada por el mismo puerto desde donde la consulta se originó.

Enviando un número de peticiones simultáneas de DNS al servidor para forzarlo a enviar más consultas recursivas, la probabilidad de predecir exitosamente uno de los números identificadores se incrementa. Esta modificación es una forma de ataque de cumpleaños (birthday attack).

Protección

Para protegerse contra estos ataques lo recomendable es utilizar el filtrado de URL y la inspección y filtrado de contenido para evitar que el ataque malicioso pueda llegar al usuario. Además las empresas que disponen de servidor y alojan sus propios sitios deben disponer de todas las herramientas de seguridad activadas.

Por parte de los usuarios hay que tener mucha precaución, ya que, los últimos ataques se están efectuando sobre portales de noticias donde se atacan las historias con mayor índice de afluencia como pueden ser tragedias, eventos deportivos, etc. Para intentar evitar estos ataques maliciosos lo mejores habilitar la seguridad del navegador.

Este tipo de ataque puede ser mitigado también por las capas de transporte o aplicación para conseguir validación extremo a extremo (end-to-end validation) una vez que una conexión es establecida en extremo. Un ejemplo común de esto es el uso de Seguridad de Capa de Transporte y firmas digitales. Por ejemplo, usando la versión segura de HTTP, HTTPS, los usuarios pueden verificar si el certificado digital es válido y pertenece al dueño esperado de un sitio web. De manera similar, el programa de inicio de sesión remoto SSH verifica certificados digitales en los extremos (si los conoce) antes de proseguir con una sesión. Para aplicaciones que descargan actualizaciones automáticamente, la aplicación puede alojar una copia local del certificado digital de los datos y validar el certificado almacenado en la actualización de software contra el certificado alojado.

Enlaces internos


Enlaces externos