sábado, octubre 15, 2011

Protección contra DNS Hijacking en redes TOR

Digamos que, por motivos que aún no os puedo contar, hace un tiempo que en Informática64 estamos jugueteando con la red TOR, para mirar cómo de susceptible es a los ataques Man In the Middle, para terminar un trabajo que queremos presentar en alguna conferencia de seguridad.

Entre esos ataques que preparamos, hubo uno en el que nos cazaron con un truco muy sencillo, que a la postre no resulto difícil de saltar, pero que os vamos a relatar aquí, ya que le pasó a nuestro compañero Manu en el SOCtano. Para ello, vamos a resumir brevemente primero cuál es la idea del ataque en una red TOR.

Un breve resumen del funcionamiento de la red TOR

La red TOR es un sistema de enrutamiento que permite a los usuarios que hacen uso de ella para establecer conexiones anónimas que impidan el rastreo de la dirección IP de origen, canalizando su tráfico de red a través de distintos nodos o repetidores repartidos por todo el mundo. En el siguiente gráfico se el proceso de comunicación que realiza Alice a través de TOR para comunicarse con Jane.

Figura 1: Esquema de funcionamiento de red TOR

Como se ve, inicialmente Alice establece una conexión cifrada, en color verde, con uno de los nodos TOR disponibles. Este nodo se comunicará con otros nodos aleatorios para hacer más difícil el traceo de la conexión, también utilizando conexiones cifradas. Sin embargo, el último de los nodos TOR debe realizar una conexión no cifrada con Jane, ya que no está dentro de la red. A primera vista, éste parece un eslabón débil dentro de la cadena de comunicación de esta red.

Por todos es sabido que la red TOR es buena para el anonimato, pero mala para la privacidad de las conexiones, pero... sin embargo para nuestro proyecto de ataque nos viene que ni pintando aprovechar esta vulnerabilidad para hacer alguna cosa curiosa.

El ataque y la detección del DNS Hijacking

Sabido esto, en el SOCtano, nuestro amigo Manu "The Sur" se montó un servidor proxy en modo transparente, un nodo TOR, y un servidor DNS para resolver las peticiones que por allí pasaran a nuestro gusto. Ese servidor DNS se encargaba de realizar la resolución de nombres de dominio de las peticiones que el nodo realizaba, y el servidor proxy se encargaba de almacenar todo del tráfico que pasaba a través de él, solo para hacer un estudio de "privacidad" en la red TOR. Para conseguir esto, se configuró el servidor DNS de tal modo que respondiera con la IP del servidor proxy fuera cual fuera el dominio a resolver.

Tras tener todo el entorno con este DNS Hijacking configurado se inició la captura de tráfico a través del Proxy a ver qué caía por allí... pero nos cazaron. ¿Cómo? Pues porque la red TOR ya pensó en este tipo de ataques, y se realizan distintas comprobaciones para detectar estos ataques de DNS Hijacking, como se ve en la captura de pantalla del log.

Figura 2: Log que detecta los mensajes de error en las resoluciones DNS trucadas

Para ello, pasan un test de resolución de DNS buscando que no haya irregularidades, es decir, que no se respondan a dominios inexistentes, ni haya cambios de direcciones a nombres de dominios conocidos.  En este caso los dominios du.invalid o www.yahoo.com, están dentro del test para ver si los dominios invalid tienen respuesta cuando no deberían o si la dirección de www.yahoo.com es una de las que ellos comprueban en paralelo. Bien por ellos.

Por supuesto, esta protección no evita ni mucho menos los ataques de man in the middle, y seguro que a muchos de vosotros se os ocurren formas de saltarse esta protección. Nosotros, después de montar el resto de los ataques os seguimos recomendando la red TOR para ocultar la dirección IP de origen (siempre y cuando no tengas la mala suerte de conectarte en primera instancia a un nodo rogue TOR) pero mucho cuidado con la privacidad y los datos que por allí envías... o recibes.

Saludos Malignos!

8 comentarios:

  1. Y q recomiendas para anonimato y confidencialidad?

    ResponderEliminar
  2. Eres increíble... Encuanto al comentario anterior, no existe el anonimato total, solo formas de dificultar el rastreo

    Un saludo, un placer visitar tu blog... y tus tiras cómicas

    ResponderEliminar
  3. Anónimo 1. Usa TLS y TOR, aunque ten cuidado con el TLS, puede ser no tan seguro (Ekoparty...).

    Y ten cuidado con TOR (cookies, plugings, javascripts) puede no ser tan anónimo.

    Vamos, que te vayas a un centro comercial y le des candela desde allí, pero ten cuidado con las cámaras ;)

    ResponderEliminar
  4. Y algo tipo airvpn??

    ResponderEliminar
  5. Quieres ser anónimo? sumérgete en la multitud y que ésta te asimile.
    Sé uo del montón o por el contrario, y esto es lo mejor, muestra siempre tus credenciales y no tengas miedo. http://hacksperger.wordpress.com/

    ResponderEliminar
  6. Buenas.
    Gracias por el post.
    Una duda: ¿el sistema I2P tendría el mismo problema que TOR en cuanto a privacidad y ataques MiTM?

    ResponderEliminar
  7. Perdon la ignorancia, ¿Qué es un rogue TOR?

    ResponderEliminar
  8. Creo que se refiere a que alguien podría haber montado un servidor TOR fraudulento y manipular su funcionamiento para vulnerar la privacidad de las peticiones que pasen por dicho nodo.

    ResponderEliminar