Hoy vamos a ver un sistema que nos permitirá dar un enfoque diferente al tratamiento de incidentes de seguridad. Este sistema se llama replicación pasiva de DNS (Passive DNS Replication, en inglés).
Origen
Esta técnica fue desarrollada en el año 2004 por Florian Weimer, y consiste en hacer una reconstrucción parcial de la información disponible globalmente como parte del servicio DNS en una base de datos, para su posterior indexación y consulta.
Utilidad
Las bases de datos construidas a partir de este paradigma pueden servir para distintos propósitos, ya que el malware basa una parte importante de su funcionamiento en el protocolo DNS, por ejemplo para modificar rápidamente la dirección IP del servidor de control de una botnet que utilice una red de tipo Fast Flux.
La replicación de DNS pasiva nace para resolver algunas preguntas cuya respuesta sería muy difícil o imposible obtener utilizando el protocolo DNS estándar, como por ejemplo:
- ¿Dónde apuntaba este dominio en el pasado?
Nos puede servir para saber si un dominio ha cambiado de lugar su web. Utilizado por malhechores, el cambio de lugar nos puede llevar a páginas de publicidad, phishing, descargas de malware, etcétera.
- ¿Qué nombres resuelve un determinado servidor de nombres?
Si tenemos indicios de que un servidor de nombres ha sido comprometido, podemos buscar signos de compromiso en los dominios que resuelve el servidor.
- ¿Qué dominios apuntan a una sola dirección IP?
Podemos encontrar servidores de alojamiento compartido. Si uno de los dominios alojados ha sido comprometido, es posible que el resto de los alojados en el mismo servidor se hayan visto comprometidos.
- ¿Qué subdominios tiene un dominio dado?
Nos proporciona una funcionalidad parecida a la antigua transferencia de zona de DNS, cuyo uso se desaconseja debido a los problemas de seguridad que puede provocar.
Como acabamos de ver, las posibilidades son muchas.
Privacidad
Para aquellos preocupados por la privacidad de los datos registrados en estas bases de datos, las herramientas actuales utilizan sólo la información justa para poder construir una réplica del árbol DNS sin obtener, por ejemplo, la IP del usuario que realizó la consulta, dejando con ello una base de datos completamente anónima que contiene los siguientes campos:
- Pregunta.
- Respuesta.
- Clase de la respuesta.
- Primera aparición.
- Última aparición.
Si os pica la curiosidad podéis juguetear con esta base de datos de consulta pública. Por otro lado, en el ámbito empresarial existe una alternativa colaborativa del grupo de seguridad (SIE) del Internet Systems Consortium (ISC), en la que se participa enviando los registros de peticiones de los DNS locales y se gana acceso a una base de datos con información de registros DNS de todas las empresas colaboradoras. Podéis encontrar más información de esta alternativa en la página oficial de la DNSDB, y en esta entrada del blog, donde además se dan ejemplos útiles de uso.
En próximos artículos veremos cómo montar nuestro propio sistema de replicación pasiva de DNS en local, para así no depender de terceros para tener este servicio.
Os recomiendo pdnstool.rb —> http://code.google.com/p/passive-dns-query-tool/
Usa las BBDD de DNSParse, ISC, BFK y CERTEE
Hola Borja,
Muchas gracias por la herramienta, no la conocía y tiene muy buena pinta, con posibilidad de crear gráficos y todo !!
De momento lo hemos planteado de forma interna, pero nunca está de más tener otras fuentes de información.
Saludos,
Jose.
No sé si alguien llegará a ver este comentario pero … viendo el artículo publicado el día 11 de Febrero de 2013 sobre Darknets, he recordado esta ¿serie? de artículos sobre replicación pasiva dns.
¿ Vaís a publicar más información sobre la replicación pasiva de DNS ? Estoy muy interesado en este tema pues quisiera desplegar algo parecido en la organización en la que trabajo y si la información proviene de compatriotas expertos, mejor :-P
Gran trabajo, gracias.
Hola Javi,
Tengo pendiente escribir más información sobre replicación pasiva de DNS, pero por carga de trabajo y asuntos personales no he podido dedicarle todo el tiempo que desearía.
Prometo continuar la serie en mi próximo post.
En cualquier caso, si necesitas ayuda o más información sobre este tema, puedo ponerme en contacto contigo. Solo tienes que decirlo ;)
Saludos y gracias por el interés mostrado en nuestro trabajo.