La revinculación de DNS es un método para manipular la resolución de nombres de dominio que se utiliza comúnmente como una forma de ataque informático . En este ataque, una página web maliciosa hace que los visitantes ejecuten un script del lado del cliente que ataca a las máquinas en otras partes de la red. En teoría, la política del mismo origen evita que esto suceda: los scripts del lado del cliente solo pueden acceder al contenido en el mismo host que sirvió el script. La comparación de nombres de dominio es una parte esencial para hacer cumplir esta política, por lo que la revinculación de DNS elude esta protección al abusar del Sistema de nombres de dominio (DNS).
Este ataque puede usarse para violar una red privada haciendo que el navegador web de la víctima acceda a las computadoras en direcciones IP privadas y devuelva los resultados al atacante. También se puede emplear para utilizar la máquina víctima para enviar spam , ataques distribuidos de denegación de servicio u otras actividades maliciosas.
Cómo funciona la revinculación de DNS
El atacante registra un dominio (como attacker.com) y lo delega en un servidor DNS que está bajo el control del atacante. El servidor está configurado para responder con un registro de tiempo de vida muy corto (TTL) , lo que evita que la respuesta de DNS se almacene en caché . Cuando la víctima navega hacia el dominio malicioso, el servidor DNS del atacante responde primero con la dirección IP de un servidor que aloja el código malicioso del lado del cliente. Por ejemplo, podrían apuntar el navegador de la víctima a un sitio web que contenga JavaScript o scripts Flash maliciosos que están destinados a ejecutarse en la computadora de la víctima.
El código malicioso del lado del cliente realiza accesos adicionales al nombre de dominio original (como attacker.com). Estos están permitidos por la política del mismo origen. Sin embargo, cuando el navegador de la víctima ejecuta el script, realiza una nueva solicitud de DNS para el dominio y el atacante responde con una nueva dirección IP. Por ejemplo, podrían responder con una dirección IP interna o la dirección IP de un objetivo en otro lugar de Internet.
Proteccion
Las siguientes técnicas intentan prevenir los ataques de revinculación de DNS: [1] [2] [3] [4]
- Los servidores DNS de la cadena pueden filtrar direcciones IP privadas y direcciones IP de bucle invertido :
- Los servidores DNS públicos externos (por ejemplo, OpenDNS ) pueden implementar el filtrado de DNS. [5]
- Los administradores del sistema local pueden configurar los servidores de nombres locales de la organización para bloquear la resolución de nombres externos en direcciones IP internas. (Esto tiene la desventaja de permitir que un atacante mapee los rangos de direcciones internas en uso).
- Un firewall (por ejemplo, dnswall), en la puerta de enlace o en la PC local, puede filtrar las respuestas DNS que pasan a través de él, descartando las direcciones locales. [6] [7]
- Los navegadores web pueden resistir el reenlace de DNS:
- Los navegadores web pueden implementar la fijación de DNS: [8] la dirección IP está bloqueada en el valor recibido en la primera respuesta de DNS. Esta técnica puede bloquear algunos usos legítimos del DNS dinámico y es posible que no funcione contra todos los ataques. Sin embargo, es importante realizar una prueba a prueba de fallos (detener el procesamiento) si la dirección IP cambia, porque el uso de una dirección IP después de la expiración del TTL puede abrir la vulnerabilidad opuesta cuando la dirección IP ha cambiado legítimamente y la dirección IP expirada ahora puede ser controlada. por un atacante.
- La extensión NoScript para Firefox incluye ABE , una función similar a un firewall dentro del navegador que, en su configuración predeterminada, evita los ataques a la red local al evitar que las páginas web externas accedan a las direcciones IP locales.
- Los servidores web pueden rechazar solicitudes HTTP con un encabezado de host no reconocido .
Ver también
Referencias
- ^ "Protección de los navegadores contra ataques de reversión de DNS" (PDF) . crypto.stanford.edu . Noviembre de 2007 . Consultado el 10 de diciembre de 2018 .
- ^ "Protección de los navegadores contra ataques de reversión de DNS" (PDF) . www.adambarth.com . Enero de 2009 . Consultado el 10 de diciembre de 2018 .
- ^ "REVINCULACIÓN DE DNS" (PDF) . www.ptsecurity.com . 2012 . Consultado el 10 de diciembre de 2018 .
- ^ "Protección de su enrutador contra posibles ataques de reversión de DNS - Blog de inteligencia de seguridad de TrendLabs" . blog.trendmicro.com . 2010-08-04 . Consultado el 10 de diciembre de 2018 .
- ^ Ulevitch, David (14 de abril de 2008). "Por fin, una solución real a los ataques de reenlace de DNS" . Cisco . Consultado el 15 de julio de 2017 .
- ^ google-dnswall en GitHub
- ^ "Servicios - DNS - Protecciones de vinculación de DNS | Documentación de pfSense" . www.netgate.com . Consultado el 10 de diciembre de 2018 .
- ^ "FireDrill: Rebinding DNS interactivo" (PDF) . www.usenix.org . Consultado el 10 de diciembre de 2018 .
enlaces externos
- Protección de navegadores contra ataques de reversión de DNS (2007)
- Actualización de refuerzo de DNS para Adobe Flash Player (2008)
- Security Sun Alert 200041 para Sun JVM (2008-09-04)
- Rebinding de DNS con Robert RSnake Hansen (2009)