ACTUALIZADO A DÍA 01/02/2021
Como ya se ha indicado anteriormente en este blog, TOR es un servicio orientado al establecimiento de comunicaciones anónimas utilizando una serie de nodos conectados de forma segura que son también conocidos como «circuito virtual». Tales nodos se encargan de cifrar los paquetes que viajan por medio de ellos, de esta forma se enmascara el origen de la petición cuando es entregada a su destino, sin embargo, todas las peticiones son soportadas únicamente bajo el protocolo TCP, por este motivo cuando se realizan peticiones con un protocolo diferente como UDP o ICMP, dichas peticiones no pasan por medio del circuito virtual y en lugar de ello se establece una conexión directa entre el cliente y el destino, dejando una potencial “fuga” de la identidad del cliente, esta es una de las consideraciones que se debe tener en cuenta a la hora de utilizar TOR sin embargo no es la única. A lo largo de esta serie de entradas se intentará ir profundizando poco a poco sobre estos temas.
A continuación se indican los tópicos más relevantes en el uso TOR y herramientas relacionadas.
Instalación de TOR
Se puede llevar a cabo utilizando el comando apt install tor en sistemas basados en Debian, sin embargo es conveniente tener la última versión estable en lugar de las versiones contenidas en la mayoría de repositorios de fuentes relacionados, para esto es necesario descargar el código fuente desde aquí: https://www.torproject.org/download/tor/ (TOR se encuentra escrito en lenguaje C, lo que permite utilizar herramientas de compilación y construcción tales como gcc)
Posteriormente es necesario tener instaladas las librerías dependientes de TOR que en concreto son: libevent-dev y libssl-dev finalmente ejecutar los comandos de construcción de programas escritos en C:
Con lo anterior se tiene TOR contruido. El binario «tor» se encontrará en el directorio «<TOR_DIR>/src/app» y se puede ejecutar directamente desde la terminal. Ahora se pueden utilizar herramientas y técnicas que permitan preservar el anonimato y extender su uso, como por ejemplo, utilizando TOR junto con otras aplicaciones, lo que es conocido como “Torsocks”. A parte de esto, el comando TOR tiene una serie de opciones que le permiten personalizar su comportamiento y distintos mecanismos de conexión. El listado de opciones y su significado se encuentran en: https://www.torproject.org/docs/tor-manual.html.en
Instalación de TorBrowser
Una de las alternativas más populares a la hora de instalar y utilizar TOR, es precisamente por medio del navegador web TorBrowser, el cual se encuentra disponible en la página web oficial de TOR. La instalación es muy simple, una vez descargado el paquete se puede descomprimir y ejecutar el binario «start-tor-browser» desde una terminal y a continuación, se levantará una nueva instancia de TOR, se conectará a la red y se abrirá el navegador web.
La instancia de TOR que levanta TorBrowser es perfectamente funcional y configurable, es decir, que se puede editar el fichero de configuración «torrc» para incluir las directivas que se requiera en un momento dado. Concretamente, dicho fichero de configuración se encuentra ubicado en <TORBROWSER_DIR>/Browser/TorBrowser/Data/Tor/torrc
Proxychains
Proxychains es un programa que permite enrutar todas las peticiones TCP realizadas por un cliente utilizando un proxy SOCKS4, SOCKS5 o HTTP. Es útil en entornos donde la salida a Internet es por medio de un proxy o para utilizar dos o mas proxies en cadena, además de lo anterior, otra característica importante, es que brinda la capacidad de ejecutar herramientas o comandos que no tienen soporte a servidores proxy SOCKS para establecer conexiones. Como se ha dicho en una entrada anterior, se puede instalar simplemente utilizando el comando apt-get, sin embargo resulta mucho mejor hacerlo desde el código fuente, se puede obtener desde aquí: http://proxychains.sourceforge.net/ Para instalarlo se sigue el mismo procedimiento que consiste en compilar, construir e instalar.
|
Finalmente, para que este programa funcione correctamente es necesario ubicar el fichero de configuración proxychains.conf en la ruta adecuada, una vez se ejecuta proxychains, éste buscará el fichero en las siguientes rutas en el siguiente orden:
1. ./proxychains.conf
2. $(HOME)/.proxychains/proxychains.conf
3. /etc/proxychains.conf
Se puede ubicar en cualquiera de las anteriores rutas. Este fichero es importante ya que es allí donde se definirá el proxy o la cadena de proxies que utilizará proxychains para establecer una conexión con un host remoto.
Privoxy
Privoxy es un proxy web con capacidades de filtrado y mejora de la privacidad del usuario, permite controlar el acceso a información personal y filtrar muchos ads de internet que pueden representar una amenaza o simplemente basura. El procedimiento de instalación, nuevamente es igual al que se ha indicado anteriormente (desde código fuente). Desde la instalación es posible especificar parámetros que le permitirán ejecutarse de un modo más seguro.
En primer lugar, se recomienda NO ejecutar este comando como root, de hecho, no se recomienda en lo absoluto ejecutar ninguno de los comandos anteriores como root, se recomienda la creación de un usuario y un grupo para este fin.
Una vez hecha esta aclaración, para instalar privoxy de forma segura se siguen los siguientes pasos:
|
Con los comandos anteriores quedará instalado Privoxy y ahora se puede utilizar con TOR y Proxychains. Privoxy puede ser configurado por medio de las opciones incluidas en el fichero de configuración de Privoxy ubicado en /etc/privoxy/config desde allí se indican todas las opciones de configuración del proxy, incluyendo el puerto utilizado para recibir peticiones. Si se ha instalado como servicio, es necesario ejecutar /etc/init.d/privoxy start (de este modo leerá el fichero de configuración en el directorio /etc/privoxy) si se ejecuta desde cualquier otro directorio es necesario tener el fichero de configuración ubicado en dicho directorio.
Finalmente, para utilizar proxychains junto con Privoxy y Tor es necesario establecer las propiedades de configuración correspondientes, en primer lugar, es necesario indicar a Privoxy que las peticiones entrantes deben de ser enviadas directamente al servicio de TOR (que por defecto se inicia en el puerto 9050) para esto se edita el fichero “/etc/privoxy/config” incluyendo la linea:
forward-socks5 / 127.0.0.1:9050 .
con esto, las peticiones que se envían al puerto 8118 (puerto por defecto de Privoxy son redireccionadas al puerto 9050 en la maquina local, donde se encuentra en ejecución el servicio de TOR. Finalmente es necesario configurar Proxychains para que todos los comandos introducidos desde consola utilizando el comando «proxychains» sean enviados directamente a Privoxy, el cual a su vez, enviará la petición a TOR. Para esto es necesario editar el fichero de configuración de proxychains que como ya se ha indicado anteriormente, se puede ubicar en /etc/proxychains.conf se debe incluir la siguiente linea:
socks5 127.0.0.1 8118
Con todos los pasos anteriores se tiene una plataforma base para navegar y realizar operaciones de forma anónima, ahora el usuario puede estar un poco más seguro de que su identidad no se registrará en un sistema remoto, pero, realmente cuenta con dicha seguridad? Realmente su identidad es anónima en los sitios que visita? Lo mas probable es que la respuesta sea NO, ya que es necesario tener consideraciones adicionales para evitar determinadas fugas de información. En las próximas entradas se indicarán las medidas y las opciones de configuración que se deben tener en cuenta para evitar estos problemas.
Un saludo y Happy Hack!
Adastra.
Excelente trabajo. Gracias.
Me gustaMe gusta
Muy buen trabajo! Si me permites el comentario, en la parte de instalación de privoxy, yo recomendaría leer atentamente el fichero INSTALL, si no, no sale bien
Me gustaMe gusta
Hola dastra, estoy totalmente deacuerdo con lo que dices y depronto esta inquietud le pueda ser de utilidad a otros users:
Estaba tratando de conseguir el codigo fuente del Tor lo he bajado de este link:
http://webscripts.softpedia.com/script/Networking-Tools/Tor-54065.html
me gustaria saber tu punto de vista al respecto, por el momento lo he descargado compilado e instalado, ahi que tener en cuenta que la conexion hacia la red tor la estoy haciendo desde un pais hasta el cuello de dictaduras, por lo que en windows debo realizar un Bridge para poder utilizar el Tor browser, Ahora en linux al ejecutar este source code me sale lo siguiente:
Jan 26 13:36:48.856 [notice] Tor v0.2.2.35 (git-b04388f9e7546a9f). This is experimental software. Do not rely on it for strong anonymity. (Running on Linux x86_64)
Jan 26 13:36:48.857 [notice] Configuration file «/usr/local/etc/tor/torrc» not present, using reasonable defaults.
Jan 26 13:36:48.858 [notice] Initialized libevent version 1.4.13-stable using method epoll. Good.
Jan 26 13:36:48.858 [notice] Opening Socks listener on 127.0.0.1:9050
Jan 26 13:36:48.933 [notice] Parsing GEOIP file /usr/local/share/tor/geoip.
Jan 26 13:36:49.108 [warn] You are running Tor as root. You don’t need to, and you probably shouldn’t.
Jan 26 13:36:49.171 [notice] OpenSSL OpenSSL 0.9.8k 25 Mar 2009 [9080bf] looks like it’s older than 0.9.8l, but some vendors have backported 0.9.8l’s renegotiation code to earlier versions, and some have backported the code from 0.9.8m or 0.9.8n. I’ll set both SSL3_FLAGS and SSL_OP just to be safe
Jan 26 13:36:49.188 [notice] Bootstrapped 5%: Connecting to directory server.
Jan 26 13:36:49.188 [notice] I learned some more directory information, but not enough to build a circuit: We have no network-status consensus.
Jan 26 13:43:58.144 [warn] Problem bootstrapping. Stuck at 5%: Connecting to directory server. (No route to host; NOROUTE; count 6; recommendation warn)
Jan 26 13:55:08.757 [notice] Bootstrapped 10%: Finishing handshake with directory server.
Jan 26 14:25:38.527 [warn] Problem bootstrapping. Stuck at 10%: Finishing handshake with directory server. (No route to host; NOROUTE; count 10; recommendation warn)
Creo que no se ha podido establecer la conexion con la red Tor porque desde aca deben estar bloqueando la solicitud hacia el nodo por defecto, me imagino que si vuelvo hacer un Bridge no tendria problemas para establecer la conexion, pero la verdad nose como.
Saludos
Me gustaMe gusta
Efectivamente, tu conexión con la red de TOR no ha podido ser establecida, muy probablemente el error está en que los bridges que estas usando ya no están activos y/o se encuentran bloqueados. ¿Has intentado establecer un relay (repetidor) en tu instancia de TOR? para solucionar el problema (independiente de las restricciones que existan en tu país) tienes las siguientes opciones:
1. Crearte un relay en tu instancia de TOR y quitar la opción de UseBridges de tu fichero torrc.
2. Usar un listado actualizado de bridges de TOR (los que te envíen por correo, un día pueden funcionar pero al siguiente no, por lo tanto tienes que estar consultando constantemente cuales son los bridges activos en el momento de usar TOR y actualizarlos en tu fichero de configuración torrc)
Estos pasos se explican en estas publicaciones:
https://thehackerway.com/2011/10/19/preservando-el-anonimato-y-extendiendo-su-uso-%E2%80%93-relay-y-bridges-en-tor-%E2%80%93-parte-v/
https://thehackerway.com/2011/10/21/preservando-el-anonimato-y-extendiendo-su-uso-%E2%80%93-relay-y-bridges-en-tor-%E2%80%93-parte-vi/
https://thehackerway.com/2011/10/24/preservando-el-anonimato-y-extendiendo-su-uso-%E2%80%93-relay-y-bridges-en-tor-%E2%80%93-parte-vii/
Ya nos contaras si tienes problemas con tu configuración, si es así publica tu fichero torrc y le echamos un vistazo.
Un Saludo.
Me gustaMe gusta
Uy man
nose como agradecerte enserio
no te imaginas lo bien que se siente que alguien te heche una mano 🙂 intentare todo lo que me dices y te comento, de ante mano muchas gracias y tambien cuentas con mi apoyo para lo que necesites!
Me gustaMe gusta
De nada hombre, para eso estamos, para ayudarnos entre todos…
Un Saludo.
Me gustaMe gusta
Maldición, estoy totalmente de acuerdo….
Había perdido esa «sed de conocimiento», pero siento como vuelve lentamente…
Se te agradece man.. 😉
Me gustaMe gusta
hola e estado como una semana tratando de intalar tor pero no puedo
tengo backtrack 5 genoma 32 bit r2 y por fin pude que ande vidala pero nose porque no se conecta con firefox ni con chrome e intentado de todo
en chrom sale
514 Authentication required.
y en firefox uso el que biene con backtrack y intale TorButton y puse los puertos y nada me pueden ayudar porfa!!!!
Me gustaMe gusta
Hola Adastra,
No se si empezar a considerar todo esto o si valga la pena, pues se me complica un tanto el asunto cuando veo que al cerrarse ubuntu aparece una pagina, o pantalla, en negro, con mucha informacion y en la misma dice: «SSL tunnel is disable». Si el servidor ha desconectado la opcion de encriptamiento que sentido tiene configurar Tor?.
Esta es la duda que tengo pues yo no he desabilitado nada en mi sistema. Ni siquiera se como se hacen estas cosas. Gracias por vuestra atencion.
Me gustaMe gusta
Has leído solo la primera parte, son 42.
Normalmente se suele utilizar SSH para cifrar el trafico «end-to-end» a nivel de capa de transporte, de este modo se evitan muchos de los ataques que son comunes en TOR.
Sigue leyendo y esforzándote más para encontrar las respuestas a tus preguntas.
Me gustaMe gusta
como descargo libevent-dev y libssl-dev?
Me gustaMe gusta