23 enero 2015

Desanonimizando nodos Tor gracias a SSH

Durante estos últimos tiempos cada vez más operaciones 'Anti Tor' son realizadas por el FBI y otros organismos similares.

Siempre, cuando cae un nodo TOR importante, la paranoia cunde entre los defensores del anonimato y preguntas tales como  ¿Pero TOR no sirve precisamente para que eso NO ocurra? ¿Cómo han podido hacerlo? salen a la palestra.

Vía Marc Rivero, llego a un enlace a Reddit donde exponen una teoría que, por simple y efectiva, es realmente brillante.

El asunto es el siguiente: 
  • Alguien tiene un nodo Tor que tiene una 'pata' en TOR, cuya dirección es intraceable, y otra pata en el 'mundo real' con una IP normal y corriente. 
  • En ambos mundos ejecuta un servidor SSH
  • Un servidor SSH (que emplea algoritmos de clave pública/privada) siempre mantiene las mismas claves, tanto en 'Mundo Tor' como en 'Mundo real'
  • por lo que, si obtienes el 'fingerprint' de su clave en 'Mundo Tor', puedes ir a Shodan y preguntar si conoce ese servidor SSH en el mundo real.
Simplemente brillante, una forma realmente efectiva para correlar Nodo Tor VS Nodo real.

No hay que olvidar que Tor no solo sirve para conectarse a un servicio web, es una práctica bastante común hacer que el puerto del servidor SSH también esté disponible desde Tor para poder acceder de forma anónima.

Y Shodan permite hacer búsquedas del estilo 




20 comments :

jmzc dijo...

Digo yo que si alguien tiene un nodo con "una pata en el 'mundo real' con una IP normal", y quiere que sea usada para hacer anónimo el tráfico , habrá publicado en algun sitio "eh, usad esta IP para ocultar vuestra identidad". Y por tanto, sería reconocible por alguien de FBI

Alejandro Ramos dijo...

Mapeas los nodos, sean o no de salida (no todos los son) con sus IPs reales. Por ejemplo, podrias saber la IP real de un servicio como SilkRoad

David Avila dijo...

No se si no entendí bien, pero esto solo afecta el anonimato de un servicio TOR no? (Ej: Silk Road o las paginas de CP) pero no revelas a un cliente que use una cuenta genérica para la conexión, que según el escenario, podria ser muy grave este escenario que el de revelar un servicio TOR

random dijo...

Eso en el supuesto caso de que SilkRoad tuviera "un pie en Internet", pero no era el caso. Los únicos que hacen la función de relay con un pie en cada red son los proxis, nada más.
O al menos así lo entiendo.
Esto sería en el supuesto caso de que alguien ofreciese un servidor por los 2 sitios, por lo tanto ¿para qué meterlo en un .onion?
Me hago un lío. O no lo estoy pillando o hablamos de que, por ejemplo, silkroad tuviese su lOqUeSesuP0n3QuEFueRa.onion y, además, silkroad.org (Por ejemplo).

Román Ramírez dijo...

Afecta a todo el que tenga el SSH escuchando en 0.0.0.0, seas un exit node, un hidden service o lo que sea. Dependiendo de tu implicación en la red, tendrás unas u otras consecuencias por montar un nodo fácilmente detectable.

En su momento, nosotros usábamos el fingerprinting de servidores SSH en casos forenses (http://www.chasethesun.es/wp-content/uploads/2012/11/locardv2.pdf, pag4), lanzando una única conexión al servicio de un atacante y guardando la clave "para el futuro"...

Yago Jesus dijo...

siendo 100 % puristas el término correcto debería ser 'servicio oculto' y no nodo tor, ya que puede llevar a confusión con routers y proxys Tor.

random dijo...

Necesaria aclaración, Yago. Me estaba haciendo la picha un lío.
Pero aún así sigo preguntándome si alguien pondría un servidor SSH escuchando tanto a través de Tor como de Internet. Lo lógico sería tener 2 servidores distintos con diferente fingerprint. ¿Me equivoco o lo expuesto en el post es un escenario más común que lo que yo pienso?
Perdón si me pongo pesado, es que estoy un poco extrañado y no lo tengo claro.

Yago Jesus dijo...

Tiene sentido tener una interface dual TOR / mundo real por tema de latencia, tener tu SSH en localhost solo para TOR y que si TOR falla o va lento, no puedas hacer nada ... es arriesgado, si además sabes que puedes tirar desde una IP normal y tener buen ancho de banda, supongo que la tentación es muy grande. No obstante, como dicen en reddit, eso se podría considerar una 'mala configuración' Y que yo sepa, el demonio SSH y sus correspondientes claves públicas / privadas, son las mismas escuche donde escuche (a nivel interface de red)

random dijo...

¿Y no podría ponerse un servidor SSH a la escucha en una interfaz tun0 para Tor y otro en eth0 a la vez?
Al ser interfaces distintas no debería pisarse un puerto con otro, ¿o sí?

Yago Jesus dijo...

Yo creo que deberías ejecutar dos instancias diferentes del demonio, con configuraciones diferentes y por ende, diferentes claves. Entonces sí que serían independientes, pero si es el mismo demonio, salvo que alguien indique que se puede hacer mediante configuración, las claves privada/publica son las mismas aunque cambies o añadas puertos o interfaces

random dijo...

Claro, con 2 instancias diferentes asignadas cada una a una interfaz diferente, a eso me refería.
Entonces entiendo que así sería una configuración correcta y en el ejemplo del que nos hablan en reddit es una de las probablemente cientos de formas de cagarla.
¿Hasta qué punto es seguro montar un servicio en la red Tor?

Yago Jesus dijo...

¡ Uy ! Esa pregunta yo creo que muy poca gente -de verdad- tiene capacidad para responderla. Especificaciones en mano, se supone que es bastante seguro, mas allá de eso ...

juanito dijo...

No es del todo correcto. Si tienes el fingerprint de un servicio oculto y lo consultas en Shodan, es posible que te devuelva una IP si se encuentra en la base de datos de SHodan, pero esa IP no necesariamente tiene que corresponder con alguno de los repetidores que conforman la red de TOR. Un servicio oculto y un repetidor, son dos cosas muy distintas.

JJ dijo...

Interesante

rickygm dijo...

Hola , estoy interesado en el curso completo , pero estoy fuera de españa , podrias enviarme una cotizacion formal

Alejandro Ramos dijo...

Y que parte no es correcta? Creo que hemos dicho lo mismo.

María García dijo...

Gracias

eloelhippie dijo...

buena informacion pero ahora estan saliendo navegadores parecidos a Tor

random dijo...

Tor no es un navegador, es un sistema de enrutado cifrado por capas, como una cebolla. Por eso se llama TOR (The Onion Routing).
Una vez hecha la conexión con la red Tor puedes mandar cualquier navegador (Incluso puedes conectarte por Telnet a través de la red Tor) configurando como proxy el puerto en el que tienes el túnel Tor.
Es un mundo increíble.

eloelhippie dijo...

muy buena informacion aprendemos mucho de ti