jueves, julio 01, 2010

FOCA DNS Cache Snooper

Entre las sugerencias que nos han pasado para la FOCA, ha habido una que nos ha pasado un compañero del Master de Seguridad de la UEM, que nos ha parecido muy interesante y estamos implementándola ya [Gracias Rafa!].

La idea es añadir a la FOCA un módulo de DNS Cache Snooping, es decir, un módulo que permita, con la FOCA saber a dónde navegan los usuarios del DNS de una determinada organización mediante un análisis de las resoluciones de nombres almacenadas en la caché del servidor DNS.

Cada vez que un usuario quiere resolver un nombre de dominio, éste pregunta al servidor DNS que tiene configurado. Si este tiene activada la caché entonces, antes de solicitar la resolución por medio de un sistemas de consultas recursivas, mira primero si tiene una resolución no caducada de ese nombre en su caché. Si lo tiene, entonces sirve esa respuesta. Si no lo tiene, entonces comienza el sistema de resolución DNS recursiva y, una vez resuelto, almacena en la caché el resultado.

Conociendo este funcionamiento, si alguien quiere saber si se ha resuelto un determinado dominio, basta con configurar las consultas al servidor DNS anulando la resolución recursiva. Es decir, consultando sólo la caché del DNS. Si se ha pedido en un tiempo reciente se obtendrá la resolución, mientras que si no se ha solicitado se obtendrá una respuesta negativa de resolución.

Para hacer esta prueba, basta con que te conectes al servidor NS de una organización, selecciones el tipo de query como norecurse y empieces a probar nombres de dominio. En la siguiente imagen se puede ver como los clientes del DNS de Renfe se conectan a facebook pero no a mi blog.


Figura 1: DNS Caché Snooping en Renfe con nslookup

Lógicamente, si tienes una buena lista de URLs que probar, podrías saber si tienen Windows porque se conectan a update.microsoft.com o si tienen Flash, PDF, por la URL de las actualizaciones de de adobe, o a que redes sociales, bancos, o webs se conectan los usuarios de la red para prepara un ataque MITM o de Spam, o, como no, del famoso Evilgrade de Francisco Amato [también estará en la Defcon 18].

Hay que tener en cuenta que la información que se obtienen depende de la caducidad o no de la información. Si la caché del DNS almacena los datos durante 2 minutos, entonces habría que tener suerte con que se hubiera solicitado en los últimos 2 minutos… o bien escanear de continuo el DNS durante un largo periodo de tiempo para conocer los hábitos de resolución.

FOCA tendrá un modulo de DNS Caché Snooping que permitirá conocer más sobre una organización a la que se esté haciendo el fingerprinting. Estas son algunas de las pruebas.

GuardiaCivil.org

Consultando el DNS con un fichero de unas 30 URLs se puede ver como los usuarios se conectan a tuenti, a algunos bancos y que tienen las actualizaciones de Microsoft activas.


Figura 2: FOCA & Guardiacivil.org

Renfe

Alguien está buscando “amor adulto” en la red social de Adultfriendfinder…


Figura 3: FOCA & RENFE

SUSE/Novell

Como se puede ver, son fan del realmadrid, usan megaupload, Windows, twitter y Facebook.


Figura 4: FOCA & SUSE

Por supuesto, hay que tener en cuenta que esta información es sólo información relativa a consultas realizadas a ese DNS, que pueden ser realizadas por usuarios de fuera de la organización, aunque no es lo habitual. ¿A quién y qué te molaría husmear?

En fin, nosotros seguiremos mejorando la FOCA en lo que podamos, así que gracias por todas las ideas.

Saludos Malignos!

11 comentarios:

  1. Chema: quizá deberías comentar que eso de que alguien pueda consultar mi servidor DNS es una gran cagada de seguridad. ¿No crees?. El servidor DNS que utilizan nuestras máquinas cliente nunca llega a interrogar al servidor que mantiene nuestro dominio público.

    ResponderEliminar
  2. Madre del amor hermoso lo que he aprendido hoy...

    Si una empresa te contrata para ver los hábitos de los empleados no queda ni el que te llamó :o)

    ResponderEliminar
  3. ¡Jujuju!
    Acabo de adivinar esta misma mañana de donde se bajan mis jefes las películas de moda. :P

    ResponderEliminar
  4. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  5. Esta muy interesante el tema aunque pienso que gran parte de esos dominios son "falsos positivos", por ejemplo, el de Adultfriendfinder no garantiza que un usuario haya hecho una petición a esa página sino simplemente que se ha realizado una petición dns a dicho dominio, es decir que la petición o la ha hecho un usuario o, lo más probable, se ha cargado cualquier otra web que tiene publicidad de esa página (que son montones).

    Por ejemplo, si entras al propio hotmail.com te salen banners de publicidad de muchos sitios diferentes por lo tanto se hacen las peticiones dns correspondientes para poder cargar las imagenes. Eso no quiere decir que el usuario hay entrado en dicha web.

    Aun así es interesante.
    Gracias Chema!

    ResponderEliminar
  6. Me parece muy interesante esta nueva utilidad en la FOCA, enhorabuena por el trabajo que estais realizando!! ;)

    ResponderEliminar
  7. Buenas!

    Muy interesante. Pero.. está ya disponible la FOCA 2.0.6? Yo solo logro bajar la 2.0.3 de http://www.informatica64.com/DownloadFOCA/

    Gracias!

    ResponderEliminar
  8. @anónimo, de momento es private...

    ResponderEliminar
  9. No quiero parecer mufa ni nada, pero creo que esta funcionalidad solo funciona en los dns que te permitan realizar consultas através de ellos.
    Comúnmente, o por lómenos de los isp con los que me a tocado trabajar no me permitía utilizar sus dns desde una Net que no fuera la de ellos.

    = mente no deja de ser una curiosidad interesante

    Saludos

    ResponderEliminar
  10. Hola amigo, acabo de instalar la foca en ubuntu, y todo parece funcionar bien, hasta el momento en el que intento hacer el snooping, ese botón me aparece bloqueado, me puedes decir porqué? muchas gracias.

    ResponderEliminar
  11. @lobsang, para que se habilite el botón tienes que poner un dominio, hacer clic en obtain dns servers (y posteriormente seleccionar uno) y cargar un fichero de diccionario pulsando en el botón 'load file'. El archivo que carges deberá contener un nombre de dominio por cada linea. Estos dominios serán los que se probarán contra el servidor DNS para verificar si tiene los registros cacheados

    Saludos

    /Ts~

    ResponderEliminar