El reenvío de DNS es un método para manipular la resolución de nombres de dominio que se utiliza comúnmente como ataque informático . En este ataque, una página web maliciosa provoca que los visitantes ejecuten un script del lado del cliente que ataca a otras máquinas de la red. En teoría, la política del mismo origen impide que esto ocurra: los scripts del lado del cliente solo pueden acceder al contenido del mismo host que los sirvió. Comparar los nombres de dominio es fundamental para aplicar esta política, por lo que el reenvío de DNS elude esta protección mediante el abuso del Sistema de Nombres de Dominio (DNS).
Este ataque puede utilizarse para vulnerar una red privada, haciendo que el navegador web de la víctima acceda a ordenadores con direcciones IP privadas y envíe los resultados al atacante. También puede emplearse para utilizar el equipo de la víctima para enviar spam , realizar ataques de denegación de servicio distribuido u otras actividades maliciosas.
Cómo funciona la reasignación de DNS
El atacante registra un dominio (como attacker.com) y lo delega a un servidor DNS bajo su control. El servidor está configurado para responder con un registro TTL (tiempo de vida muy corto) , lo que impide que la respuesta DNS se almacene en caché . Cuando la víctima accede al 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 redirigir el navegador de la víctima a un sitio web que contiene scripts maliciosos de JavaScript o Flash diseñados para ejecutarse en su ordenador.
El código malicioso del lado del cliente realiza accesos adicionales al nombre de dominio original (como attacker.com). Estos accesos están permitidos por la política de mismo origen. Sin embargo, cuando el navegador de la víctima ejecuta el script, realiza una nueva solicitud DNS para el dominio, y el atacante responde con una nueva dirección IP. Por ejemplo, podría responder con una dirección IP interna o la dirección IP de un objetivo ubicado en otro lugar de Internet.
Protección
Las técnicas que intentan prevenir los ataques de reasignación de DNS se pueden dividir a grandes rasgos en dos categorías: [ 1 ] [ 2 ] [ 3 ] [ 4 ]
Basado en DNS
- 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 DNS. [ 5 ]
- Los administradores de sistemas locales pueden configurar los servidores de nombres locales de la organización para bloquear la resolución de nombres externos a direcciones IP internas. (Esto tiene la desventaja de permitir que un atacante pueda identificar los rangos de direcciones internas en uso).
- Un cortafuegos (por ejemplo, dnswall), en la puerta de enlace o en el PC local, puede filtrar las respuestas DNS que pasan a través de él, descartando las direcciones locales. [ 6 ] [ 7 ]
Tenga en cuenta que el filtrado DNS entra en conflicto con la lista negra del Sistema de Nombres de Dominio (DNS ). El RFC 5782 [ 8 ] estandariza el uso de direcciones IP que comienzan con 127, como 127.0.0.2, para este fin. Normalmente, los servidores de correo realizan diversas consultas de este tipo, ya sea según la configuración local o siguiendo directivas externas, como el mecanismo EXISTS del SPF . Es fundamental para el correcto funcionamiento que los servidores de correo no utilicen servidores DNS que realicen este tipo de filtrado.
Basado en la web
- Los navegadores web pueden resistir la reasignación de DNS:
- Los navegadores web pueden implementar el anclaje DNS: [ 9 ] la dirección IP se fija al valor recibido en la primera respuesta DNS. Esta técnica puede bloquear algunos usos legítimos de DNS dinámico y puede no ser efectiva contra todos los ataques. Sin embargo, es importante implementar medidas de seguridad (detener la renderización) si la dirección IP cambia, ya que usar 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 cortafuegos integrada en el navegador que, en su configuración predeterminada, evita ataques a la red local impidiendo que las páginas web externas accedan a las direcciones IP locales.
- Los servidores web pueden rechazar las solicitudes HTTP con un encabezado Host no reconocido .
Véase también
Referencias
- ↑ "Protección de navegadores contra ataques de reenlace DNS" (PDF) . crypto.stanford.edu . Noviembre de 2007. Consultado el 10 de diciembre de 2018 .
- ↑ "Protección de navegadores contra ataques de reconfiguración de DNS" (PDF) . www.adambarth.com . Enero de 2009. Consultado el 10 de diciembre de 2018 .
- ↑ "DNS REBINDING" (PDF) . www.ptsecurity.com . 2012. Consultado el 10 de diciembre de 2018 .
- ↑ "Protegiendo su enrutador contra posibles ataques de reconfiguración de DNS - Blog de inteligencia de seguridad de TrendLabs" . blog.trendmicro.com . 4 de agosto de 2010. Consultado el 10 de diciembre de 2018 .
- ↑ Ulevitch, David (14 de abril de 2008). "Finalmente, una solución real a los ataques de reasignación de DNS" . Cisco . Archivado del original el 14 de agosto de 2017. Recuperado el 15 de julio de 2017 .
- ↑ google-dnswall en GitHub
- ↑ "Servicios — DNS — Protecciones de reasignación de DNS | Documentación de pfSense" . www.netgate.com . Consultado el 10 de diciembre de 2018 .
- ↑ J. Levine (febrero de 2010). Listas negras y blancas de DNS . Grupo de trabajo de investigación de Internet . doi : 10.17487/RFC5782 . ISSN 2070-1721 . RFC 5782 . Informativo.
- ↑ "FireDrill: Reconfiguración interactiva de DNS" (PDF) . www.usenix.org . Consultado el 10 de diciembre de 2018 .
Enlaces externos
- Protección de navegadores contra ataques de redireccionamiento DNS (2007)
- Actualización de seguridad DNS para Adobe Flash Player (2008)
- Alerta de seguridad Sun 200041 para la JVM de Sun (04/09/2008)
- Reconfiguración de DNS con Robert RSnake Hansen (2009)
- Sistema de nombres de dominio
- Seguridad en Internet
- vulnerabilidades de seguridad web